28.06.2013 Aufrufe

Visuelle Spezifikation, Modellierung und Animation im Systementwurf

Visuelle Spezifikation, Modellierung und Animation im Systementwurf

Visuelle Spezifikation, Modellierung und Animation im Systementwurf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

UML definiert Entwicklungs-, Fallstudien-, Paket-, Klassen-, Aktivitäts-, Sequenz-,<br />

Kollaborations- <strong>und</strong> Zustandsdiagramme. Wir werden uns <strong>im</strong> folgenden auf die kurze Skizzierung<br />

der letzten vier zur Verhaltensbeschreibung eingesetzten Formen beschränken.<br />

Aktion1<br />

Aktion2<br />

[Bedingung2]<br />

[Bedingung1]<br />

Aktion3<br />

Objekt1:Klasse1<br />

neu()<br />

aktiviere<br />

return<br />

Objekt2:Klasse2<br />

kill<br />

OK<br />

Objekt3:Klasse3<br />

check<br />

g<br />

C<br />

h<br />

i<br />

E<br />

A B<br />

f<br />

D<br />

Abbildung 2: UML Aktivitäts- , Sequenz- <strong>und</strong> Zustandsdiagramme<br />

Aktivitätsdiagramme sind die UML-Variante von klassischen Kontrollflußdiagrammen. Sie<br />

beschreiben die <strong>im</strong>perative Sichtweise eines Algorithmus. Knoten stellen Variablenzuweisungen,<br />

Prozeduraufrufe oder allgemeine Aktionen dar. Meist wird das Aufspannen <strong>und</strong><br />

Zusammenführen von parallelen Kontrollflüssen (Fork/Join) unterstützt. Abb. 2 zeigt ein<br />

Aktivitätsdiagramm. Start <strong>und</strong> Ende werden durch einen schwarzen Punkt mit <strong>und</strong> ohne<br />

Kreis gebildet. Fallunterscheidungen werden durch mehrere ausgehende Kanten dargestellt,<br />

die mit den entsprechenden Bedingungen für die Alternativen markiert sind.<br />

Sequenzdiagramme stellen den zeitlichen Ablauf zwischen kommunizierenden parallelen<br />

Objekten dar. Der Berechnungsablauf jedes Objektes wird durch eine von oben nach unten<br />

führende Zeitlinie skizziert. Ein Pfeil ausgehend von der Zeitlinie eines Objektes bezeichnet<br />

den Aufruf einer Methode eines anderen Objektes oder das Senden einer Nachricht<br />

zu diesem Objekt. Abb. 2 zeigt ein einfaches UML-Sequenzdiagramm mit 3 Objekten.<br />

Ausgefüllte Pfeile bezeichnen Methodenaufrufe während asynchrone Nachrichten durch<br />

halbierte Pfeile <strong>und</strong> Terminierung durch X dargestellt werden.<br />

Kollaborationsdiagramme sind i.W. eine Mischform aus Sequenz- <strong>und</strong> Aktivitätsdiagrammen<br />

<strong>und</strong> sollen aus diesem Gr<strong>und</strong> nicht näher vorgestellt werden.<br />

Letztendlich sei hier noch auf die heutzutage sehr populären Zustandsdiagramme eingegangen.<br />

Zustandsdiagramme sind gerichtete (manchmal hierarchische) Graphen. Die Knoten<br />

definieren Zustände <strong>und</strong> Kanten Zustandsübergänge. Die Kanten werden normalerweise<br />

mit einem Ausdruck der Form ”E(B)/A” beschriftet. Dies beschreibt, daß der Übergang<br />

ausgeführt wird, falls ein Ereignis E eintritt <strong>und</strong> die Bedingung B erfüllt ist. Be<strong>im</strong> Übergang<br />

wird dann die spezifizierte Aktion A ausgeführt. Dieses Verhalten ist unter dem Namen<br />

Mealy-Automat bekannt. Werden Aktionen Zuständen zugeordnet so bezeichnet man<br />

das Model als Moore-Automat. UML unterstützt beide Varianten in Verbindung mit hierarchischen<br />

statechart-basierten Zustandsdiagrammen. Statecharts erweitern die klassischen<br />

Zustandsdiagrammen um Hierarchie (Higraphs), Nebenläufigkeit <strong>und</strong> einen Broadcast-<br />

Mechanismus. Abb. 2 zeigt ein sehr einfaches UML Zustandsdiagramm. Der Einfachheit<br />

halber enthalten hier die Kantenbeschriftungen nur Ereignisse. Das Bild zeigt eine hierarchischen<br />

Zustand E mit zwei parallelen Automaten jeweils mit den Zuständen (A,B) <strong>und</strong><br />

(D). Die durch schwarze Punkte gekennzeichneten Initialzustände B <strong>und</strong> D werden bei i<br />

eingenommen. g bezeichnet den Übergang von allen in E enthalten Unterzuständen zu C.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!