merge-node-outgoing-successions
Available in: SysML
This checks that merge nodes are succeeded at most once because merge nodes should serve as a synchronization point for the first completion of multiple actions or states.
Specification
A
MergeNodemay have at most one outgoingSuccession.
Example
action {
action a;
action b;
first [0..1] a then M;
first [0..1] b then M;
merge M; // error: A merge node may have at most one outgoing succession
then a;
then b;
}
User probably intended to succeed with another action before continuing to more actions:
action {
action a;
action b;
first [0..1] a then M;
first [0..1] b then M;
merge M; // ok
then action c;
then a;
then b;
}