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.
Für die interaktive Spezifikationsvereinigung nutzen wir die Dialogfähigkeiten<br />
von ODL und gliedern den Ablauf in mehrere Dialogeinzelschritte. In jedem<br />
wird der Entwickler nach einzelnen Teilen des aus dem Theorieteil bekannten<br />
Unifikators gefragt, wobei ständig die Zulässigkeit seiner Entscheidungen überprüft<br />
wird. Es ist ihm nur erlaubt von einem Dialog aus fortzufahren, wenn die<br />
von ihm definierte Unifikationsrelation bezüglich der Abhängigkeiten mit seinen<br />
früheren Entscheidungen verträglich ist. Andernfalls wird eine Fortsetzung des<br />
interaktiven Ablaufs verhindert bis die Korrektheit gemäß den Abhängigkeiten<br />
hergestellt ist oder abgebrochen wird.<br />
Bei der Definition des Ablaufs mittels ODL könnten wir sehr schematisch<br />
vorgehen und für jedes Metamodellelement bzw. jede Unifikationsrelation einen<br />
gleichartigen Abfragedialog definieren. Da wir jedoch maximalen Nutzen aus<br />
den Entscheidungen des Nutzers ziehen wollen, werden wir hier eine nichtschematische<br />
Variante des ODL-Ablaufs aufbauen und für jeden Teil des Unifikators<br />
einen möglichst nutzerfreundlichen Dialog konstruieren, indem wir gewisse<br />
Vorberechnungen vornehmen. Die interne Abhängigkeit bei Port bietet sich<br />
hierfür beispielsweise an.<br />
Desweiteren werden wir einige Unifikationsrelationen automatisch bestimmen,<br />
indem wir die Abhängigkeiten und die getroffenen Festlegungen zur Berechnung<br />
nutzen. Dies gilt im folgenden für den Bereich der Datendefinitionen,<br />
obwohl auch hier eine interaktive Variante denkbar ist (vgl. Abschnitt 3.4).<br />
5.2 Festlegung der Dialogführung<br />
In Abbildung 4.2 auf Seite 36 haben wir die für die Spezifikationsvereinigung<br />
relevanten Metamodellelemente und deren Abhängigkeiten gesehen. Für jedes<br />
Element ergab sich dabei genau eine Unifikationsrelation. Diese werden wir nun<br />
nicht durch existenzielle Quantifizierung, wie in Abschnitt 4.4, berechnen, sondern<br />
interaktiv durch den Entwickler bestimmen lassen. Die Forderung, dass<br />
Unifikationsrelationen partielle ein-eindeutige Funktionen sein müssen halten<br />
wir aufrecht. Wie in Abschnitt 4.2 gezeigt, ist dies eine Hilfsforderung um den<br />
Konstruktionsteil nicht zu verkomplizieren.<br />
Die naheliegende Umsetzung, nämlich jede Relation vom Nutzer aus allen<br />
vorh<strong>and</strong>enen Modellelementen auszuwählen, liefert zwar ein effektives, interaktives,<br />
aber kaum praktikables und auch nicht effizientes Verfahren. Wir werden daher<br />
der Reihe nach alle Unifikationsrelationen durchgehen und eine jeweils günstige<br />
Dialogvariante erläutern. Insbesondere möchten wir die Auswahlmöglichkeiten<br />
eines Dialogs auf das zulässige Minimum beschränken. Wir nutzen dazu<br />
die festgelegten Abhängigkeiten. Bei der Reihenfolge der Einzelschritte orientieren<br />
wir uns an den Modellierungssichten von AutoFocus 2. Beginnend mit der<br />
Struktursicht, kommen wir über die Verhaltenssicht schließlich zur Datensicht.<br />
Die hier beschriebene Dialogführung entspricht dem Programmlisting in Anhang<br />
A. Sie erhebt nicht den Anspruch absolut zu sein, sondern stellt vielmehr<br />
eine Möglichkeit dar, die Spezifikationsvereinigung interaktiv umzusetzen. An<br />
den entsprechenden Stellen geben wir jeweils den Hinweis auf alternative Dialogvarianten,<br />
die meist auch eine Anpassung des in Abschnitt 5.5 beschriebenen<br />
Konstruktionsteils erfordern.<br />
41