control-node-incoming-successions

Available in: SysML

This checks that succession target ends to control nodes have a multiplicity of [1..1] if it is explicit.

Note that this overlaps with decision-node-outgoing-successions when decisions are succeeded by other control nodes, as both prescribe conflicting target multiplicities. In those cases, this rule is disabled.

Specification

All incoming Successions to a ControlNode must have a target multiplicity of 1..1.

Example

action {
    action a;
    action b;

    first start;
    then [0..1] fork; // error: Incoming succession to a control node must have a target multiplicity of `[1..1]`, instead has `[0..1]`
        then a;
        then b;
}

Leave default multiplicities as-is:

action {
    action a;
    action b;

    first start;
    then fork; // ok
        then a;
        then b;
}

All validation rules