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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!