Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
define setCopiedMIFTerm(<br />
orig:MIFTerm, copy: MIFTerm,<br />
new_constructor_map:set(<br />
orig:(one:Constructor, two:Constructor), copy:Constructor),<br />
new_copy_constructor_map:set(<br />
orig:Constructor, copy:Constructor),<br />
new_appl_map:set(orig:(one:Appl, two:Appl), copy:Appl),<br />
new_copy_appl_map:set(orig:Appl, copy:Appl),<br />
new_lvcn_map:set(<br />
orig:(one:LocVariableConst, two:LocVariableConst),<br />
copy:LocVariableConst),<br />
new_copy_lvcn_map:set(<br />
orig:LocVariableConst, copy:LocVariableConst)<br />
) as (<br />
exists ncon:new_constructor_map . (<br />
( orig.Model = ncon.orig.one or orig.Model = ncon.orig.two<br />
) <strong>and</strong> result has Model(copy, ncon.copy)<br />
) or<br />
exists nccon:new_copy_constructor_map . (<br />
orig.Model = nccon.orig <strong>and</strong> result has Model(copy, nccon.copy)<br />
) or<br />
exists napp:new_appl_map . (<br />
( orig.Model = napp.orig.one or orig.Model = napp.orig.two<br />
) <strong>and</strong> result has Model(copy, napp.copy)<br />
) or<br />
exists ncapp:new_copy_appl_map . (<br />
orig.Model = ncapp.orig <strong>and</strong> result has Model(copy, ncapp.copy)<br />
) or<br />
exists nlvr:new_lvcn_map . (<br />
( orig.Model = nlvr.orig.one or orig.Model = nlvr.orig.two<br />
) <strong>and</strong> result has Model(copy, nlvr.copy)<br />
) or<br />
exists nclvr:new_copy_lvcn_map . (<br />
orig.Model=nclvr.orig <strong>and</strong> result has Model(copy,nclvr.copy)<br />
) or<br />
result has Model(copy, orig.Model)<br />
).<br />
define testSelectorType (<br />
sel:Selector, t:Type<br />
) := (<br />
exists ta:TAppl . (<br />
sel.Type = ta <strong>and</strong><br />
exists ta_arg:(ta.TArgs) . (<br />
indexOf(ta_arg, ta, "TArgs") = 1 <strong>and</strong><br />
ta_arg = t<br />
))).<br />
define selectorTypeEqual (<br />
65