gbuehler / 2

0 stars 0 forks source link

Inconsistency between ISO 19109 and UML #28

Open gbuehler opened 3 years ago

gbuehler commented 3 years ago

Justification: /req/uml/inheritance is inconsistent with UML.

That said, UML 2.4.1 (the normative reference), is internally inconsistent, too. In 7.3.21 the default for isDisjoint (the equivalent to uniqueInstance from the GFM, which has a default of "true") is "false", which is in conflict with the 19109 requirement. At the same time, UML 2.4.1 also states that the constraint "{incomplete, disjoint}" would be the default, which would be consistent with /req/uml/inheritance.

OMG has resolved the internal inconsistency by changing the default in UML 2.5.1 to "{incomplete, overlapping}", which is now consistent with the default for isDisjoint in UML 2.4.1/2.5.1, so the use of {disjoint} as the default in UML 2.4.1 is a bug. Proposal: /req/uml/inheritance could be updated to bring it inline with UML.

The issue, however, is much broader. The intended semantics for most generalization sets in most application schemas in UML and probably also many of the models in the Harmonized Model is probably "{disjoint}", so this would require a broader discussion and potentially some outreach activities, too.

Alternatively TC 211 could update 19103 to state that it uses UML tools for modelling, but that is uses not UML, but a variation of UML, ie., a different meta model (which it already does, <> and <> already break the UML meta model).