metadata-feature-annotated-element
Available in: KerML, SysML
This checks that metadata is applied only to elements matching its
annotatedElement constraints.
Specification
The
annotated_elementsof aMetadataFeaturemust have an abstract syntax metaclass consistent with theannotatedElementdeclarations for theMetadataFeature.
Example
metadata def M :> Metaobjects::Metaobject {
:> annotatedElement: KerML::Function;
}
#M part def P; // error
Fix this by applying metadata to valid elements:
metadata def M :> Metaobjects::Metaobject {
:> annotatedElement: KerML::Function;
}
#M calc def P; // ok
Or change the metadata constraint:
metadata def M :> Metaobjects::Metaobject {
:> annotatedElement: SysML::PartDefinition;
}
#M part def P; // ok
Or add an additional constraints:
metadata def M :> Metaobjects::Metaobject {
:> annotatedElement: KerML::Function;
:> annotatedElement: SysML::PartDefinition;
}
#M part def P; // ok