Modellierung mit
UML
Loading

5.7 Zusammenfassung

Statecharts stellen die wesentliche Verknüpfung zwischen der Struktur eines Systems in Form von Zustandsräumen und dem Verhalten der Klassen dar. Sie erlauben die Zustandsräume hierarchisch zu strukturieren und die Reaktion von Objekten auf ankommende Stimuli auf Basis dieser Zustandshierarchien zu definieren.

Statecharts basieren auf den Konzepten der Mealy- und Moore-Automaten, weshalb grundlegende Problemstellungen, wie Nichtdeterminismus, Unvollständigkeit, ε-Transitionen und die Beschreibungsmächtigkeit bereits auf diesen Automaten studiert werden konnten. Als wesentliches Konzept ist dabei neben der Theorie der Automaten die Interpretation der Automatenkonzepte (Eingabe, Automatenzustand und Ausgabe) in der „realen“ Welt der Softwareentwicklung (Methodenaufruf, Objektzustandsraum und Aktion) diskutiert worden.

Es folgte eine detaillierte Einführung von Zuständen, Zustandsinvarianten, Transitionen, Vorbedingungen, Stimuli und Aktionen mit prozeduralem und deskriptivem Charakter.

Besonders relevant ist dabei die Schaltbereitschaft von Transitionen und die daraus resultierenden Möglichkeiten zur Behandlung von Nichtdeterminismus (Unterspezifikation) und Unvollständigkeit eines Statecharts durch Verwendung von Stereotypen. Die Komposition von entry-, exit- und Transitionsaktionen durch Konjunktion, sequentielle Hintereinanderausführung und abschnittsweise Gültigkeit war ein weiterer wesentlicher Diskussionspunkt.

Eine Sammlung von Transformationsregeln für Statecharts zeigt einerseits die Semantik von komplexeren Statechartkonzepten wie Start- und Endzuständen in hierarchischen Zuständen oder entry- und exit-Aktionen, erlaubt aber andererseits auch die Transformation von allgemeinen Statecharts in vereinfachte Statecharts, die für die ebenfalls diskutierte Abbildung in die OCL, zur Codegenerierung und für Analysen einfacher zu behandeln sind.


Bernhard Rumpe. Agile Modellierung mit UML. Springer 2012