feature-owned-cross-subsetting
Available in: KerML, SysML
This checks that features have at most one cross subsetting.
Specification
The
owned_cross_subsettingof aFeatureis theowned_subsettingthat is aCrossSubsetting, if any
Example
attribute def A;
attribute def B {
end attribute b : A { c : A; }
end attribute c : A => b.c => b.c; // error
}
Instead, remove extra cross subsettings:
attribute def A;
attribute def B {
end attribute b : A { c : A; }
end attribute c : A => b.c; // ok
}