usage-variation-specialization

Available in: SysML

This checks that variation usages do not specialize other variations.

Specification

A variation Usage may not specialize any variation Definition or Usage.

Example

variation part def P;
variation part d : P; // error: A `variation` must not specialize another `variation`

To fix this, do not specialize other variations:

variation part def P;
variation part d; // ok

Or specialize non-variations:

part def P;
variation part d : P; // ok

Due to semantic constraints where variant usages must specialize the owning variation, variants must not be variations themselves:

variation part def P {
    variant variation part p; // error: A `variant` cannot itself be a `variation`
    variant part q; // ok
}

All validation rules