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.
call Consistent_Port_TypeDef(port_map, fp_tdef_it) or<br />
call Consistent_Const_TypeDef(constructor_map, fp_tdef_it)<br />
) .<br />
Strukturunifkation der Selektoren<br />
Auch für die Selektorunifikation ist durch die obige Berechnung der Konstruktorrelation<br />
die meiste Arbeit erledigt. Wir müssen lediglich die indexgleichen<br />
Selektorenpaare für die Konstruktorenpaare zusammensuchen. Anders gesagt,<br />
es werden zwei Selektoren unifiziert, wenn die definierenden Konstruktoren vereinigt<br />
sind und sie den gleichen Index haben.<br />
exists selector_map: lfp FP6 set<br />
fp6_it:(one:Selector, two:Selector)<br />
with (<br />
exists cm_fp6:constructor_map . (<br />
fp6_it.one.Constructor = cm_fp6.one <strong>and</strong><br />
fp6_it.two.Constructor = cm_fp6.two <strong>and</strong><br />
indexOf(fp6_it.one, cm_fp6.one, "Selectors") =<br />
indexOf(fp6_it.two, cm_fp6.two, "Selectors")<br />
))) .<br />
5.4.6 Zusammenfassung<br />
In Abschnitt 5.4 haben wir gesehen, wie die Unifikationsrelationen im Bereich<br />
der Datensicht berechnet wurden. Wir nutzten dafür ein Unifikationsverfahren<br />
für die Terme der Ein-/Ausgabeelemente, das auf der Struktur der Terme beruht.<br />
Wie für die Eingaben des Nutzers in interaktiven Dialogen, mussten auch<br />
die berechneten Ergebnisse auf Konformität mit dem im Folgenden erläuterten<br />
Konstruktionsteil der Spezifikationsvereinigung überprüft werden.<br />
5.5 Konstruktion der Vereinigungskomponente<br />
Bisher haben wir nur den analytischen Teil der Spezifikationsvereinigung betrachtet.<br />
Wir haben geeignete Datenstrukturen, die Unifikationsrelationen, in<br />
ODL definiert und erzeugen durch Nutzerinteraktion konkrete Datenobjekte.<br />
Wir werden diese nun nutzen, um aus den dort enthaltenen Informationen das<br />
Ergebnis der Spezifikationsunifikation zu erstellen, wie wir als erstes erläutern<br />
werden. Wir geben dann zunächst eine kurze Einführung in die konstruktiven<br />
Fähigkeiten von ODL, d.h. das Erzeugen von neuen Elementen und das Erstellen<br />
bzw. Auflösen von Assoziationen im Modell. Danach greifen wir einige Teile<br />
des Konstruktionsverfahrens heraus und erläutern sie. Wir besprechen nicht den<br />
gesamten Konstruktionsausdruck, da er in weiten Teil strukturell identisch ist<br />
und sich nur auf unterschiedliche Teile des Modells bezieht.<br />
5.5.1 Konstruktionsprinzip<br />
Die Konstruktion der verschmolzenen Komponente folgt für die einzelnen Modellelemente<br />
immer dem gleichen Prinzip. Dieses Prinzip ist bis auf die verwen-<br />
53