Zustandsdiagramm

Ein Zustandsdiagramm ist ein Verhaltensdiagramm der Unified Modeling Language (UML) und zeigt alle Zustände sowie die verbundenen Transitionen des dargestellten Zustandsautomaten an.

Zustandsdiagramme erstellen Sie komfortabel mit dem bewährten Modellierungstool von MID.
Innovator Enterprise Modeling Suite kostenlos testen.

Definition

Das Zustandsdiagramm (engl. state diagram) ist ein Verhaltensdiagramm und stellt einen Zustandsautomaten (engl. state machine) grafisch dar. Es wird benutzt, um entweder das Verhalten eines Systems oder die zulässige Nutzung der Schnittstelle eines Systems zu spezifizieren.

Ein Zustandsdiagramm zeigt eine Übersicht der Zustände, die der dargestellte Zustandsautomat – beispielsweise ein einzelnes Objekt oder auch ein (Teil-)System – zur Laufzeit annehmen kann und gibt an, aufgrund welcher Ereignisse Zustandsänderungen bzw. -übergänge stattfinden. Damit beschreibt ein Zustandsdiagramm einen endlichen Automaten, der sich zu jedem Zeitpunkt in einer Menge endlicher Zustände befindet.

Das Symbol zeigt ein Diagramm mit einem enthaltenen Zustand.

Besitzerhierarchie/Vorbedingungen

  • Ein Zustandsdiagramm zeigt den Inhalt genau eines Zustandsautomaten
  • Das Zustandsdiagramm zeigt den Zustandsautomaten immer vollständig an
  • Jeder Zustandsautomat braucht einen verhaltensspezifischen Classifier, dessen Zustände er beschreiben soll

Verwendung

Das Zustandsdiagramm kann in der Modellstruktur unterhalb eines verhaltensspezifischen Classifiers neu angelegt werden.

Im Whiteboard-Diagramm werden die Zusammenhänge zwischen Zuständen und Elementen aus anderen Diagrammen angezeigt.

Elemente im Zustandsdiagramm

Die folgenden Modellelemente können als Knoten und Kanten in Zustandsdiagrammen dargestellt werden.

Tabelle: Knoten- und Kantentypen
Symbol Element Beschreibung

Zustandsautomat

Ein Zustandsautomat beschreibt ein System durch Zustände und Transitionen zwischen diesen Zuständen. Ein Zustandsautomat beschreibt eine hypothetische Maschine ("endlicher Automat"), die sich zu jedem Zeitpunkt in einer Menge endlicher Zustände befindet. Zustandsautomaten bilden vornehmlich das Verhalten von Klassen ab. Doch im Gegensatz zu Aktivitäten, die Aktionen beschreiben, werden in Zustandsautomaten die Zustände festgehalten, die ein Objekt im Laufe seines Lebens einnehmen kann. Mittels Bedingungen und Kontrollen wird festgelegt, welche Transitionen (Zustandsübergänge) ausgeführt werden können.
Region Regionen werden genutzt, um parallele Abläufe zu modellieren. Jeder Zustandsautomat enthält mindestens eine Region. Jede Region enthält mehrere Zustände, von denen immer einer aktiv ist.
Anfangszustand Ein Anfangszustand bildet den Startpunkt für das Betreten eines Zustandsautomaten. Von ihm ausgehend wird der erste Zustand des Automaten erreicht.

Endzustand

Ein Endzustand bildet den Endpunkt eines Zustandsautomaten. Mit seiner Erreichung ist die Abarbeitung des Zustandsautomaten beendet.

Den Endzustand nimmt der Classifier ein, ohne ihn wieder zu verlassen.

Terminator

Das Erreichen eines Terminators bricht die Ausführung des Zustandsautomaten ab und beendet gleichzeitig die Lebensdauer des beschriebenen Klassifikators.
Zustand

Ein einfacher Zustand bildet eine Situation ab, in deren Verlauf eine spezielle Bedingung gilt. Mit einem Zustand wird eine Situation modelliert, in der eine relativ lang andauernde Aufgabe ausgeführt wird. Während der Abarbeitung der Aufgabe befindet sich das System dann im entsprechenden Zustand.

Für Zustände gelten die folgenden Regeln:

  • Ein Zustand wird betreten, wenn eine Transition, die ihn als Endpunkt besitzt, durchlaufen wird.
  • Ein Zustand wird verlassen, wenn eine Transition, die von ihm weg führt, durchlaufen wird.
  • Ein Zustand wird aktiv, sobald er betreten wird. Durch Verlassen des Zustands wird der Zustand inaktiv.
  • Der Name des Zustands ist innerhalb einer Zustandssequenz eindeutig.
Eintrittspunkt Eintrittspunkte fassen gleichartige in einen zusammengesetzten Zustand einlaufende Transitionen zusammen.

Austrittspunkt

Austrittspunkte fassen gleichartige aus einem zusammengesetzten Zustand auslaufende Transitionen zusammen.

Flache Historie

Eine flache Historie speichert den letzten aktiven Unterzustand eines zusammengesetzten Zustands, sobald dieser verlassen wird.

Tiefe Historie

Eine tiefe Historie speichert den jeweils letzten aktiven Unterzustand aller Hierarchieebenen eines zusammengesetzten Zustands, sobald diese verlassen werden.

Trigger

Trigger dienen als Auslöser von internen oder externen Transitionen.

Entscheidung

Entscheidungen ermöglichen die Auswahl einer einzelnen von mehreren möglichen Transitionen anhand eines Entscheidungskriteriums.

Gabelung/Vereinigung

Gabelungen teilen eine Transition auf mehrere parallele Zielzustände auf. Vereinigungen beenden diese Parallelität wieder.

Kreuzung

Kreuzungen können zum Hintereinanderschalten mehrerer Transitionen verwendet werden.

Transition

Eine Transition ist eine gerichtete Beziehung zwischen einem Quell- und einem Zielzustand. Die Transition ermöglicht den Übergang von einem in den anderen Zustand. Der Quellzustand wird dabei inaktiv und der Zielzustand aktiv.

Zu einer Transition kann eine Bedingung angegeben werden. Die Transition wird nur dann durchlaufen, wenn die Bedingung zum Zeitpunkt der Auswertung erfüllt ist.

Beispiel für ein Zustandsdiagramm

In diesem Kapitel finden Sie die Themen:

Weitere Informationen

http://www.uml.org/