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