-
Key: SYSML2-84
-
Status: closed
-
Source: Model Driven Solutions ( Mr. Ed Seidewitz)
-
Summary:
The second line of the following does not parse:
abstract connection c1; abstract connection c2 = c3; // Error: No viable alternative at input '='
The reason for this is that the ConnectionUsage production uses UsageDeclaration (see subclause 8.2.2.13.1):
ConnectionUsage = OccurrenceUsagePrefix ( 'connection' UsageDeclaration ( 'connect' ConnectorPart )? | 'connect' ConnectorPart ) UsageBody
However, UsageDeclaration does not include ValuePart, which provides the syntax for feature values (see 8.2.2.6.2):
Usage = UsageDeclaration UsageCompletion UsageDeclaration : Usage = Identification FeatureSpecializationPart? UsageCompletion : Usage = ValuePart? UsageBody
On the other hand, 7.13.2 states that “A connection definition or usage (that is not of a more specialized kind) is declared as a kind of occurrence definition or usage (see 7.9.2), using the kind keyword connection”, and an occurrence declaration (in the informal sense) can, in general, include a feature value, so it would be expected to be allowable for a connection, too.
Note that this is also a problem for interactions, but not for messages or flow connections, which explicitly allow a ValuePart (see 8.2.2.13.4):
MessageDeclaration : FlowConnectionUsage = UsageDeclaration ValuePart? ( 'of' ownedRelationship += ItemFeatureMember )? ( 'from' ownedRelationship += MessageEventMember 'to' ownedRelationship += MessageEventMember )? | ownedRelationship += MessageEventMember 'to' ownedRelationship += MessageEventMember FlowConnectionDeclaration : FlowConnectionUsage = UsageDeclaration ValuePart? ( 'of' ownedRelationship += FlowPayloadFeatureMember )? ( 'from' ownedRelationship += FlowEndMember 'to' ownedRelationship += FlowEndMember )? | ownedRelationship += FlowEndMember 'to' ownedRelationship += FlowEndMember
-
Reported: SysML 2.0a1 — Thu, 27 Apr 2023 21:30 GMT
-
Disposition: Resolved — SysML 2.0b2
-
Disposition Summary:
Correct textual notation for ConnectionUsage and InteractionUsage
Not including ValuePart in these productions is clearly undesirable. The productions are straightforwardly updated to add it in as it is included in the notation for other kinds of usages.
-
Updated: Tue, 1 Jul 2025 14:47 GMT
SYSML2 — Connection declaration does not allow a feature value
- Key: SYSML2-84
- OMG Task Force: Systems Modeling Language (SysML) 2.0 FTF