connection-usage-types
Available in: SysML
This checks that connection usages are only typed by connection definitions, or KerML associations.
Subsumes occurrence-usage-types.
Specification
While not formally described in chapter 8, it is given in chapter 7.13.2:
A connection usage must only be defined by connection definitions (of any kind) or KerML association structures (see [KerML, 7.4.5]).
Note that the standard library uses explicit feature typings to KerML associations, hence the implementation also relaxes the constraint to associations from association structures.
Example
part def P;
connection c : P; // error: A connection usage must be defined by connection definitions, or KerML associations
Fix this by removing specializations that directly or indirectly contribute to invalid types:
part def P;
connection c; // ok
or specialize valid types:
connection def P;
connection c : P; // ok