-
Key: SYSML2_-89
-
Status: closed
-
Source: Model Driven Solutions ( Mr. Ed Seidewitz)
-
Summary:
In 7.17.3 Transition Usages, in the fourth text paragraph, it states:
Transition usages from the entry action are not allowed to have accepters.
There is no validation constraint for this in the abstract syntax.
Is this constraint necessary? If so, a validation constraint should be added. If not, the statement in 7.17.3 should be removed.
-
Reported: SysML 2.0a1 — Sat, 29 Apr 2023 19:29 GMT
-
Disposition: Resolved — SysML 2.0b4
-
Disposition Summary:
Correct description of transitions
The statement quoted in the issue is correct, but the current restriction is actually stronger. The semantic constraint TransitionUsageStateSpecialization requires that a composite TransitionUsage owned in a state model specialize StateTransitionAction (as also stated in the first paragraph of 7.17.3). However, StateTransitionAction requires that transitionLinkSource (the source of the transition) be a StateAction. This means that it is not currently valid to have an entry or exit action as a source of a transition in a state model (though it can be a target), despite the statement to the contrary in the first sentence of the second paragraph of 7.17.3.
It is, of course, possible to have a succession with the entry action as its source. However, a "conditional succession" is currently not allowed, because that maps to a TransitionUsage specializing DecisionTransitionAction rather than StateTransitionAction, and there is no currently provision for this when the TransitionUsage is owned in a state model. Nevertheless, it would be useful to allow conditional successions from entry actions, but, even in this case, it would not be allowed to have an accepter, because these are not allowed for DecisionTransitionActions.
This resolution therefore does the following:
- Revises language description subclauses 7.17.2 State Definitions and Usages and 7.17.3 Transition Usages to clearly describe the use of successions and conditional successions outgoing from an entry action.
- Revises the semantic constraints checkTransitionUsageActionSpecialization and checkTransitionUsageStateSpecialization to allow a TransitionUsage owned in a state model to be a DecisionTransitionAction if the source of the TransitionUsage is not a StateUsage. Note that this means that, within a state model, the transition notation can also be used for what are effectively successions and conditional successions outgoing from ActionUsages that are not StateUsages.
- At the end of 7.17.3, adds a description and example of the use of a transition to done or a terminate action (per the approved resolution to
SYSML2_-44. - Adds the validation constraint validateTransitionUsageTriggerActions, which specifically disallows a TransitionUsage that does not have a StateUsage as its source from having TriggerActions.
This resolution also resolves the following issues related to the description of TransitionUsages:
SYSML2_-246Ordering of guards and accepts in transitions is inconsistentSYSML2_-411Accept after guard causes errors in IDE
-
Updated: Sat, 19 Jul 2025 19:25 GMT
SYSML2_ — Accepters on transition usages from entry actions
- Key: SYSML2_-89
- OMG Task Force: Systems Modeling Language (SysML) 2.0 FTF 2