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.

Recheneinheiten bzw. -funktionen darstellen. Sie können über ihre Schnittstelle,<br />

die sogenannten Ports, Nachrichten empfangen und versenden. Mehrere Komponenten<br />

können mitein<strong>and</strong>er über Kanäle verbunden werden und darüber kommunizieren.<br />

So entstehen aus Einzelkomponenten durch Komposition größere<br />

Systemteile und schließlich das Gesamtsystem.<br />

In der vorliegenden Arbeit konzentrieren wir uns allerdings auf einzelne, atomare<br />

Komponenten, d.h. Komponenten, die eine Verhaltensbeschreibung besitzen<br />

und selbst nicht wieder aus Subkomponenten bestehen.<br />

Verhaltenssicht<br />

In AutoFocus 2 wird das Verhalten von atomaren Komponenten durch Zust<strong>and</strong>smaschinen<br />

beschrieben. Die Komponente besteht aus einer Menge von<br />

Zuständen und Zust<strong>and</strong>sübergängen, den Transitionen, zwischen diesen Zuständen.<br />

Transitionen können dabei mit Vorbedingungen und Eingabemuster, sowie<br />

Ausgabemuster und Nachbedingungen (Aktionen) erweitert sein.<br />

Die Erfüllung der Vorbedingung und das Auftreten passender Eingangsnachrichten<br />

an den Eingabeports führt zu einem Zust<strong>and</strong>sübergang mit der Ausgabe<br />

der festgelegten Nachrichten auf den Ausgabeports und der Ausführung der Aktionen.<br />

Ausgabe nehmen Einfluß auf die Umgebung einer Komponente, wohingegen<br />

Aktionen lokale Variablen und somit den internen Komponentenzust<strong>and</strong><br />

verändern. Der Komponentenzust<strong>and</strong> ist durch den aktuellen Automatenzust<strong>and</strong><br />

und die Belegung der lokalen Variablen festgelegt.<br />

Bei Zuständen gibt es, wie bei Komponenten, ebenfalls einen hierarchische<br />

Struktur, d.h. ein Zust<strong>and</strong> kann wiederum Unterzustände, also einen Teilautomaten,<br />

enthalten. Im Beispiel kapseln wir die Anwendungsfunktionalität des<br />

Pressesteuermoduls in einem eigenen Zust<strong>and</strong>.<br />

Datensicht<br />

Benutzerdefinierte Datentypen werden über einen einfachen einem Texteditor<br />

ähnlichen Editor festgelegt. Die dazu verwendete Definitionssyntax betrachten<br />

wir in Kapitel 3. Aus der textuellen Repräsentation wird durch einen Parser das<br />

zugehörige Modell der Datendefinitionen erzeugt.<br />

Für unsere Betrachtungen ist die Datensicht zentral, da sie zum einen sehr<br />

komplexe Modellstrukturen aufweist und zum <strong>and</strong>eren wir hier den Entwickler<br />

möglichst weitgehend unterstützen wollen. In Kapitel 5 werden wir die Spezifikationsunifikation<br />

auf der Datensicht voll automatisieren.<br />

Weitere Sichten<br />

Das AutoFocus 2 Werkzeug besitzt noch eine Reihe weiterer Sichten, die für<br />

unsere Betrachtungen nicht von Bedeutung sind, der Vollständigkeit halber aber<br />

nicht unerwähnt bleiben sollen.<br />

Für die Definition von Beispielabläufen einzelner Komponenten stehen Sequenzdiagramme<br />

(Message Sequence Charts) zur Verfügung. Im AutoMode-<br />

Projekt wurden diese in Verbindung mit den Komponentenmodussicht zur Definition<br />

von datenflussorientiertem Verhalten benutzt (siehe hierzu [<strong>TUM</strong>04a]).<br />

Im AutoRaid-Projekt wurde AutoFocus 2 mit Modellierungselementen und<br />

entsprechenden Sichten bzw. Editoren für die Anforderungsdefinition ausgestattet<br />

(vgl. hierzu [<strong>TUM</strong>04b]).<br />

8

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!