redefinition-end-conformance
Available in: KerML, SysML
This checks that end features are only redefined by other end features.
Specification
If the
redefined_featureof aRedefinitionhasis_end = true, then theredefining_featuremust haveis_end = true.
Example
part def A {
end attribute a;
}
part def B :> A {
attribute a :>> a; // ok
}
Instead, mark the redefining feature as end:
part def A {
end attribute a;
}
part def B :> A {
end attribute a :>> a; // ok
}
Or let the redefining feature implicitly redefine the inherited end feature:
part def A {
end attribute a;
}
part def B :> A {
end attribute a; // ok, implicitly redefines A::a
}