-
Key: UML14-244
-
Legacy Issue Number: 6190
-
Status: closed
-
Source: Simula Research Laboratory ( Dr. Bran Selic)
-
Summary:
UML2 Infrastructure specification says in section 5.9 Packages Diagram, under Package Merge Semantics: "If features from multiple classifiers are somehow conflicting, the same rules that apply for multiple inheritance are used to resolve conflicts." These rules don't appear to be defined anywhere. RedefinableElement indicates one redefining element may redefine multiple inherited redefinable elements.
Clean Model Rule 8 says "An attrubute must be explicitly redefined in any cases where more than one attribute of the same name would be inherited from different superclasses, unless one of them already redefines the other." Rule 7 says "Attribute redefinition will be done by redeclaring an attribute in the subclass with the same name." This means that a redefinition in a subclass redefines all the inherited properties of the same name in all superclasses, and hides those inherited properties in the subclass. However, no common OO language supportes these semantics.
As a result, performing the transformation specified by package merge semantics on UML2 Superstructure results in many name collisions caused by multiple inheritance of merged classes. This causes problems for XMI Schema and Java API generation.
-
Reported: UML 1.5 — Sun, 7 Sep 2003 04:00 GMT
-
Disposition: Resolved — UML 1.4.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:58 GMT