03.02.2014 Aufrufe

Spezifikationsmodule - Software and Systems Engineering - TUM

Spezifikationsmodule - Software and Systems Engineering - TUM

Spezifikationsmodule - Software and Systems Engineering - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

)<br />

result has Name(np, data.s) <strong>and</strong><br />

result has Ports(data.c, np)<br />

2.4 Modelltransformation: AutoFocus 2 Spezifikationsvereinigung<br />

Zum Aufbau größerer Modelle wird meist Komposition eingesetzt, d.h. eine<br />

größere Komponente besteht ihrerseits aus einer Anzahl von mitein<strong>and</strong>er kooperierender<br />

und kommunizierender Subkomponenten. Hin und wieder kann es<br />

aber notwendig sein, eine Komponente als Verschmelzung von zwei oder mehr<br />

bereits spezifizierten Komponenten zu konstruieren. Insbesondere die Kombination<br />

von anwendungsspezifischen Spezifikationen mit generellen, möglicherweise<br />

systemweiten, Spezifikationen ist hier von Interesse. Bisher ist die Durchführung<br />

solcher Verschmelzungen auf Spezifikations- und Modellebene wenig untersucht.<br />

Gängige Praxis ist jedoch die Zusammenführung auf Codeebene durch die Entwickler,<br />

was zeitaufwändig und fehleranfällig ist.<br />

In dieser Arbeit entwickeln wir eine Modelltransformation mit ODL, die für<br />

die Vereinigung von einfachen AutoFocus 2-Komponenten eingesetzt werden<br />

kann. Wir wollen zum Abschluß dieses Kapitels unser Vorhaben anh<strong>and</strong> eines<br />

konkreten Modells exemplarisch vorführen. Dabei beschreiben wir die Vereinigung<br />

zweier Komponenten aus den drei, hierfür wesentlichen, schon bekannten<br />

AutoFocus 2-Sichten: der Struktursicht, der Verhaltenssicht und der Datensicht.<br />

2.4.1 Struktursicht<br />

Als Beispiel betrachten wir die Komponente Press, die die Funktionalität einer<br />

Presse modelliert. Wir wollen sie mit der Komponente ErrorTreatment, die ein<br />

allgemeines Fehlerverhalten modelliert, verschmelzen. Abbildung 2.5 zeigt aus<br />

Sicht der <strong>Systems</strong>truktur diese beiden Komponenten, sowie das Ergebnis der<br />

Vereinigung, die Komponente MergedController.<br />

Cntrl : Control<br />

ErrorTreatment<br />

Sts : Status<br />

Cmd : Comm<strong>and</strong><br />

CntrlCmd : ControlComm<strong>and</strong><br />

SnsUp : SensorValue<br />

Press<br />

SnsUp : SensorValue<br />

MergedController<br />

Sts : Status<br />

SnsDn : SensorValue<br />

Act : ActorValue<br />

SnsDn : SensorValue<br />

SnsPc : SensorValue<br />

SnsPc : SensorValue<br />

Act : ActorValue<br />

Abbildung 2.5: Spezifikationsvereinigung der Struktursicht<br />

Die Komponente für das Fehlerverhalten besitzt einen Eingabeport Cntrl<br />

zur Steuerung und einen Ausgabeport Sts für Statusnachrichten.<br />

Die Komponente für die Pressefunktionalität hat neben dem Steuereingang<br />

14

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!