Zustandautomaten: Verhalten in Zuständen (OnEntry/Exit/Do)

Der Beitrag richtet sich an Einsteiger und fortgeschrittene Anwender gleichermaßen und diskutiert die Möglichkeiten um Verhalten an Zuständen zu definieren.

Kontext

In UML (und auch SysML) kann an den Zuständen in Zustandsautomaten ein internes Verhalten definiert werden. Dieses Verhalten kann – laut UML Standard Version 2.5.1, Ausgabe 17-12-05 – in die Kategorien entry, exit und do eingeteilt werden.

Das entsprechende UML Metamodell definiert folgendes:

Daraus geht eindeutig hervor, das pro interner Verhaltenskategorie nur maximal ein Verhalten definiert werden kann/darf.

Umsetzung im Enterprise Architect bis inkl. Version 13

Der im Standardverhalten der Anwendung verwendete Eigenschaften-Dialog für die Definition von Verhalten an Zuständen hält sich nicht an den UML-Standard und bietet die Möglichkeit, auch mehr als ein Verhalten pro Verhaltenskategorie (entry, exit, do) zu definieren.

Umsetzung im Enterprise Architect ab Version 14

Das im Standardverhalten der Anwendung verwendete Eigenschaften-Fenster für die Definition von Verhalten an Zuständen hält sich exakt an den UML-Standard und bietet nur die Möglichkeit, ein Verhalten pro Verhaltenskategorie (entry, exit, do) zu definieren. Möchte man mehr als ein Verhalten definieren, so muss innerhalb des jeweiligen Verhaltens kaskadiert werden (z.B. kann als [Behavior] ein Aktivitäts-Modellelement zugeordnet werden, dass seinerseits weiteres Verhalten aufruft).

Wird jedoch die Rückwärts-Kompatibilität zum EA-13 aktiviert, so kann in dem angezeigten modalen Eigenschaften-Dialog mehr als ein Verhalten pro Verhaltenskategorie definiert werden  – was jedoch nicht dem UML-Standard entspricht!

Quellen- und Literaturverweise:

Veröffentlicht unter Benutzerschnittstelle, Enterprise Architect, Modellieren mit SysML, Modellieren mit UML, Tips & Tricks
Schlagworte: , , ,