KDM 1.4 RTF Avatar
  1. OMG Issue

KDM14 — Ownership of AggregatedRelations is inconsistent

  • Key: KDM14-214
  • Status: closed  
  • Source: KDM Analytics ( Dr. Nikolai Mansourov)
  • Summary:

    The current definition of who owns AggreagtedRelation is inconsistent.
    1) KDM 1.3. says that "Overall management and lifecycle of the Aggregated Relationships is determined by the operations of the KDMEntity class."
    2) the operation createAggregation( otherEntity ) is defined for the KDMEntity
    The descriptive text says: "The new aggregated relationship is owned by the model to which owns the current entity (either directly or indirectly through container ownership)."

    3) Figure 10.1 says that KDMModel owns AggreatedRelation. This is consistent by the descriptive text.
    4) on the other hand, this is not symmetric to the explicit relations, which are owned by the KDMEntity (Figure 9.3 for AggregatedRelations is not consistent with Figure 9.2 for explicit relations)
    5) Figure 19.1 says that AbstractStructureElement owns AggregatedRelations. This is consistent with Figure 9.2, but not consistent with Figure 10.1

    The API on page 31, section 9.5.2 is consistent in itself and can be implemented with either ownership (model or entity). However, it does not make a lot of sense to let the KDMEntity create its AggregatedRelation with another entity, and then pass the ownership to some model. The implementation with the model ownership is more complex.

    Also, in case of density==1 when the explicit relation is the only aggregated instance, two relations are owned in a different way.

    Also, implementing the deleteAggregation api becomes less straightforward, requires access to a Model.

    Recommendation is to make Figure 9.3 consistent with Figure 9.2 and
    remove ownership of AggregatedRelation in Figures 10.1 and 19.1

  • Reported: KDM 1.3 — Fri, 13 Feb 2015 20:54 GMT
  • Disposition: Resolved — KDM 1.4
  • Disposition Summary:

    Make ownership of AggregatedRelations symmetric with explicit relations

    Make ownership of AggregatedRelations symmetric with explicit relations

  • Updated: Tue, 12 Jul 2016 14:44 GMT