Das dynamische Modell


[Seminarübersicht] ... [Einführung in OMT] ... [Das funktionale Modell]


Übersicht:


Allgemeines

Das dynamische Modell beschreibt zeitliche Abläufe. Das Modell spezifiziert, wann die Objekte handeln. Es ist vergleichbar mit einem Struktogramm in der strukturierten Programmierung.

In dem dynamischen Modell wird das Verhalten des Systems nach Ergeignissen beschrieben, dabei werden sowohl sequentielle als auch parallele Vorgänge betrachtet.

Das dynamische Modell besteht aus einem Zustandsdiagramm für jede Objektklasse, die ein zeitlich veränderliches Verhalten besitzt.

[Seitenanfang]


Szenario / Ereignispfad

Vor der Erstellung konkreter Zustandsdiagramme, kann die Erstellung eines Szenarios bzw. eines Ereignispfades sinnvoll sein. Ein Szenario beschreibt eine Folge von Ereignissen bei einer bestimmten Ausführung des Systems (vergleichbar mit Anwendungsfällen, bzw. USE-CASES). An einem Szenario sind im allgemeinen mehrere Objektklassen beteiligt.

In Abb. 18 ist ein Szenario für einen Telefonanruf wiedergegeben. Die Objekte Anrufer, Telefonleitung und Angerufener sind als vertikale Linien dargestellt. Der Zeitablauf schreitet von oben nach unten fort, wobei Abstände keine Rolle spielen. Die horizontalen gerichteten Pfeile repräsentieren Ereignisse, die von dem Sendeobjekt an das Empfangsobjekt gesendet werden. Auch parallele Ereignisse können dargestellt werden. So wird zu einem Zeitpunkt im Beispiel das Ereignis Rufton an den Anrufer gesendet, während der Angerufene das Ereignis Telefon klingelt empfängt.

Abb. 18 (Ereignispfad)
Abb. 18

Sowohl die Ereignisreihenfolge als auch die beteiligten Objekte, die Ereignisse austauschen, können in einem Szenario übersichtlich dargestellt werden.

[Seitenanfang]


Notation Zustandsdiagramm

Das Zustandsdiagramm, das für jede Objektklasse zu erstellen ist, enthält die folgenden grundlegenden Elemente:

Abb. 19 (Notation Zustandsdiagramm)
Abb. 19

 

[Seitenanfang]


Beispiel: Zustandsdiagramm für einen Verkaufsautomaten

Die folgende Abb. 20 ist ein Bespiel für ein denkbares Zustandsdiagramm für einen Verkaufsautomaten. Es enthält einige Transitionen, die nicht mit expliziten Ereignissen, sondern nur mit Wächterfunktionen charakterisiert werden. Daraus wird ersichtlich, das die Transitionen schalten, sobald die Wächterfunktion mit wahr ausgewertet werden kann. Die Transition vom umbenannten Zustand mit der Aktion Artikel ausgeben in den Zustand Bereit ist gänzlich unbeschriftet. Daraus wird deutlich, das diese Transition automatisch feuert, sobald die Aktion Artikel ausgeben beendet worden ist.

Abb. 20 (Beispiel Zustandsdiagramm Verkaufsautomat)
Abb. 20

Es ist möglich, ein Zustandsdiagramm weiter zu verfeinern. In Abb. 21 wird die Aktivität Artikel ausgeben aus dem Zustandsdiagramm für den Verkaufsautomaten aus Abb. 20 verfeinert. Dieses Diagramm ist ein Ein-Weg-Diagramm, das einen ausgezeichneten Start- und Endpunkt besitzt. Das Diagramm in Abb. 20 wird respektive als Mehr-Weg-Digramm bezeichnet, das eventuelle notwendige einmalige Initialisierungen des Systems nicht betrachtet.

Der Endpunkt beschreibt, das das Ereignis entnommen beim Erreichen des Endpunktes generiert wird.

Abb. 21 (Zustandsdiagramm einer Aktivität)
Abb. 21

Auch eine Transition kann durch ein weiteres Zustandsdiagramm weiter verfeinert werden. Dies ist in Abb. 22 für die Transition aus dem Zustand Geld kassierend in den unbenannten Zustand mit der Aktivität Artikel testen und Wechselgeld berechnen dargestellt. Es liefert das Ereignis wählen mit dem dazugehörigen Attribut Artikel.

Abb. 22 (Zustandsdiagramm einer Transition)
Abb. 22

[Seitenanfang]


Zustandsgeneralisierung und Aggregationsparallelität

Unter Zustandsgeneralisierung ist zu verstehen, das Zustande Unterzustände besitzen können, die die Transitionen der Oberzustandes erben. Dadurch wird das Zustandsdiagramm übersichtlicher. Im Zustandsdiagramm wird dies durch ein abgerundetes Rechteck dargestellt, das die Unterzustände beinhaltet (vgl. Abb. 23: Der Zustand Vorwärts der Komponente Getriebe umfaßt die Unterzustände Erster, Zweiter und Dritter).

Das dynamische Modell beschreibt eine Menge von Objekten in einem System, die ihren Zustand unabhängig voneinander ändern können. In Abb. 23 ist das Objektmodell für die Objektklasse Auto mit dem dazugehörigen Zustandsdiagramm dargestellt. Die Objektklasse Auto ist eine Aggregation aus den Komponenten Zündung, Getriebe, Bremse und Gaspedal. Jede Komponente wird in dem dazugehörigen Zustandsdiagramm in einem separatem Rechteck mit abgerundeten Ecken beschrieben. Abb. 23 dient als Beispiel für eine mögliche Aggregationsparallelität. Die Zustände der Komponenten sind weitestgehend unabhängig voneinander. Zu beachten ist jedoch, das die Zündung nur betätigt werden kann, sofern das Getriebe im Leerlauf ist.

Abb. 23 (Zustandsgeneralisierung und Aggregationsparallelität)
Abb. 23

[Seitenanfang]


Beziehung zwischen dem Objektmodell und dem dynamischen Modell

[Seitenanfang]


[Seminarübersicht] ... [Einführung in OMT] ... [Das funktionale Modell] ... [Seitenanfang]