cross-subsetting-crossing-feature
Available in: KerML, SysML
This checks that CrossSubsettings are declared on one of two or more end
features.
Specification
The
crossing_featureof aCrossSubsettingmust be anendFeaturethat is owned by aTypewith at least twoendFeatures.
Examples
attribute def A;
attribute a {
attribute b : A { attribute d : A; }
end attribute c : A => b.d; // error
}
Fix this by adding another end feature:
attribute def A;
attribute a {
end attribute b : A { attribute c : A; }
end attribute d : A => b.c; // ok
}