Skip to main content

Element: Ausnahmetransition

Eine Ausnahmetransition kontrolliert das Schalten in den nächsten Zustand oder Pseudozustand, wenn ein Fehler oder eine Ausnahme (Exception) auftritt. Die Ausnahmetransition hat eine Wächterbedingung und optional eine Aktion.

Eine Ausnahmetransition unterbricht die laufende Verarbeitung. Der gerade aktive Zustand wird zunächst bis zum Ende des Zyklus abgearbeitet. 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.

_uml_img_exception_transition.png

Tipp

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.

Pseudoausnahmetransition

Eine Pseudoausnahmetransition ersetzt den Endzustand in einem zusammengesetzten Zustand.

Abbildung 1. Notation einer Pseudo-Ausnahmetransition
Notation einer Pseudo-Ausnahmetransition


Manchmal ist es übersichtlicher, in einem zusammengesetzten Zustand anstelle eines Endzustands eine Ausnahmetransition zu verwenden. Diese wird dann am Rande des zusammengesetzten Zustands gezeichnet. Unter der Bedingung der Ausnahmetransition wird dann der gesamte zusammengesetzten Zustand verlassen. Diese Verwendung stellt jedoch kein Fehlerverhalten dar. Die Ausnahmetransition wird daher in ihren Eigenschaften als Pseudo-Ausnahmetransition definiert. Sie hat keinen Einfluss auf das zyklische Ausführungsverhalten.

Eigenschaften

Eigenschaft

Beschreibung

Typ

Exception Transition

Priorität

Priorität; legt die Abarbeitungsreihenfolge fest

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

  • _cds_icon_option_deactivated.png: Normale Ausnahmetransition. Im Editor wird der Pfeil mit gestrichelter roter Linie dargestellt. Voreinstellung.

  • _cds_icon_checked.png: Pseudo-Ausnahmetransition. Im Editor wird der Pfeil mit gestrichelter blauer Linie dargestellt. Wenn die Bedingung erfüllt ist, wird der Zustand verlassen. Allerdings handelt es sich nicht um einen Fehler.

Steigende Flanke

  • _cds_icon_checked.png: Wenn die Wächterbedingung eine steigende Flanke liefert, wird die Transition durchlaufen und der Zustandsübergang ausgeführt.

    Tipp: Im Editor ist eine Ausnahmetransition, die sich so verhält, mit dem Symbol _uml_icon_transition_rising_edge.png markiert.

  • _cds_icon_option_deactivated.png: Wenn die Wächterbedingung TRUE ist, wird die Transition durchlaufen.

Benutzereingaben

Aktion

Beschreibung

  1. Selektieren Sie in der Ansicht Werkzeug das Element Ausnahmetransition.

  2. Klicken Sie auf einen zusammengesetzten Zustand.

  3. Klicken Sie auf einen anderen Zustand (Zielzustand).

Eine Ausnahmetransition mit TRUE-Bedingung und einem Aktionssymbol wird erzeugt.

Anmerkung

Wenn Sie nicht auf ein bestehendes Element klicken, sondern auf einen freien Bereich, wird ein neuer Zustand (Zielzustand) erzeugt.

  1. Selektieren Sie auf einen zusammengesetzten Zustand.

  2. Klicken Sie auf das Symbol _uml_icon_tool_transition_exception.png.

  3. Klicken Sie auf einen anderen Zustand (Zielzustand).

Eine Ausnahmetransition mit TRUE-Bedingung und einem Aktionssymbol wird erzeugt.

  1. Doppelklick auf das Symbol _uml_transition_condition_default.png.

    Ein Eingabefeld öffnet sich.

    _uml_icon_input_assistant.png

  2. Wählen Sie eine boolesche Variable oder einen booleschen Ausdruck aus.

Wenn diese Bedingung erfüllt ist, wird die Transition geschalten.

  1. Klicken Sie zweimal auf _uml_icon_sc_transition_action_2.png.

    Ein Inline-Editor öffnet sich.

  2. Geben Sie den Namen eines Programms, einer Methode oder Aktion ein.

Wenn Sie mit Tippen beginnen, erscheinen die passenden Komponenten in einer Auswahlliste. Sie können mit einem Doppelklick das Objekt auswählen.

Diese gewählte Methode oder Aktion wird ausgeführt, wenn die Transition geschaltet hat.

  1. Klicken Sie einmal auf eine Transition, auf das Aktionssymbol oder das Wächtersymbol.

    Die Transition ist selektiert. Das wird durch eine blauen Pfeil dargestellt.

  2. Verschieben Sie die Transition mit der Maus.

Der Linie einer Transition kann beliebig verschoben werden. Dabei behalten die Zustände ihren Platz.

  1. Klicken Sie auf den Anfang oder das Ende einer Ausnahmetransition.

    Das Symbol _uml_icon_reconnect_transition.png erscheint.

  2. Ziehen Sie das Symbol auf einen anderen Zustand.

Mit dieser Funktion können Sie eine Transitionen auf einen anderen Zustand ziehen, ohne dass die bisherige Konfiguration verloren geht. Die zugehörige Bedingung und Aktion bleiben erhalten.