Login | Register
My pages Projects Community openCollabNet

Wiki: Changes from UML 1.x to UML 2.x

Wiki: Changes from UML 1.x to UML 2.x

Revision 1 as of 2009-04-30 09:42:54 -0700

Edit this page | Links to this page | Page information | Attachments | Refresh page


As ArgoUML switches from UML 1.4 to UML 2.x, these changes have to be considered. This section lists some of the most important changed concepts and the impact of their changes.


In UML 1.4, a classifier is is the metamodel superclass of Class, DataType, and Interface. ArgoUML relies on that in many places by using the model facade method isAClassifier(). These method calls have to be rethought, because in UML 2.x a classifier means much more:


Association End

In UML 1.4, an association end is a part of an association (composition) and is associated with a classifier. ArgoUML has a property panel for it.

In UML 2.x, there is no association end metaclass. An association end instead is represented by a property (which also represents attributes): /wiki/Changes_from_UML_1.x_to_UML_2.x?action=AttachFile&do=get&target=uml2_superstructure_figure_07.12.gif

The no longer supported targetScope of an association end has already been taken care of in issue 5458.

Classifier Role

In UML 2.x interactions are contained within classifiers and not only within collaborations. Their participants are modeled by lifelines instead of classifier roles. For sequence diagrams this means that there are no classifier roles, but "connectable elements" associated with lifelines.

(To be explained: connectable elements. The concepts of classifier role, association role, and association end role have been superseded in UML 2.x.)

Stereotypes and Tagged Values

Stereotypes and Tagged Values are handled by the Profile mechanism (a lightweight extension mechanism). Stereotypes are specific metaclasses, tagged values are standard metaattributes, and profiles are specific kinds of packages. In UML 1.3, tagged values could extend a model element without requiring the presence of a stereotype. In UML 1.4, this capability, although still supported, was deprecated, to be used only for backward compatibility reasons. In UML 2.0, a tagged value can only be represented as an attribute defined on a stereotype. Therefore, a model element must be extended by a stereotype in order to be extended by tagged values.