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.

* merged states are part of root state only */<br />

forall mk_stt:new_state_map . (<br />

result has Name(mk_stt.copy,<br />

concat(mk_stt.orig.one.Name, mk_stt.orig.two.Name)) <strong>and</strong><br />

result has SubStates(new_root_state, mk_stt.copy)<br />

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

/* copy states not merged */<br />

exists new_copy_state_map:map orig:copy_state_set<br />

to copy:new State . (<br />

forall ncsm1:new_copy_state_map .<br />

forall ncsm2:new_copy_state_map . (<br />

ncsm1.orig = ncsm2.orig equiv ncsm1.copy = ncsm2.copy<br />

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

forall cp_stt:new_copy_state_map . (<br />

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

exists nsm_elem_cpstt:new_state_map . (<br />

(is SubStates(nsm_elem_cpstt.orig.one, cp_stt.orig) or<br />

is SubStates(nsm_elem_cpstt.orig.two, cp_stt.orig)<br />

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

result has SubStates(nsm_elem_cpstt.copy, cp_stt.copy)<br />

) or<br />

exists ncsm_elem_cpstt:new_copy_state_map . (<br />

is SubStates(ncsm_elem_cpstt.orig, cp_stt.orig) <strong>and</strong><br />

result has SubStates(ncsm_elem_cpstt.copy, cp_stt.copy)<br />

) or<br />

result has SubStates(new_root_state, cp_stt.copy)<br />

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

/* build transitionsegments */<br />

exists new_transition_map:map orig:transition_map<br />

to copy:new TransitionSegment . (<br />

forall ntm5:new_transition_map .<br />

forall ntm6:new_transition_map . (<br />

ntm5.orig = ntm6.orig equiv ntm5.copy = ntm6.copy<br />

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

forall mk_tsg:new_transition_map . (<br />

result has TransitionSegments(new_root_state, mk_tsg.copy)<br />

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

/* copy transitionssegments */<br />

exists new_copy_transition_map:map orig:copy_transition_set<br />

to copy:new TransitionSegment.(<br />

forall nctm5:new_copy_transition_map .<br />

forall nctm6:new_copy_transition_map . (<br />

nctm5.orig = nctm6.orig equiv nctm5.copy = nctm6.copy<br />

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

forall cp_tsg:new_copy_transition_map . (<br />

exists nsm_elem_cptsg:new_state_map . (<br />

(is TransitionSegments(nsm_elem_cptsg.orig.one,<br />

82

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!