UML 2.4 RTF Avatar
  1. OMG Issue

UML24 — redefinitionContext of Property

  • 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 property

    Doesn'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))


    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