article

Ein Stereotyp (das; -s, -e; engl. stereotype) ist eine Erweiterung vorhandener Modellelemente in der Unified Modeling Language (UML). In der Praxis geben Stereotype vor allem die möglichen Verwendungszusammenhänge (Verwendungskontext) einer Klasse, einer Beziehung oder eines Paketes an.

Stereotype sind ein wichtiger Bestandteil von UML-Profilen, einem leichtgewichtigen Mechanismus für die Erweiterung des UML-Metamodells. Ein Stereotyp spezifiziert, wie eine bereits durch das UML 2-Metamodell vorgegebene Metaklasse für ein spezifisches Einsatzgebiet angepasst werden kann.

Stereotyp ist in der UML 1.x und der UML 2 nicht genau gleich definiert. Dieser Artikel bezieht sich auf Stereotyp, wie er in der UML 2 gilt.

Stereotyp als spezielle Klassen


Stereotype-1.png Ein Stereotyp ist eine spezielle Klasse. Um ihn von anderen Klassen zu unterscheiden, wird das Schlüsselwort stereotype zwischen Guillemets («stereotype») angegeben. Wie jede Klasse kann er über Attribute verfügen, die bei Stereotypen jedoch auch als Eigenschaftsdefinitionen (engl. tag definition) bezeichnet werden. Die UML 2 schliesst nicht aus, dass ein Stereotyp auch Operationen deklarieren kann, obschon Operationen auf einem Stereotyp insofern nutzlos sind, als sie bei der Anwendung des Stereotyps nie eine Rolle spielen. Abstrakte Stereotype jedoch sind erlaubt und oft auch sinnvoll.

Wie alle Klassen können Stereotype in Generalisierungshierarchien eingeordnet sein, wobei die Einschränkung zu berücksichtigen ist, dass Stereotype ausschließlich andere Stereotype, also keine anderen Arten von Klassen, spezialisieren dürfen.

Das Stereotyp OrganisationsEinheit in der Abbildung rechts umfasst zum Beispiel zwei Eigenschaftsdefinitionen, nämlich kostenstelle und leiter.


Erweiterung von Metaklassen durch Stereotype


Stereotype-2.png Ein Stereotyp erweitert immer ein Modellelement der UML 2, also eine Metaklasse aus dem UML 2-Metamodell. Um diese Beziehung zwischen einer Metaklasse und einem Stereotyp zu modellieren, bietet die UML 2 das Modellelement Erweiterung (engl. extension) an, eine spezielle Form von Assoziation zwischen der Metaklasse und dem Stereotyp. Eine Erweiterung bindet eine Metaklasse und ein Stereotyp zu einem Bündel zusammen. Grundsätzlich gilt, dass immer eine Instanz des Stereotyps angelegt wird, wenn in einem UML 2-Modell eine Instanz der Metaklasse angelegt wird. Von dieser Regel wird nur abgewichen, wenn die Erweiterung als optional markiert bzw. wenn das Stereotyp als abstrakt markiert ist.

In der Abbildung rechts ist eine Erweiterung der Metaklasse Class durch den Stereotyp OrganisationsEinheit dargestellt. Die Erweiterung wird als durchgezogene Linie mit einer geschlossenen Pfeilspitze dargestellt, im Unterschied zur Generalisierung ist die Pfeilspitze jedoch ausgefüllt.

Eine Erweiterung modelliert die Möglichkeit, ein Stereotyp auf eine bestimmte Metaklasse anwenden zu können. Nur wenn eine Erweiterung im Profil, zu dem das Stereotyp gehört, explizit modelliert ist, darf das Stereotyp auch tatsächlich im Rahmen dieses Profils auf die entsprechende Metaklasse angewendet werden. Das Stereotyp OrganisationsEinheit aus dem Beispiel rechts dürfte also nicht auf ein Paket angewendet werden, weil Paket keine Klasse ist.


Anwenden von Stereotypen in einem UML 2-Modell


Stereotype-3.png Ein UML 2-Modell besteht aus Instanzen der Metaklassen des UML 2-Metamodells. Falls ein Profil auf ein Modell angewendet wird, können die Stereotype aus diesem Profil entsprechend ihrer Definition eingesetzt werden. Weil das Stereotyp OrganisationsEinheit zum Beispiel die Metaklasse Class erweitert, kann es mit der Klasse Finanzabteilung kombiniert werden, denn Finanzabteilung ist eine Instanz der Metaklasse Class. In Klassendiagrammen wird der Name des Stereotyps dabei über dem Namen des Elements, auf den das Stereotyp angewendet wird, durch Guillemets eingeschlossen dargestellt.

Für jede Eigenschaftsdefinition (engl. tag definition) des Stereotyps kann nun ein Eigenschaftswert (engl. tagged value) ergänzt werden. Graphisch werden die Eigenschaftswerte in einem Kommentar gezeichnet, der mit dem Element verbunden ist, auf den der Stereotyp angewendet wurde.

UML

Stereotype (computing) | Stereotipo (UML)

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Stereotyp (UML)".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld