|
op_obserververification.cpp
Go to the documentation of this file.
48 // One step of the observer algorithm: A dynamic system is computed that fulfills the one-step observer condition.
72 // One step of the observer algorithm: A dynamic system is computed that fulfills the one-step observer condition.
93bool IsOCC(const Generator& rLowGen, const EventSet& rControllableEvents, const EventSet& rHighAlph){
120bool backwardVerificationOCC(const Generator& rLowGen, const EventSet& rControllableEvents, const EventSet& rHighAlph, Idx currentState){
209bool IsLCC(const Generator& rLowGen, const EventSet& rControllableEvents, const EventSet& rHighAlph){
222 // iteration over all states of rLowGen. If there is an uncontrollable feasible high-level event,
235 backwardVerificationLCC(tset_X2EvX1, rControllableEvents, rHighAlph, *stIt, *stIt, false, localStatesMap, doneStates);
270 // go along all backward transitions. Discard the goal state if it is reached via a high-level event or if it is in the rDoneStates and
278 // we iterate over all backward transitions of the currentState to establish backward reachability
281 // are not in the local backward reach and the controllability property of the current exitState does not change
283 // if the state has not been visited, yet, the controllability of the current path are set in the rExitLocalStatesMap
286 // the path is uncontrollable if the current transition has an uncontrollable event or the path was already uncontrollable
291 backwardVerificationLCC(rTransSetX2EvX1, rControllableEvents, rHighAlph, exitState, tsIt->X1, currentControllablePath, rLocalStatesMap, rDoneStates);
293 else{ // for an existing state, the controllability value can change from controllable to uncontrollable (if
294 // a new uncontrollable path has been found). It is important to note, that the LCC condition implies that
295 // if there is one uncontrollable path, then the state is flagged uncontrollable except for the case of the
300 // as the controllabiity attribute of the current state changed it is subject to a new backward reachability
301 backwardVerificationLCC(rTransSetX2EvX1, rControllableEvents, rHighAlph, exitState, tsIt->X1, false, rLocalStatesMap, rDoneStates);
Definition cfl_indexset.h:78 Definition cfl_nameset.h:70 Definition cfl_baseset.h:410 Definition cfl_cgenerator.h:76 EventSet ControllableEvents(void) const Definition cfl_cgenerator.h:930 Definition cfl_generator.h:213 StateSet::Iterator StatesBegin(void) const Definition cfl_generator.cpp:1054 TransSet::Iterator TransRelBegin(void) const Definition cfl_generator.cpp:1064 StateSet::Iterator StatesEnd(void) const Definition cfl_generator.cpp:1059 TransSet::Iterator TransRelEnd(void) const Definition cfl_generator.cpp:1069 void ComputeBisimulation(const Generator &rGenOrig, map< Idx, Idx > &rMapStateToPartition) Definition cfl_bisimulation.cpp:1272 bool IsOCC(const System &rLowGen, const EventSet &rHighAlph) Definition op_obserververification.cpp:86 bool IsMSA(const Generator &rLowGen, const EventSet &rHighAlph) Definition op_obserververification.cpp:62 bool IsLCC(const System &rLowGen, const EventSet &rHighAlph) Definition op_obserververification.cpp:157 void ExtendHighAlphabet(const Generator &rGen, EventSet &rHighAlph, map< Idx, Idx > &rMapStateToPartition) Definition op_observercomputation.cpp:520 bool IsObs(const Generator &rLowGen, const EventSet &rHighAlph) Definition op_obserververification.cpp:38 Definition cfl_agenerator.h:43 bool backwardVerificationOCC(const Generator &rLowGen, const EventSet &rControllableEvents, const EventSet &rHighAlph, Idx currentState) Definition op_obserververification.cpp:120 void calculateDynamicSystemMSA(const Generator &rGen, EventSet &rHighAlph, Generator &rGenDyn) Definition op_observercomputation.cpp:195 void calculateDynamicSystemClosedObs(const Generator &rGen, EventSet &rHighAlph, Generator &rGenDyn) Definition op_observercomputation.cpp:46 void calculateDynamicSystemObs(const Generator &rGen, EventSet &rHighAlph, Generator &rGenDyn) Definition op_observercomputation.cpp:159 libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen |