-
Key: UML24-85
-
Legacy Issue Number: 15525
-
Status: closed
-
Source: NASA ( Dr. Maged Elaasar)
-
Summary:
Constraint [4] in Property implies an owned end can redefine any end of any ancestor of its owning association, whether that end is association owned or not.
However in the case of an association-owned end redefining a (non-association) classifier-owned end, whose association is an ancesor (of the owning association), the redefinitionContexts are stil:
the owningAssociation for the redefining proeprty
the classifier for the redefined propertyDoesn't this violate constraint [1] of RedefinableElement
[1] At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.
self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))where
RedefinableElement::isRedefinitionContextValid(redefined: RedefinableElement): Boolean;
result = self.redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext))since the classifier can never be an ancestor of the association?
-
Reported: UML 2.3 — Wed, 15 Sep 2010 04:00 GMT
-
Disposition: Resolved — UML 2.4
-
Disposition Summary:
There was an earlier discussion in the RTF that agreed that this constraint is inconsistent with the operation
isRedefinitionContextValid, and proposed that the operation isRedefinitionContextValid should be redefined
for Property, to give the correct logic, which is that a property may redefine another in the inheritance
hierarchy regardless of whether the property is association-owned or class-owned. This is the same logic as
for subsetting. -
Updated: Fri, 6 Mar 2015 20:58 GMT