-
Key: KERML-124
-
Status: open
-
Source: NIST ( Mr. Conrad Bock)
-
Summary:
Clause 8.4.4.12.1 (Multiplicities, Semantics) says
The validateTypeOwnedMultiplicity constraint requires that a Type have at most one ownedMember that is a Multiplicity. If a Type has such an owned Multiplicity, then it is the typeWithMultiplicity of that Multiplicity. The value of the Multiplicity is then the cardinality of its typeWithMultiplicity and, therefore, the type (co-domain) of the Multiplicity restricts that cardinality.
If a Type does not have an owned Multiplicity, but has ownedSpecializations, then its cardinality is constrained by the Multiplicities for all of the general Types of those ownedSpecializations (i.e., its direct supertypes). In practice, this means that the effective Multiplicity of the Type is the most restrictive Multiplicity of its direct supertypes.
The above implies inherited multiplicities do not constrain cardinality of types that
- own a Multiplicity
- inherit them via unowned specializations
while the (math) semantics for specialization and multiplicity says they do (rule 1 in 8.4.3.2, Types Semantics, and rule 5 in 8.4.3.4, Features Semantics, respectively).
-
Reported: KerML 1.0b1 — Sat, 29 Jul 2023 14:44 GMT
-
Updated: Tue, 9 Apr 2024 23:30 GMT
KERML — Inherited multiplicities, semantics
- Key: KERML-124
- OMG Task Force: Kernel Modeling Language (KerML) 1.0 FTF