XMI 2.4 RTF Avatar
  1. OMG Issue

XMI24 — An XMIReferenceElement cannot be used for serializing a composite property

  • Key: XMI24-145
  • Legacy Issue Number: 17389
  • Status: closed  
  • Source: Model Driven Solutions ( Mr. Ed Seidewitz)
  • Summary:

    Specification: OMG MOF XMI Mapping Specification, Version 2.4.1 (formal/2011-08-09)

    Subclause 9.4.1 EMOF Package requires that “A property, type is not a PrimitiveType or Enumeration, isComposite=true” have an XMI representation of “Nested XMIObjectElement”. Nothing in Subclause 9.4.2 CMOF Package alters this.

    The BNF for an XMIObjectElement is given in Subclause 9.5.2 Object Structure by production 2a:XMIObjectElement. This production does allow such an element to include 2d:XMIAttributes, but such attributes do not include hrefs. The production 2m:Link is the one for hrefs, and this is used in 2l:LinkAttribs, which is, in turn, used only by 2c:XMIReferenceElement. It is not included directly in 2a:XMIObjectElement.

    So, the conclusion is that something like “<packagedElement href=”…”/> would not be a valid EMOF/CMOF serialization, since that is an XMIReferenceElement, not and XMIObjectElement, and packagedElement is a composite property. Divide a large model based on its hierarchical composition structure into across multiple XMI files, resulting in tool-specific approaches for such modularization in most major UML tools.

    Suggested resolution: In the last line of the table in Subclause 9.4.1, change the XMI representation of “XMIObjectElement” to:

    Choice of:

    1. Nested XMIObjectElement

    2. Nested XMIReferenceElement

  • Reported: XMI 2.1.1 — Tue, 22 May 2012 04:00 GMT
  • Disposition: Resolved — XMI 2.4
  • Disposition Summary:

    This was in fact already addressed at XMI 2.4.1.
    However the text could be further clarified to cover the multiple file case and
    generally tidied (e.g. to remove the typo “clot”).

  • Updated: Fri, 6 Mar 2015 23:16 GMT