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.

* LocVariable */<br />

exists lvar_map_possible:<br />

lfp FPLVRMP set fplvrmp_it:(<br />

one:(component_pair.one.LocVariables),<br />

two:(component_pair.two.LocVariables)<br />

) with (<br />

call Consistent_Component_LocVar(component_pair, fplvrmp_it)<br />

).<br />

context lvar_map:{lvm_test:set lvar_map_possible |<br />

forall lvm1:lvm_test . forall lvm2:lvm_test . (<br />

(lvm1.one = lvm2.one) equiv (lvm1.two = lvm2.two)<br />

)<br />

}.<br />

/* LocVariableConst */<br />

exists lvarconst_map:<br />

lfp FPLVCM set fplvcm_it:(<br />

one:LocVariableConst,<br />

two:LocVariableConst<br />

) with (<br />

exists lvm_fplvcm:lvar_map . (<br />

fplvcm_it.one.LocVariable = lvm_fplvcm.one <strong>and</strong><br />

fplvcm_it.two.LocVariable = lvm_fplvcm.two<br />

)<br />

).<br />

/* State */<br />

context state_map:{sm_test:set (<br />

one:(component_pair.one.Automaton.State.SubStates),<br />

two:(component_pair.two.Automaton.State.SubStates)) |<br />

/* at least one state must be unified, */<br />

/* otherwise the automaton would not be connected */<br />

exists sm0:sm_test . true <strong>and</strong><br />

forall sm1:sm_test . (<br />

forall sm2:sm_test . (<br />

(sm1.one = sm2.one) equiv (sm1.two = sm2.two)<br />

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

/*at most one state may have a substates */<br />

neg exists sm_one_sub:(sm1.one.SubStates) . true or<br />

neg exists sm_two_sub:(sm1.two.SubStates) . true<br />

))<br />

}.<br />

/* TransitionSegment */<br />

exists transition_map_possible:<br />

lfp FPTSGMP set fptsgmp_it:(<br />

one:(component_pair.one.Automaton.State.TransitionSegments),<br />

two:(component_pair.two.Automaton.State.TransitionSegments)<br />

) with (<br />

call Consistent_State_Transition(state_map,<br />

68

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!