Awkward douible use of UML Generalization feature

Submitted by Josef Kaltwasser on Tuesday, 1 March, 2011 - 15:36
Issue ID
Feature request

The methodology uses the same meta concept from UML (Generalization) for two different semantical features.

a) Generalization inside the core model (level A) or inside an extension (i.e. between two new classes in the extension) means that the new class inherits and extends the state of the superclass, hence realising an "is a" relationship in the data domain. Example: class horse "is a" mamal, i.e. horse has all attributes and components of a horse, plus potentially some extra ones.

b) Generalization from a a level B extension class (i.e. a class with tagged value extension set to '"levelb") to a core model class means that an instance of the new class is added to the superclass' extension point.

Both concepts are clearly defined and justified as important building blocks of the methodology, but it seems awkward that both use the same notation! For an oberserver the huge semantical difference is invisible unless he actively clicks on the subclass and checks the "tagged values" box. Very tricky! Would be better to use different notations, which would also make the compex tagging scheme obsolete or at least easier.

{"changeLogs":[{"date":1528112500754,"statusOLD":"- None -","status":"Fixed","assignedOLD":"","assigned":"Josef Kaltwasser (18)","priorityOLD":"- None -","priority":"Normal","categoryOLD":"- Select a value -","category":"Feature request","componentOLD":"- Select a value -","component":"Methodology"},{"date":1537270238218}]}

Posted by Joerg Freudenstein on February 26, 2025 Permalink

Introduce a new stereotype, with some label on the arrow.

Posted by Josef Kaltwasser on January 26, 2023 Permalink

The DATEX II v3.0 UML profile has a dedicated stereotype for Generalizations that represent a Level B extension.