22.11.2013 Aufrufe

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

wird - sofern möglich - eben diese Strategie verfolgt und versucht, sämtliche zur Ausführung<br />

nötigen Statements durch entsprechende UML-Aktionen abzubilden. Ist dies nicht möglich, so<br />

werden die fehlenden Statements durch C++-Code ergänzt, der an das Rhapsody-Framework<br />

angepasst ist.<br />

5.1.4.4.5. Modellierung der Systemverhaltenssicht in der SysML<br />

Entgegen dem Vorgehen in den anderen Kapiteln soll der Fokus dieses Unterabschnittes nicht<br />

so sehr auf einer Diskussion der einzelnen Notationselemente liegen, sondern eher auf der Beschreibung<br />

einzelner Modellierungsmuster (also von Gruppen einzelner Notationselemente) für<br />

wichtige, immer wiederkehrende Problemstellungen. Dies liegt zum einen darin begründet, dass<br />

sowohl Aktivitäts-, als auch Zustandsdiagramme eine Vielzahl von Notationselementen aufweisen.<br />

Je nach Aufgabenstellung ist eine andere Untermenge dieser Notationselemente sinnvoll,<br />

weswegen keine einfache Unterscheidung in geeignete und ungeeignete Sprachelemente möglich<br />

ist. Daher enthält die Sprachdefinition der SysML(A) auch alle verhaltensspezifizierende<br />

Elemente der UML bzw. SysML. Zum anderen ist es gerade auf Grund dieser Komplexität sinnvoll,<br />

Hinweise zu geben, welche Entwurfsmuster sich in der Modellierungspraxis bewährt haben<br />

und daher bei der Erstellung der Verhaltensmodelle bevorzugt werden sollten. Dabei wird berücksichtigt,<br />

dass entsprechend den Aussagen aus dem vorherigen Kapitel möglichst viele der<br />

UML/SysML-Aktionen verwendet werden, um den Einsatz einer Aktionssprache möglichst zu<br />

vermeiden.<br />

Senden von Signalen<br />

Eine besondere Charakteristik reaktiver Systeme ist die Kommunikation zwischen Systembestandteilen<br />

untereinander und von Systembestandteilen und der Systemumgebung. Wie bereits<br />

bei der Beschreibung der Systemabgrenzung dargelegt, erfolgt die ereignisorientierte Kommunikation<br />

dabei über Ports und Signale. Für jeden Signalempfang und jede Aussendung eines<br />

Signals lässt sich genau ein diskreter Zeitpunkt bestimmen.<br />

Das Aussenden von Signalen aus einem Verhaltensmodell heraus ist typischerweise dann erforderlich,<br />

wenn in einem Umgebungsobjekt oder einer Systemkomponente eine Aktion ausgelöst<br />

werden soll. Anwendungsfälle im Eisenbahnwesen für dieses Modellierungskonstrukt könnten<br />

sein:<br />

• Senden des Einschaltanstoßes vom Einschaltkontakt an die Bahnübergangssicherungsanlage<br />

• Auslösen einer Zwangsbremsung durch die Zugbeeinflussung mittels Senden eines entsprechenden<br />

Signals an die Bremseinwirkbaugruppe<br />

• Auch möglich ist die Darstellung der Zustandsänderung von Komponenten. So ließe sich<br />

beispielsweise die Fahrtstellung eines Hauptsignalbildes durch das Senden eines (UML-<br />

Signals) vom Hauptsignal-Objekt zum Akteur des Triebfahrzeugführers mit dem Parameter<br />

„Aktuelles Signalbild = Ks1” modellieren.<br />

Nicht geeignet ist das hier beschriebene Modellierungsmuster jedoch für das kontinuierliche<br />

Senden und Empfangen von Daten- oder Stoffströmen. Dies sollte über Flowports und eine<br />

entsprechende Aktivitätsmodellierung mit Objektknoten oder SendObjectActions geschehen.<br />

Modellierungselement für das Versenden von Signalen ist die in UML vordefinierte Aktion Send-<br />

SignalAction [OMG07-2, S. 284]. Sie erwartet als Argumente das zu versendende Signal und das<br />

Zielobjekt. Die spezielle pfeilförmige Notation dieser Aktion gibt einen Hinweis auf das Verhalten<br />

der Aktion, wie Bild 5.12 zeigt.<br />

59

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!