Ironically, the ?¬?rst example model in the documentation shows a clear n-ary
relationship, faked by carefully overlaying four binary relationships in exactly the
same place.
On the positive side, the lines in diagrams are recognized as being roles: a line
between two objects thus consists of a relationship at the midpoint, one role line to one
object and another to the other object. The meta-metamodel clearly separates
aggregation or containment from normal relationships. The latter are however stored
as facts about the objects involved, effectively preventing transparent object reuse.
Metamodels are speci?¬?ed in a graphical version of this meta-metamodel. Oddly,
there is no way to start from an empty metamodel: they are always created from a
wizard where the user must choose the closest existing metamodel ???template???, and
even the smallest already contains concepts. Users must thus delete these or
preferably rename them. In an unusual decision, the metamodel is always
automatically laid out in a vertical tree. To maintain the pure tree structure, if an
element is referred to from more than one place, it must be duplicated as a reference
element to elsewhere in the tree. This structure quickly becomes unwieldy, and it is
hard to see what bene?¬?ts the designers expected from this decision.
Pages:
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758