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 Successions from a DecisionNode must have a target multiplicity of 0..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
}

All validation rules