RE: associations defined in a metamodel



Date view Thread view Subject view Author view Attachment view

From: Gonzalo Génova (ggenova@inf.uc3m.es)
Date: Fri 17 May 2002 - 11:10:07 BST


Simona,

Your relation ass' can have a multiplicity only if it is an association,
that is, if it is an instance of the metaclass Association; note that
Association is a metaclass, not a meta-association. There are many
meta-associations in the metamodel, which represent different relationships
between model elements, the instances of which are not "associations" in the
strict sense, therefore they do not have multiplicity specifications.

For example, the metaclass Generalization has two metaassociations with the
metaclass GeneralizableElement: child and parent (see Figure 2-6 in the UML
Specification). This structure in the metamodel level is used to represent a
generalization in the model level, which of course has no multiplicities.
There isn't any associations in the model level that correspond to the
meta-associations child and parent. The multiplicities in the metamodel mean
that a generalization has exactly one parent and one child (it is a binary
relationship), and that a GeneralizableElement can participate in several
generalizations, as child or as parent.

The multiplicities of an association at the model level are represented at
the metamodel level by the metaattribute AssociationEnd.multiplicity. You
can put any value in a multiplicity specification when you instantiate the
metamodel to create a model.

I hope I answered your question.

Gonzalo

-----Mensaje original-----
De: Simona Bernardi [mailto:bernardi@di.unito.it]
Enviado el: Wednesday, May 15, 2002 5:45 PM
Para: puml-list@cs.york.ac.uk; bernardi@di.unito.it
Asunto: associations defined in a metamodel


Hello,

I have a question about how associations defined in a UML meta-model are
instantiated.
What happens to the multiplicities of an association  defined between
two meta-classes ?
For example an association  "ass" is defined between two metaclasses A
and B,
with multiplicity * (not explicitly defined):

        ass
|A| -----> |B|
          *

An instantiated model can be made of  a class A' (instance of the
metaclass A)
and a class B' (instance of B) and relation ass' between A' and B'.
Does the multiplicity of ass' have to be a specific number or it can
still remain unspecified with "*" ?

Thanks,
Simona.




To remove yourself from this list please mail
puml-list-request@cs.york.ac.uk
with a message containing the word "unsubscribe".

Date view Thread view Subject view Author view Attachment view