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.

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

exists npm_elem_act:new_lvar_map . (<br />

npm_elem_act.orig.one = mk_act.orig.one.LocVariable.Model <strong>and</strong><br />

npm_elem_act.orig.two = mk_act.orig.two.LocVariable.Model <strong>and</strong><br />

exists new_lvcn_act:new MIFLocVariable . (<br />

result has LocVariable(mk_act.copy, new_lvcn_act) <strong>and</strong><br />

result has Model(new_lvcn_act, npm_elem_act.copy)<br />

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

exists nmt_act:new MIFTerm . (<br />

result has Value(mk_act.copy, nmt_act) <strong>and</strong><br />

run setUnifiedMIFTerm(mk_act.orig.one.Value,<br />

mk_act.orig.two.Value, nmt_act, new_constructor_map,<br />

new_appl_map, new_lvcn_map)<br />

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

/* copy actions */<br />

exists new_copy_action_map:map orig:copy_action_set<br />

to copy:new Action . (<br />

forall ncactm1:new_copy_action_map .<br />

forall ncactm2:new_copy_action_map . (<br />

ncactm1.orig = ncactm2.orig equiv ncactm1.copy = ncactm2.copy<br />

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

forall cp_act:new_copy_action_map . (<br />

(exists ntm_elem_act2:new_transition_map . (<br />

(ntm_elem_act2.orig.one = cp_act.orig.TransitionSegment or<br />

ntm_elem_act2.orig.two = cp_act.orig.TransitionSegment<br />

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

result has TransitionSegment(cp_act.copy, ntm_elem_act2.copy)<br />

) or<br />

exists nctm_elem_act:new_copy_transition_map . (<br />

nctm_elem_act.orig = cp_act.orig.TransitionSegment <strong>and</strong><br />

result has TransitionSegment(cp_act.copy, nctm_elem_act.copy)<br />

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

exists npm_elem_act2:new_lvar_map . (<br />

(npm_elem_act2.orig.one = cp_act.orig.LocVariable.Model or<br />

npm_elem_act2.orig.two = cp_act.orig.LocVariable.Model<br />

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

exists new_lvcn_cact:new MIFLocVariable . (<br />

result has LocVariable(cp_act.copy, new_lvcn_cact) <strong>and</strong><br />

result has Model(new_lvcn_cact, npm_elem_act2.copy)<br />

)) or<br />

exists ncpm_elem_act:new_copy_lvar_map . (<br />

ncpm_elem_act.orig = cp_act.orig.LocVariable.Model <strong>and</strong><br />

exists new_lvcn_act2:new MIFLocVariable . (<br />

result has LocVariable(cp_act.copy, new_lvcn_act2) <strong>and</strong><br />

result has Model(new_lvcn_act2, ncpm_elem_act.copy)<br />

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

exists nmt_cact:new MIFTerm . (<br />

result has Value(cp_act.copy, nmt_cact) <strong>and</strong><br />

run setCopiedMIFTerm(cp_act.orig.Value, nmt_cact,<br />

91

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!