Systems-Modeling / SysML-v2-Pilot-Implementation

Proof-of-concept pilot implementation of the SysML v2 textual notation and visualization
GNU Lesser General Public License v3.0
114 stars 23 forks source link

ST6RI-740 Syntax-related issues from SysML v2 FTF Ballot #11 #542

Closed seidewitz closed 4 months ago

seidewitz commented 4 months ago

This PR implements resolutions of issues from SysML FTF Ballot 11 that called for updates to the SysML abstract and concrete syntax.

Resolutions of the following issues are implemented in this PR:

Note: The resolution to SYSML2-637 updated the SysML grammar so that user-defined keywords can be used on enumeration definitions. However, it did not update the grammar to allow such keywords on the enumerated value declarations within enumeration definitions. Nevertheless, the implementation in this PR does allow this, in the expectation that there will be a future FTF issue resolution to allow it formally. (Enumeration usage declarations other than for enumerated values already allowed user-defined keywords.)

himi commented 4 months ago

I do not know the detailed plan but exhibit state does not have a proper effective name. (SysML2_85).
Note that EXPAssociative does not seem to work, and I guess it will be resolved later.

seidewitz commented 4 months ago
  1. SYSML2-85 Since ExhibitStateUsage and IncludeUseCaseUsage specialize PerformActionUsage, they should inherit the behavior of PerformActionUsage::namingFeature. Unfortunately, the Impl classes only singly-inherit from StateUsage and UseCaseUsage, respectively, not PerformActionUsage. So namingFeature needs to be re-implemented for each of them. This has now been done.
  2. SYSML2-637 Unfortunately, adding user-defined keywords to enumerated value declarations was left out of the resolution to this issue. Nevertheless, it has now been implemented for this PR, in expectation of a few issue to update the specification to formally allow it.
  3. KERML-165 Changing the associativity of exponentiation was a KerML issue implemented in PR #540, which is now merged into master. Since the implementation of the expression syntax is common to both KerML and SysML, this change is also already included in the SysML grammar on master.
himi commented 4 months ago

Thank you. I confirmed exhibit state has an effective name as well. Screenshot 2024-02-28 at 9 40 23 AM

Also I confirmed the user defined keyword can be applied to enum value.