Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
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