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

All validation rules