Ausprägungsspezifikation (UML)
# Ausprägungsspezifikation (UML)

Eine Ausprägungsspezifikation (engl. InstanceSpecification) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.

## Beschreibung

Eine Ausprägungsspezifikation spezifiziert eine konkrete Entität in einem modellierten System. Sie spezifiziert ausgewählte Aspekte dieser Entität, insbesondere welchen Namen diese trägt und von welchem Classifier sie eine Ausprägung bzw. Instanz ist. Weiter kann sie für jedes Strukturmerkmal des Classifiers einen konkreten Wert deklarieren. Der Name eines Strukturmerkmals kombiniert mit einem konkreten Wert bezeichnet die UML2 als Slot.
Ausprägungsspezifikation können sehr flexibel eingesetzt werden. Zum Beispiel muss ein Modellierer nicht zwingend einen Namen spezifizieren. Weiter können der Ausprägungsspezifikation kein oder mehrere Classifier zugeordnet sein.
Die graphische Darstellung einer Ausprägungsspezifikation unterscheidet sich nur in Details von derjenigen einer Klasse. Erstens folgt auf den Namen der Ausprägung ein Doppelpunkt und der Name des Classifiers, von dem die Ausprägung eine Instanz ist. Dieser Text wird immer unterstrichen. Zweitens werden in einem Bereich des umschließenden Rechtecks die Slots in der Form Name = Wert spezifiziert.
Die zweite Abbildung zeigt eine Ausprägungsspezifikation für eine anonyme Ausprägung. Dieses Beispiel zeigt auch, dass zusätzlich zum Namen und Wert eines Slots auch dessen Typ in der graphischen Notation aufgeführt werden kann.

## Ausprägungsspezifikation und Assoziationen

Von einer Assoziation kann es ebenso Ausprägungen geben wie von einer Klasse, denn beide sind Spezialisierungen von Classifier. Die Ausprägung einer Assoziation heißt Objektbeziehung oder Link. Die graphische Notation für einen Link entspricht weitgehend der graphischen Notation für eine Assoziation. Die Abbildung rechts zeigt eine Ausprägungsspezifikation für eine Objektbeziehung zwischen zwei Ausprägungen des Classifiers Person.

## Unterschiede zur UML 1.4

Weder das Modellelement Object noch das Modellelement Link aus der UML 1.4 wurde in die UML2 übernommen. Beide wurden durch Ausprägungsspezifikation ersetzt.