 |
 | |  |  | | Beschreibung |  | Statecharts wurden bereits 1967 von Harel als Erweiterung der Automaten eingeführt. Sie sind heute Basis ausgereifter Werkzeuge zur Modellierung eingebetteter Systeme. Statecharts beschreiben das Ablaufmodell einer Komponente der Software. In der UML werden Statecharts häufig eingesetzt, um den Lebenszyklus eines Objekts, also Abhängigkeiten zwischen den Methodenaufrufen und dem Zustand des Objekts zu beschreiben. Ein Statechart kann aber auch benutzt werden, um das Ablaufmodell einer komplexen Methode darzustellen.
Das Statechart in der Abbildung beschreibt Zustände (als abgerundete Rechtecke dargestellt) der Klasse Baugruppe und wird zur Montage benutzt. Es ist, wie im Entwurf üblich, noch nicht festgelegt, in welcher Form das Statechart von den Methoden der Klasse umzusetzen sein wird, obwohl hier sichtbar ist, dass es sich um einen Lebenszyklus für die Montage handelt. Das angegebene Statechart abstrahiert ausserdem von vielen Einzelschritten indem es diese z.B. in “montiereC” bündelt.
Mit Hilfe hierarchischer Zustände können Zustandsräume zusammengefasst werden. Transitionen (als Pfeile dargestellt) sind im allgemeinen mit einem Ereignis oder einem Methodennamen behaftet. Zusätzlich kann eine Bedingung angegeben werden, unter der die Transition erfolgen kann. Über die gezeigten Elemente hinaus kann jede Transition mit einer Aktion attributiert sein, die bei der Transition ausgeführt wird. Zusätzlich können Zustände mit Entry-, Exit- und Do-Aktionen versehen werden, die beim Betreten und Verlassen eines Zustands bzw. während des Verweilens in einem Zustand zusätzliche Funktionalität erbringen.
Im Gegensatz zu Sequenzdiagrammen zeigt ein Statechart keine Interaktion zwischen Objekten, sondern modelliert gleichzeitig den Zustand und das Verhalten eines Objekts. Dabei können Statecharts Verhalten vollständig beschreiben, während Sequenzdiagramme meist exemplarisch sind. Leider wird dadurch die Statechart-Notation komplexer und benötigt einigen Lernaufwand.
Die Abbildung zeigt ein für die Benutzung von Statecharts in der UML typisches, abstraktes Zustandsmodell der Klasse Baugruppe. Eine Detaillierung bzw. Umsetzung des Statechart erfolgt erst durch die Methoden der Klasse. In der Praxis hat sich gezeigt, dass viele Objekte kein komplexes Zustandsmodell besitzen, so dass eine Modellierung mit Statecharts nicht notwendig ist. Dagegen sind Varianten von Zustandsautomaten für eingebettete Systeme sehr erfolgreich im Einsatz. Beispiele sind ROOMcharts, Statecharts in Rhapsody oder SDL-Automaten. Statecharts werden dort meist zur detaillierten Beschreibung des Verhaltens eines Objektes, etwa zur Beschreibung aller Schritte des Montageablaufes genutzt. Die detaillierte Verhaltensmodellierung mit ROOMcharts ist ein wesentlicher Bestandteil der UML-RT.
weiter |  |
 | |  |  | |  | |  | |  |  |  | | Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben. |
|
|  | |  |  |   | Übergeordnet |  |  |  | |  |  | |  |  | |  |  |  |  |  | UML 1.x State Charts |  |  |  |  |  | Literaturhinweise |  |  |  | |  |  |  |  |  | Weitere Themen |  |  |  | |  |  | |  |  |  |  |  |  |
|