UML 2.2 RTF Avatar
  1. OMG Issue

UML22 — Merged Metam.:Property::class with redefinition of non-inherited property

  • Key: UML22-257
  • Legacy Issue Number: 10001
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    Merged metamodel has Property::class with redefinition of a non-inherited property
    ----------------------------------------------------------------------------------------------------------------------

    In UML 2.1 we have the following:
    Kernel defines Class which inherits from Classifier, and has Class::ownedAttribute of type Kernel::Property.

    Composite Structures also defines Class which inherits from EncapsulatedClassifier which inherits from StructuredClassifier which inherits from Kernel::Classifier (curiously not Collaborations::Classifier in the same section).
    Now StructuredClassifier also defines property StructuredClassifier::ownedAttribute of type InternalStructures::Property

    So in the Merge, we have:
    L3::Class with property L3::Class::ownedAttribute of type L3::Property
    this will inherit from:
    L3::Classifier and L3::EncapsulatedClassifier, with the latter inheriting from L3::StructuredClassifier.
    And L3::StructuredClassifier will continue to have a property L3::StructuredClassifier::ownedAttribute.
    This would be inherited by L3::Class which has its own ownedAttribute.

    Hence there must be a redefinition L3::Class::ownedAttribute redefines L3::StructuredClassifier::ownedAttribute (there is).
    Likewise there must also be a generalization between the 2 associations (there is).

    However there is a change of the property ownership: at the subclass Property::class is owned by Property, and L3::A_ownedAttribute_structuredClassifier::structuredClassifier is owned by the Association.
    And there is no redefinition (or subsetting) between the two.

    Note that Figure 9.2 of ptc/06-04-02 does show a redefinition - but of "_structuredClassifier" with an underscore (not sure what that is supposed to mean).

    Proposed resolution:

    The Property::class property should be owned by the association (but still be navigable), and a redefinition needs to be added in section 9.3.12

    {redefines structuredClassifier}

    .

    Add Property::classifier as a derived union and have all opposites of ?::ownedAttribute subset it.
    This way, access to a property's (owning) classifier can be obtained uniformly - note that a number of the OCL expressions are currently written (incorrectly) with this assumption.

  • Reported: UML 2.0 — Wed, 26 Jul 2006 04:00 GMT
  • Disposition: Resolved — UML 2.2
  • Disposition Summary:

    No Data Available

  • Updated: Fri, 6 Mar 2015 20:58 GMT