subsetting-featuring-types
Available in: KerML, SysML
This checks that subsetted features are accessible from the subsetting features, e.g. through inheritance.
Specification
The
subsetted_featuremust be accessible by thesubsetting_feature.
Example
This can be triggered by subsetting nested features from inherited members:
part def A { part b { attribute c; } }
part def B :> A {
attribute c :> b::c; // error
}
Instead, use feature chaining if accessing the subsetted feature from another accessible feature:
part def A { part b { attribute c; } }
part def B :> A {
attribute c :> b.c; // ok
}