Sequenzdiagramme und Frames – Bedingungen und Iterationen

UML2 stellt das Konstrukt „Frames“ bereit, um Variationen im Kontrollfluss zu modellieren. Ein Frame besteht aus einem Operator und einer „Guard condition“. Hier einige Beispiele für Operatoren:

  • opt: Das Fragment innerhalb des Frames wird ausgeführt, wenn die guard condition erfüllt wird ( entspricht einem „if“)
  • alt: Der Frame beinhaltet mehrere Alternativen, von denen eine ausgeführt wird (verschachtelte „ifs“ order „if-else“)
  • region: Kritischer Abschnitt, der zu jedem Zeitpunkt nur von einem Thread ausgeführt werden kann („synchronized“)
  • par: Die Fragmente des Frames werden parallel ausgeführt
  • loop: Ausführung des Fragments, solange die guard condition erfüllt ist („while“)
  • ref: Aufruf eines anderen Interaktionsdiagramms

Frames können beliebig geschachtelt werden, und erlauben somit eine detaillierte Beschreibung von Interaktionen. Hier ist es dem Modellierer überlassen, die richtige Abstraktionsebene zu wählen.
Das folgende Bild zeigt eine Verschachtelung von Frames, als Beispiel soll eine Person über ihre Adressen iterieren und alle ShippingAddresses als Value-Objects zurückgeben. Die „loop“ iteriert über alle Addressobjekte der Person, der innere Frame arbeitet auf der von der loop selektierten Addresse, und führt das in dem Frame beschriebene Fragment aus, wenn die Adresse vom Typ „ShippingAddress“ ist.

frames

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.