Die Tücken der Implizität

Hier eine kleine UML Preisfrage:

Welche Gleichheitszeichen sind korrekt, die beiden linken oder die beiden rechten?

Na, wer weiß die Antwort?

Die korrekte Antwort lautet: Es kommt darauf an!
Und zwar darauf, welche Version der UML man verwendet.Bis zur UML Version 1.5 galt: Mehrere Pfeile auf eine Aktion oder von einer Aktion ausgehend bedeuten ein implizites ODER.Die sogenannten Activity Graphs wurden bis zu dieser Version nämlich als Sonderfall der Zustandsautomaten behandelt und erbten somit auch deren Semantik. Ein Activity State (so wurden Aktivitäten damals genannt) wurde betreten, sobald eine Transition zu diesem durchlaufen wurde. Nach Beendigung der Aktion wurde die ausgehende Transition getriggert. Bei mehreren ausgehenden Transitionen mussten diese durch Bedingungen (Guards) unterschieden werden.Auf die Version 1.5 folgte die Version 2.0 mit einigen größeren Änderungen. Unter anderem wurden Aktivitätsdiagramme nun nicht mehr als Spezialfall der Zustandsautomaten gesehen, sondern gekamen eine ganz eigenständige Semantik (angelehnt an die guten alten Petri-Netze mit ihrem Token-Konzept). Ab hier heißt es: „… Except where noted, an action can only begin execution when all incoming control edges have tokens, and all input pins have object tokens. […] When the execution of an action is complete, it offers tokens in its outgoing control edges and output pins, where they are accessible to other actions. …“ (Quelle: UML 2.0 Superstructure).Sprich, eine Aktivität wird erst ausgeführt, sobald an allen eingehenden Kanten ein Token anliegt (= Synchronisierung aller Vorgänger-Aktionen) und erzeugt nach ihrer Beendigung an jeder ausgehenden Kante ein Token (= Parallele ausführung aller Nachfolger-Aktionen)Seit der UML Version 2.0 gilt also: Mehrere Pfeile auf eine Aktion oder von einer Aktion ausgehend bedeuten ein implizites UND.
Mein Tipp: Vermeidet am Besten jegliche Form impliziter Darstellung und modelliert statt dessen immer explizit das, was ihr meint. Dann lauft ihr nicht gefahr, dass andere eure Diagramme fehlinterpretieren!

Schreibe einen Kommentar

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


zwei × 2 =