XMI 1.2 MAILINGLIST Avatar
  1. OMG Issue

XMI12 — Composition Association problems

  • Key: XMI12-44
  • Legacy Issue Number: 4134
  • Status: open  
  • Source: DSTC ( Stephen Crawley)
  • Summary:

    According to the DTD generation EBNF, a Class element contains embedded
    <class-name> elements for Classes (and their subclasses) related as
    components via composite Associations. According to the DTD generation
    pseudo-code, the embedded elements are <reference-name> elements.
    Neither of these approaches work properly: both fail for some valid and
    meaningful meta-models.

    Discussion:

    The first approach can fail when there is more than one composite Association
    in the meta-model. For example:

    package P {
    class C1

    { ... };
    class C2 { ... }

    ;

    association A1

    { composite end single C1 the_c1; end set [0..*] of C2 the_c2; };

    association A2 { composite end single C1 the_c1; end set [0..*] of C2 the_c2; }

    ;
    };

    The resulting DTD for this meta-model does not allow you to tell if a
    a C1 instance that is related to a (component) C2 instance via an A1
    link or an A2 link.

    The second approach fails if there is no reference to the component
    Class from the composite Class. For example

    package P {
    class C1

    { // no reference to the_C2 of A1 }

    ;

    class C2

    { ... }

    ;

    association A1

    { composite end single C1 the_c1; end set [0..*] of C2 the_c2; }

    ;
    };

    Since there is no Reference from C1 to C2, there is no name for the
    element.

  • Reported: XMI 1.1 — Tue, 2 Jan 2001 05:00 GMT
  • Updated: Wed, 11 Mar 2015 11:12 GMT