RE: modeling link creation



Date view Thread view Subject view Author view

Gonzalo Genova (ggenova@ie.inf.uc3m.es)
Fri, 21 Jan 2000 18:44:41 +0100


John Daniels wrote: > These changes in life state are derivable from the detailed interaction among the Objects, they are provided as notational conveniences. So... how do you express in a "detailed interaction among the Objects" that a new link has been established, in order that you can derive those changes in life state? The question recurs. You suggest I should use annotations, or OCL, but this is as much as saying UML cannot express by itself the establishing of a link. On the other side, in the same UML notation guide section on Collaboration Diagrams it says: 3.73.1 During the execution of an interaction some Objects and Links are created and some are destroyed. The creation and destruction of elements can be marked. 3.73.5 Creation or destruction indicators map either into CreateActions, DestroyActions, or TerminateActions in the corresponding ClassifierRoles. And in UML Semantics we find: 2.9 A create action is an action resulting in the creation of an instance of some classifier. In the metamodel the CreateAction is an Action. The Classifier to be instantiated is designated by the instantiation association of the CreateAction. (quotes from OMG Unified Modeling Language Specification, Version 1.3, June 1999) But note that a create action is not applicable to links, since both Association and Classifier are subclasses of GeneralizableElement, but Association is not a subclass of Classifier (UML Semantics, Fig. 2-6: Core Package-Relationships; Fig. 2-15: Common Behavior-Actions). So... how is a link created between two object instances? Do we need in the metamodel a new kind of Action which will be responsible of this task? Should this new metaclass LinkAction be associated twice with the metaclass Classifier, or only once with the metaclass Association? Gonzalo


Date view Thread view Subject view Author view