Zustandsübergangsdiagramm

Zustandsübergangsdiagramme (STD, state transition diagram) werden benutzt, um das Verhalten reaktiver Systeme zu beschreiben.

Die grundlegenden Begriffe sind:

• Zustand - Knoten des Zustandsübergangsgraphen. Jeder Zustand hat einen eindeutigen Bezeichner.
• Zustandsübergang - gerichtete Kante zwischen zwei Konten des Zustandsübergangsgraphen. Jeder Kante ist ein Ereignis und optional eine Reaktion zugeordnet. Ebenfalls optional kann der Kante noch eine Bedingung zugeordnet werden.
• Ereignis - eindeutig bezeichnetes Signal, das einen Zustandsübergang bewirken kann.
• Aktion - neben dem Zustandsübergang (Wechsel von einem Zustand in den nächsten) kann ein Ereignis auch Seiteneffekte auslösen.

In Abbildung 1 sind zwei Zustände durch Kreise repräsentiert, die Zustände sind durch die Bezeichner 1 und 2 eindeutig gekennzeichnet. Die vom Zustand 1 zum Zustand 2 führende Kante repräsentiert den Zustandsübergang, der durch das Ereignis e unter der Bedingung c ausgelöst wird. Der Zustandsübergang hat die Seiteneffekte r.

Diese grundlegende Beschreibungsform kann durch das Einführen weiterer Strukturierungselemente zu Zustandsübergangsdiagrammen erweitert werden. Zustandsübergangsdiagramme bieten die Möglichkeit,

• Zustände zu verfeinern (Tiefe),
• von einander unabhängige Zustandsübergangsgraphen darzustellen (Orthogonalität) und
• Nachrichten zwischen unabhängigen Zustandsübergangsgraphen zu erlauben.


Zustände können verfeinert werden (siehe Abbildung 2). Das Rechteck mit abgerundeten Ecken wird als XOR-Blob bezeichnet. Die Kante zwischen 3 und 4 ist eine abkürzende Ausdrucksweise, sie ersetzt zwei Kanten von 1 nach 4 und von 2 nach 4. Eine auf 3 weisende Kante ist gleichbedeutend mit einer Kante auf den Startzustand des enthaltenen Teilzustandsübergangsgraphen, das bedeutet, anstelle der Kante von 5 nach 1 hätte man auch eine Kante von 5 nach 3 zeichnen können.

Voneinander unabhängige Teilgraphen werden durch AND-Blobs dargestellt (siehe Abbildung 3). Der eine AND-Blob enthält die Zustände 1 und 2, der andere enthält die Zustände 3 und 4. Es sind vier Zustände für die Gesamtheit der beiden zusammengehörenden AND-Blobs möglich: (1, 3), (1, 4), (2, 3) und (2, 4), in dieser Hinsicht reagieren die Teilgraphen also unabhängig voneinander auf Nachrichten. Für die Zustandsübergänge zwischen Zuständen innerhalb zusammengehöriger AND-Blobs gelten zwei Besonderheiten. Es sind spezielle Bedingungen möglich, etwa kann an die Kante zwischen 1 und 2 die Bedingung [in 3] annotiert werden, so dass der Zustandsübergang nur erfolgen kann, wenn der rechte AND-Blob im Zustand 3 ist. Die andere Besonderheit betrifft die Aktionen. Hier ist erlaubt, dass ein AND-Blob beim Zustandsübergang dem anderen AND-Blob ein Ereignis sendet.


Anlage

Abbildung 1: Zustände und Zustandsübergang.

Anlage

Abbildung 3: Zwei unabhängige Teilgraphen.

Anlage

Abbildung 2: Zustand mit Unterzuständen.