feature-end-multiplicity

Available in: KerML, SysML

This checks that end features have multiplicity of 1..1.

Specification

If a Feature has is_end = true, then it must have multiplicity 1..1.

Example

attribute def B {
    end attribute a;
    end attribute c [0..1]; // error
}

Fix this by either removing the multiplicity:

attribute def B {
    end attribute a;
    end attribute c; // ok
}

Using [1..1] multiplicity explicitly:

attribute def B {
    end attribute a;
    end attribute c [1]; // ok
}

Or moving multiplicity to the owned cross feature if that was the intent:

attribute def B {
    end attribute a;
    end [0..1] attribute c; // ok
}