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.

im Wesentlichen makePorts() entspricht.<br />

define copyPorts(<br />

new_comp:Component,<br />

new_copy_port_map:set(orig:Port,copy:Port)<br />

) as (<br />

forall mk_prt:new_copy_port_map . (<br />

result has Ports(new_comp, mk_prt.copy) <strong>and</strong><br />

result has Name(mk_prt.copy, mk_prt.orig.Name) <strong>and</strong><br />

exists mk_nd:new Direction . (<br />

result has Direction(mk_prt.copy, mk_nd) <strong>and</strong><br />

result has IsEntry(mk_nd, mk_prt.orig.Direction.IsEntry)<br />

) <strong>and</strong><br />

exists mk_prt_mt:new MIFType . (<br />

result has DefinedType(mk_prt.copy, mk_prt_mt) <strong>and</strong><br />

result has Model(mk_prt_mt, mk_prt.orig.DefinedType.Model)<br />

))) .<br />

5.6 Zusammenfassung<br />

In diesem Kapitel haben wir einen möglichen interaktiven Ablauf der Spezifikationvereinigung<br />

illustriert und in ODL umgesetzt. Unser Ziel war die Darstellung<br />

der Fähigkeiten von ODL zur Definition interaktiver Modelltransformationen.<br />

Für solch komplexe Transformationen gibt es meist mehrere alternative<br />

Dialogführungen und Dialogformen, sodass eine genaue Betrachtung im jeweils<br />

konkreten Fall notwendig ist.<br />

Wir haben die Spezifikationsunifikation in zwei wesentliche Teile gegliedert.<br />

Der analytische Teil lieferte interaktiv oder, wie im Falle der Datentypen und der<br />

Termunifikation, automatisch berechnete Datenstrukturen für die Unifikationsrelationen.<br />

Wir haben auf die Darstellung der Berechnung für nicht-unifzierte<br />

Elemente, d.h. Elemente, die in die erzeugte Spezifikation nur einkopiert werden<br />

müssen, verzichtet. Der Leser sei hierfür auf den Programmtext in Anhang A<br />

verwiesen.<br />

Diese vom Nutzer eingegebenen oder berechneten Daten bilden, so sie konsistent<br />

sind, die Grundlage für den konstruktiven Teil. Er erzeugt die vereinigte<br />

Komponente. Wir haben gesehen, dass beide Teile aufein<strong>and</strong>er abgestimmt sein<br />

müssen, wobei die Forderung der Ein-Eindeutigkeit hier wesentliche Vereinfachungen<br />

gebracht hat. Unsere Darstellungen begrenzten wir auf die Vorführung<br />

der wichtigsten Teile. Das vollständige Programm findet sich in Anhang A.<br />

57

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!