SysML v2 is based on the new “Kernel Modeling Language” (KerML).
In KerML, feature typing relates a feature (such as employer
) to its co-domain (such as Organization
).
As a type, a feature semantically corresponds to a binary relation formed as a subset of the Cartesian product of its domain and its co-domain.
In KerML, feature typing is a form of specialization, instead of a plain relationship. This implies that its special type, the feature concerned, specializes its general type, the feature’s co-domain. That is, employer
specializes Organization
, and consequently, any employer
pair, such as (Tom, IBM), is an instance of Organization
, which is strange.
What is the reason for this non-standard construction in KerML’s metamodel?