Modellierung von Signalfamilien – Teil 4

In unserem letzten Blogeintrag ging es darum, dass alle verwendeten Signale den gleichen Zustandsübergang auslösten. Wir haben einen Automaten modelliert, in dem ein Zustandsübergang durch den Empfang von FlugzeugFehler ausgelöst wird.


Klicken Sie hier um das Bild zu vergrößern

Der Zustandsübergang kann durch FlugzeugFehler oder aber auch durch seine Spezialisierungen wie FlugwerkFehler, BetriebsausrüstungFehler oder TriebwerkFehler ausgelöst werden. In diesem Fall ist der Zustandsübergang polymorph.


Klicken Sie hier um das Bild zu vergrößern

Betrachtet man z.B. einen Automaten mit einem Zustandsübergang, der durch den Empfang des Signals TragwerkFehler ausgelöst wird, so kann ein Blattsignal in dieser Hierarchie nur diesen einen Zustandsübergang auslösen. Der Zustandsübergang ist also nicht polymorph.

In diesem Blogeintrag möchten wir nun unseren Automaten mit neuen Informationen anreichern. Der Betrachtungsgegenstand, unser Hardware-Controller, soll nicht nur wie bisher einen Start unseres Flugzeugs verhindern, sondern auch eine, von insgesamt 3 LEDs ansteuern. Die LEDs in den Farben Rot, Grün und Orange sollen dabei je nach aufgetretenem Fehlerfall (FlugwerkFehler, BetriebsausrüstungFehler, TriebwerkFehler) in ihrer Farbe blinken und dadurch den Piloten auf den Fehler und die jeweilige Fehlerursache aufmerksam machen. Übertragen wir dieses neue Verhalten auf unser Diagramm, so ließe sich das wie folgt abbilden:


Klicken Sie hier um das Bild zu vergrößern

Basierend auf dem empfangenen Fehlertyp wird nun die Transition vom Zustand „flugfähig“ in den Zustand „nicht flugfähig“ angestoßen und gleichzeitig das Blinken von einer der drei LEDs des Automaten gestartet.
Allerdings nimmt eine Transition zwischen zwei Zuständen keine Zeit in Anspruch sondern geschieht sofort. Übertragen auf unseren Automaten führt diese Modellierungsvariante nicht zum Ziel, da die LEDs nur für den Bruchteil einer Sekunde blinken würden. Das Blinken der LEDs soll aber während der gesamten Dauer des Fehlerfalles sichtbar sein. Dies lässt sich abbilden, indem man den Zustand „nicht flugfähig“ um drei Unterzustände erweitert die ein Zustandsverhalten besitzen.

Ausmodelliert würde dies wie folgt aussehen:


Klicken Sie hier um das Bild zu vergrößern

Der Automat wechselt nun, basierend auf den empfangenen Signalen, vom Zustand „flugfähig“ in einen der drei Unterzustände. Solange dieser Zustand nicht verlassen wird, blinkt die jeweilige LED und signalisiert nun, dass das Flugzeug nicht flugfähig ist und welche Art von Fehler dies verursacht.

Sie stellen sich nun die Frage, wie wir diese Unterzustände nun aber verlassen können und vor allem wie sich dies auf unser Informationsmodell auswirkt? Dann seien Sie gespannt auf die Fortsetzung unserer Blogreihe, bei der wir uns genau mit dieser Thematik auseinandersetzen werden.

Schöne Grüße aus Nürnberg,

Ihre SOPHISTen
Hier finden Sie den 5.Teil der Blogserie Modellierung von Signalfamilien.

Schreibe einen Kommentar

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


9 × = achtzig eins