attribute-usage-features

Available in: SysML

This checks that all attribute usage features are referential (non-composite).

Note that Syside auomatically marks usages owned by an attribute usage as non-composite, so owned features can never trigger this diagnostic. It may still be triggered by inherited features.

Specification

All features of an AttributeUsage must be non-composite.

Example

attribute a {
    part p; // ok: implicitly referential in Syside
}

metadata def M;
#M d { part p; }

attribute b :> d; // error: Features inherited by an attribute usage must be referential

Add ref to inherited composite features:

metadata def M;
#M d { ref part p; }

attribute b :> d; // ok

Or remove specializations to types with composite features:

attribute b; // ok

All validation rules