attribute-definition-features
Available in: SysML
This checks that all attribute definition features are referential (non-composite).
Note that Syside auomatically marks usages owned by an attribute definition as non-composite, so owned features can never trigger this diagnostic. It may still be triggered by inherited features.
Specification
All
featuresof anAttributeDefinitionmust be non-composite.
Example
attribute def A {
part p; // ok: implicitly referential in Syside
}
metadata def M;
#M def D { part p; }
attribute def B :> D; // error: Features inherited by an attribute definition must be referential
Add ref to inherited composite features:
metadata def M;
#M def D { ref part p; }
attribute def B :> D; // ok
Or remove specializations to types with composite features:
attribute def B; // ok