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.
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