Source: oose Innovative Informatik eG ( Axel Scheithauer)
The specification says:
An instance of a Classifier is also an (indirect) instance of each of its generalizations.
This means that the run-time extension of a general Classifier includes the extension of the specific Classifier: All instances of Rectangle are also instances of Polygon.
Now it says about Enumeration:
An EnumerationLiteral defines an element of the run-time extension of an Enumeration.
Taken together this means that all EnumerationLiterals of a specific Enumeration (its run-time extension) must also be contained in the set of Literals of the general Enumeration.
Finally it says about Enumeration specialization:
An Enumeration that specializes another may define new EnumerationLiterals that are not defined in the generalizing Enumeration.
This is a contradiction. The extension of a specific Classifier must always be smaller than that of the general Classifier.
I agree that this makes the specialization of Enumerations unusable for a lot of purposes. However I don't see how this could get changed.
Reported: UML 2.5 — Tue, 8 May 2018 14:07 GMT
Updated: Wed, 13 Mar 2019 06:40 GMT