metadata-feature-body
Available in: KerML, SysML
This checks that feature directly or indirectly owned by metadata have no declared names, redefine a single inherited feature, and have no values or model-level evaluable values.
Specification
Each
owned_featureof aMetadataFeaturemust have no declared name, redefine a singleFeature, either have nofeature_valueor afeature_valuewith avalueExpressionthat is model-level evaluable, and only haveowned_featuresthat also meet these restrictions.
Example
metadata def M { attribute a; attribute b;}
// multiple redefinitions
@M {
:>> a :>> b; // error
}
// non-model-level evaluable value
calc def C { 4 }
@M {
:>> a = C(); // error
}
// package-level features
attribute x;
@M {
:>> x; // error
}