Home
 UML
BuiltByNOF
 Zustände

1) UML-Zustandsdiagramme basieren auf den Zustandsautomaten der theoretischen Informatik. Die Lebensdauer einer Instanz (Objekt, "auch hier: Instanz jedes "classifier"s) zerfällt in verschiedene Zustände. Das durch ein Zustandsdiagramm modellierte Objekt ist zu einem Zeitpunkt in genau einem Zustand. Eine ausdrücklich darzustellende Bedingung (oder ein darzustellendes Ereignis) lösen einen Übergang von einem Zustand zum nächsten aus.

2) Transitionen sind die möglichen Übergänge von einem Zustand zum nächsten. Transitionen sind mit einem oder mehreren Ereignissen oder Bedingungen markiert. Sie können auch mit mehreren bedingten oder ereignisgesteuerten Aktionen markiert werden; diese Aktionen werden dann ausgeführt, wenn ein auslösendes Ereignis eine der angegebenen Bedingungen erfüllt. Im UML-Modell haben Transitionen von außen betrachtet keine Zeitdauer.

3) Der Anfangszustand sowie die Endzustände werden wie bei Aktivitätsdiagrammen eingesetzt.

4) Ereignisse sind typische Auslöser für Transitionen. Ereignisse haben einen Namen und können Parameter haben. Ein Ereignis kann eine eintreffende Nachricht von außen, eine logische Bedingung oder eine zeitliche Bedingung repräsentieren.

5) Die Abarbeitung eines Zustandsautomaten kann man sich so vorstellen, dass man eine Marke vom Anfangszustand entlang der tatsächlich durch Ereignisse aktivierten Transitionen schiebt, bis einer der Endzustände erreicht ist.

6) Zustände können Unterzustände (d.h. auch wieder eigene Automaten) besitzen. Das Betreten des äußeren Zustands löst den initialen Zustand des inneren Automaten aus. Das Betreten eines Endzustands im inneren Automaten löst eine Transition im äußeren Zustand aus. In diesem Fall gilt nach wie vor, dass EINE Marke zur Beschreibung der gesamten Situation ausreicht.

7) Zustände können auch mehrere Automaten enthalten, die jedoch unabhängig voneinander sind. In diesem Fall teilt sich die eine einlaufende Marke in n innere Marken (je eine für jeden enthaltenen Automaten) auf und SYNCHRONISIERT sich wieder (durch Warten), bis alle inneren Automaten ihre Marke in einen Endzustand gebracht haben. Anschließend geht EINE Marke wieder aus dem äußeren Zustand heraus. Graphisch werden diese inneren Automaten durch eine gestrichelte Linie getrennt. Es gibt in jedem Fall zu einem Zeitpunkt immer nur EINEN aktiven Zustand und entsprechend EINE Marke in jedem unabhängigen Automaten.

8) Zustände können mit einer / mehreren bedingten oder ereignisgesteuerten Aktionen markiert sein. Besondere Ereignisse in Zuständen sind "entry" (bei Betreten des Zustands) , "do" (immer während des Zustands)  und "exit" (vor Verlassen des Zustands).

9) Zustände können auch Selbstübergänge haben; das sind Transitionen, bei denen Anfang und Ende der gleiche Zustand sind. Im Gegensatz zu den inneren Aktionen werden bei Selbstübergängen jedoch "exit" und dann wieder "entry" für diesen Zustand durchgeführt.

10)  Notation
Zustand                               Schachtelung                        Ende                          Start
state   state    final          initial


Beispiel: Zustandsdiagramm
sd_carrental
 

[Home] [UML]