Modellierung von Signalfamilien – Teil 3

Nachdem wir im zweiten Teil unserer Blogserie unseren Zustandsautomaten stark vereinfacht haben, werfen wir in diesem Teil einen genaueren Blick in unser Informationsmodell. In den meisten ereignisgesteuerten Systemen lassen sich Klassen hierarchisch unterteilen. In unserem Beispiel führten wir die Basisklasse FlugzeugFehler ein, mit dessen Hilfe wir unsere Signale geschickt zusammenfassen konnten. Unser Zustandsautomat ließ sich dann wie folgt vereinfachen:


Klicken Sie hier um das Bild zu vergrößern

Betrachten wir aber dann unser Informationsmodell so wirkt es aufgrund der vielen verschiedenen Klassen ähnlich überladen wie unser ursprünglicher Zustandsautomat:


Klicken Sie hier um das Bild zu vergrößern

Um diesem Sachverhalt entgegen zu wirken, suchen wir nach gemeinsamen Arten von Signalen und platzieren sie mittels Vererbung in einer Generalisierungshierarchie. Betrachten wir den Aufbau eines Flugzeuges, so lassen sich insgesamt drei übergeordnete Fehlertypen identifizieren. Wir führen aus diesem Grund die neuen Klassen FlugwerkFehler, TriebwerkFehler und BetriebsausrüstungFehler ein. Diesen weisen wir den zu ihnen passenden Signalen zu. Unser Informationsmodell ließe sich wie folgt darstellen:


Klicken Sie hier um das Bild zu vergrößern

Unser Informationsmodell wirkt gleich aufgeräumt und strukturierter. Gleichzeitig bietet diese Modellierungsheuristik die Möglichkeit unseren Zustandsautomaten mit Informationen anzureichern ohne ihn unnötig zu überlasten:


Klicken Sie hier um das Bild zu vergrößern

Durch den Wechsel von der Verhaltensperspektive in die Strukturperspektive und die geschickte Hierarchisierung von Signalen, erhalten wir zwei sich untereinander ergänzende Diagramme mit hohem Informationsgehalt und klarer Struktur. Darüber hinaus lässt das Informationsmodell leicht um weitere Signale erweitern, ohne das die Lesbarkeit zu stark abnimmt.


Klicken Sie hier um das Bild zu vergrößern

Als kleinen Tipp empfehlen wir aus Gründen der Übersicht nie mehr als 7±2 abgeleitete Klassen an eine Basisklasse zu modellieren. Ansonsten fassen Sie gemeinsame Arten von Klassen innerhalb ihres Informationsmodells nach der oben aufgeführten Methode zusammen.

Diese Modellierungsvariante war möglich, da alle unsere verwendeten Signale den gleichen Zustandsübergang und damit das gleiche Verhalten auslösten. Wie geht man aber mit dem Fall um das unsere drei neuen Signaltypen nicht das gleiche Verhalten auslösen? Seien Sie gespannt auf den vierten Teil unserer Blogserie wenn wir uns mit dieser Problemstellung befassen.

Grüße aus Nürnberg
Ihre SOPHISTen

Hier finden Sie Teil 4 unserer Blogserie „Modellierung von Signalfamilien“.

Hinterlasse eine Antwort

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


7 − = zwei

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>