This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.

Profiles: Sterotype and Extension

It's a bit difficult to not get confused by all the layers of metamodelling. So the 'Class' we see here and I have discussed in the last postings is the metaclass of the uml classes (like Class, Association, Property). So each of our instances of class of uml can be extended through stereotypes.

Profiles SterotypeExtensionl.png

Using stereotypes we can add properties to any metaclass.

  • Sterotype specializes Class, so it can contain Properties. Operations are possible but not required by the specs.
  • The linking between the metaclass and the stereotype is done by a special Association, the Extension.
  • The only restriction is that Stereotypes can't be extended through stereotypes.

To each metaclass, we can define Extensions. An Extension is a specialization of Association connecting two Properties.

  • the one end of is a property owned by the Stereotype.
  • the other end is a ExtensionEnd owned by the Extension (navigableOwnedEnd).

There is a special Property called 'ExtensionEnd'.
Through the inheritance chain, ExtensionEnd specializes MultiplicityElement. The behavior is redefined as:

  • The multiplicity is [0..1] or [1]
  • Default is [0..1]
  • If it is [1] it isRequired, this means every metaclass must apply the sterotype

As a TypedElement the Extension End can be of type Classifier, this is restricted (redefined) to Stereotype.


There is a special diagram to draw profiles, the profile diagram. In this we can import uml meta-classes we want to extend (<<metaclass>>), draw the stereotypes (<<Stereotype>>) with Properties and finally relate both with Extensions.


In a profile diagram, the Extension looks very similar to the generalization in a class diagram. In contrast to specializing the meta classes of the uml model to fit our LabVIEW-needs, we can add the properties anywhere in the inheritance chain (e.g. named element) of the reference model.
My latest community nugget on producer/consumer design
My current blog: A journey through uml
0 Kudos
Message 1 of 1
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.