Ausnahmetransition
Eine Ausnahmetransition kontrolliert das Schalten in den nächsten Zustand oder Pseudozustand, wenn ein Fehler oder eine Ausnahme (Exception) auftritt. Sie hat eine Wächterbedingung und optional eine Aktion.
Der Quellzustand ist üblicherweise ein zusammengesetzter oder ein orthogonaler Zustand. Ausnahmetransitionen können nicht für „normale“ Zustände verwendet werden. Innerhalb des zusammengesetzten oder orthogonalen Zustands, der über eine Ausnahmetransition verfügt, ist jedoch i.d.R. ein „normaler“ Zustand aktiv.
Eine Ausnahmetransition unterbricht die laufende Verarbeitung. Der gerade aktive Zustand wird zunächst bis zum Ende des Zyklus abgearbeitet, sodass die Ausführung der aktuell ausgeführten DO-Aktion(en) abgeschlossen wird. Dann geht das System in den Zustand über, der als Reaktion auf diese Ausnahme vorgesehen ist. In diesem Zustand werden die Fehlerbehandlung und das Ausnahmeverhalten ausgeführt. Der Quellzustand ist üblicherweise ein zusammengesetzter orthogonaler Zustand.
![]() | Die Ausnahmetransition wird verwendet, um einen zusammengesetzten Zustand von jedem Unterzustand aus zu verlassen. Ihr Zustand wird bewertet, nachdem die DO-Aktion für den aktiven Zustand ausgeführt wurde. Selbst wenn also die Bedingung für die Ausnahmetransition bereits beim ersten Eintritt eines zusammengesetzten Zustands TRUE ist, wird die DO-Aktion des ersten Zustands ausgeführt. Da ENTRY- und EXIT-Aktionen nicht an Bedingungen geknüpft sind, werden sie immer unabhängig von der Ausnahmetransition ausgeführt. Sie können eine Ausnahmetransition dahingehend interpretieren, dass sie nicht vom zusammengesetzten Zustand ausgeht, sondern direkt von jedem Unterzustand. Die Bedingungen für die Ausnahmetransitionen werden nach ihren DO-Aktionen bewertet. Da ENTRY- und EXIT-Aktionen nicht an Bedingungen geknüpft sind, werden sie immer unabhängig von der Ausnahmetransition ausgeführt. |
Eine Ausnahmetransition wird durch einen rot gestrichelten Pfeil dargestellt und seine Spitze zeigt auf den nächsten Zustand.
Pseudo-Ausnahmetransition
Eine Pseudoausnahmetransition ersetzt den Endzustand in einem zusammengesetzten Zustand und wird durch einen blau gestrichelten Pfeil dargestellt.
Manchmal ist es übersichtlicher, anstelle eines Endzustandes in einem zusammengesetzten Zustand, der mit sehr vielen Transitionen verbunden ist, eine Transition am Rande des zusammengesetzten Zustands zu zeichnen, unter deren Bedingung der gesamte zusammengesetzte Zustand verlassen wird. Dies geschieht analog zur Ausnahmetransition, aber ohne deren inhaltliche Bedeutung, dass dies ein Fehlverhalten darstellt. Es wird daher als Pseudo-Ausnahmetransition bezeichnet. Eine Pseudo-Ausnahmetransition hat keinen Einfluss auf das zyklische Ausführungsverhalten.
Eigenschaften
„Eigenschaft“ | Beschreibung |
---|---|
„Beziehungstyp“ | Ausnahmetransition (nicht editierbar) |
„Priorität“ | Priorität, die die Abarbeitungsreihenfolge festlegt Beispiel: 3 Hinweis: Wenn der Zustand weitere Transitionen hat und Sie die Priorität ändern, sind alle Transitionen von der Änderung betroffen und werden automatisch angepasst. |
„Pseudoausnahme“ |
|
„Steigende Flanke“ |
|
Ausnahmetransition editieren
Benutzereingabe im Zustandsdiagramm | Reaktion im Zustandsdiagramm | Beschreibung |
---|---|---|
Selektieren Sie „Ausnahmetransition“ in der Werkzeugbox. Klicken Sie auf einen zusammengesetzten Zustand (Quellzustand) und danach auf einen anderen Zustand (Zielzustand). |
| Eine Ausnahmetransition mit TRUE-Bedingung und einem Aktionssymbol wird angelegt. |
Klicken Sie auf einen zusammengesetzten Zustand (Quellzustand) im Zustandsdiagramm. | Das Icon, über das eine ausgehende Ausnahmetransition zu dem ausgewählten Zustand hinzugefügt werden kann, ist verfügbar. Wenn Sie es verwenden, wird der Zustand um eine ausgehende Ausnahmetransition erweitert. Der Zielzustand wird mit einem weiteren Klick bestimmt. | |
Doppelklicken Sie auf das Symbol |
| Ein Eingabefeld mit IntelliSense-Funktionalität öffnet. Wählen Sie eine boolesche Variable oder einen booleschen Ausdruck aus. Ist die gewünschte Auswahl im IntelliSense selektiert, kann die Auswahl mittels Doppelklick oder mittels Fokussieren plus [Enter] ausgewählt werden. |
Klicken Sie zwei Mal auf das Symbol |
| Ein Eingabefeld mit IntelliSense-Funktionalität öffnet. Wählen Sie eine Methode oder Aktion aus. Ist die gewünschte Auswahl im IntelliSense selektiert, kann die Auswahl mittels Doppelklick oder mittels Fokussieren plus [Enter] ausgewählt werden. Diese gewählte Methode oder Aktion wird ausgeführt, wenn die Transition geschaltet hat. |
Klicken Sie auf die Transition, auf das Aktionssymbol oder auf das Überwachungssymbol. |
| Die Transition ist selektiert (dargestellt durch einen blauen Pfeil). Eine selektierte Transition kann via Drag-and-Drop verschoben werden. Die Position der verbundenen Zustände bleibt unverändert. |
Klicken auf den Anfang oder das Ende einer Ausnahmetransition. | Das Symbol |