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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

nlvarcopy_arg.orig = param <strong>and</strong><br />

result has Args(cp_app.copy, nlvarcopy_arg.copy,<br />

indexOf(param, cp_app.orig, "Args"))<br />

) or<br />

/* other Const incl. not-unified Constructors */<br />

result has Args(cp_app.copy, param,<br />

indexOf(param, cp_app.orig, "Args"))<br />

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

/* build inputs */<br />

exists new_input_map:map orig:input_map to copy:new Input . (<br />

forall nim1:new_input_map . forall nim2:new_input_map . (<br />

nim1.orig = nim2.orig equiv nim1.copy = nim2.copy<br />

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

forall mk_inp:new_input_map . (<br />

exists ntm_elem:new_transition_map . (<br />

ntm_elem.orig.one = mk_inp.orig.one.TransitionSegment <strong>and</strong><br />

ntm_elem.orig.two = mk_inp.orig.two.TransitionSegment <strong>and</strong><br />

result has TransitionSegment(mk_inp.copy, ntm_elem.copy)<br />

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

exists npm_elem_inp:new_port_map . (<br />

npm_elem_inp.orig.one = mk_inp.orig.one.Port.Model <strong>and</strong><br />

npm_elem_inp.orig.two = mk_inp.orig.two.Port.Model <strong>and</strong><br />

exists new_port_inp:new MIFPort . (<br />

result has Port(mk_inp.copy, new_port_inp) <strong>and</strong><br />

result has Model(new_port_inp, npm_elem_inp.copy)<br />

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

exists nmt_inp:new MIFTerm . (<br />

result has Pattern(mk_inp.copy, nmt_inp) <strong>and</strong><br />

run setUnifiedMIFTerm(mk_inp.orig.one.Pattern,<br />

mk_inp.orig.two.Pattern, nmt_inp, new_constructor_map,<br />

new_appl_map, new_lvcn_map)<br />

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

/* copy inputs */<br />

exists new_copy_input_map:map orig:copy_input_set<br />

to copy:new Input . (<br />

forall ncim1:new_copy_input_map .<br />

forall ncim2:new_copy_input_map . (<br />

ncim1.orig = ncim2.orig equiv ncim1.copy = ncim2.copy<br />

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

forall cp_inp:new_copy_input_map . (<br />

(exists ntm_elem_inp2:new_transition_map . (<br />

(ntm_elem_inp2.orig.one = cp_inp.orig.TransitionSegment or<br />

ntm_elem_inp2.orig.two = cp_inp.orig.TransitionSegment<br />

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

result has TransitionSegment(cp_inp.copy, ntm_elem_inp2.copy)<br />

) or<br />

exists nctm_elem_inp:new_copy_transition_map . (<br />

nctm_elem_inp.orig = cp_inp.orig.TransitionSegment <strong>and</strong><br />

88

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!