Legacy Issue Number: 5300
Source: 88solutions ( Pete Rivett)
It's possible to create a composition without having a Reference from the
composite to the component. This is not obscure - a prime example of this is
in UML: a ModelElement owns Tags but has no reference to them.
The XMI production rules talk only about traversing composite references.
Production by object containment is described as follows (section 5.3.1 of
XMI 1.2 formal spec):
"...XMI provides for XML document production by object containment. Given a
composite object, XMI’s rules define the XML document, which represents the
composite object and all the contained objects in the composition hierarchy
of which it is the root."
However the detailed rules will not achieve this if there is not a reference
from composite to component.
It gets worse - moving onto Production by Package Extension, the text in
5.3.3 (bottom of p5-9) states:
"Then, the SimplePackageClass is traversed. For each RefObject instance, the
extent is examined. Any object that is not participating as a component in a
composition link becomes the starting point for generating XML."
Because the components we're talking about DO participate as a component in
a composition link then these components will neither be starting points for
generating XML nor exported as part of their composition (since they are not
referred to by a reference).
Reported: XMI 1.1 — Thu, 16 May 2002 04:00 GMT
Updated: Wed, 11 Mar 2015 11:15 GMT