decision-node-outgoing-successions
Available in: SysML
This checks that decisions are only succeeded with a multiplicity of [0..1] if it is
explicit.
Subsumes control-node-incoming-successions when the target is a control node as both
constraints prescribe conflicting multiplicities.
Specification
All outgoing
Successionsfrom aDecisionNodemust have a targetmultiplicityof0..1.
action {
action a;
action b;
first start;
then decide;
if true then [1..1] a; // error: Outgoing succession from a decision node must have a target multiplicity of `[0..1]`, instead has `[1]`
else [1..1] b; // error: Outgoing succession from a decision node must have a target multiplicity of `[0..1]`, instead has `[1]`
}
Leave implicit multiplicities as-is, or use [0..1] explicitly.
action {
action a;
action b;
first start;
then decide;
if true then a; // ok
else [0..1] b; // ok
}