state-definition-parallel-subactions

Available in: SysML

This checks that parallel state definitions have no owned transitions or successions.

Specification

If a StateDefinition is parallel, then its owned_actions (which includes its owned_states) must not have any incoming_transitions or outgoing_transitions.

Example

state def S parallel {
  action a;
  then action b; // error
}

Instead, remove any transitions or successions from parallel states since all actions will be executed concurrently:

state def S parallel {
  action a;
  action b; // ok
}