|   |  
  |  
||||||
| 
 |  
|||||||
| 
 mtc_observercomputation.cpp   
Go to the documentation of this file. 
    8 output control consistency (OCC) and local control consistency (LCC) are provided. See for example 
   60 void calcAbstAlphObs(MtcSystem& rGenObs, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Idx,set<Idx > > &  rMapRelabeledEvents) { 
   61   OP_DF("calcAbstAlphObs(" << rGenObs.Name() << "," << "rHighAlph, rNewHighAlph, rMapRelabeledEvents)"); 
   66   // the controllable events that have been changed by the called function are set in the System cGenObs 
   71 void calcAbstAlphObs(MtcSystem& rGenObs, EventSet& rControllableEvents, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Idx,set<Idx > > &  rMapRelabeledEvents) { 
   72   OP_DF("calcAbstAlphObs(" << rGenObs.Name() << "," << "rControllableEvents, rHighAlph, rNewHighAlph, rMapRelabeledEvents)"); 
   81     if(rMapRelabeledEvents.find(rtIt->first.Ev) == rMapRelabeledEvents.end() ){// if the event does not exist, yet, a nex element in the map is created 
   83       if(rGenObs.Alphabet().Exists(rtIt->second) )// FIXME: there seem to be relabeled transitions that do not exist  
   87       if(rGenObs.Alphabet().Exists(rtIt->second) )// FIXME: there seem to be relabeled transitions that do not exist     
   94 void calcAbstAlphObs(MtcSystem& rGenObs, EventSet& rControllableEvents, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Transition,Idx>& rMapChangedTrans) 
   96   OP_DF("calcAbstAlphObs(" << rGenObs.Name() << ", rControllableEvents, rHighAlph, rNewHighAlph, rMapChangedTRans)"); 
  109   // observer algorithm: In each step, a dynamic system is computed that fulfills the one-step observer condition.  
  110   // Iterative application of the bisimulation algorithm and the relabeling procedure yields an automaton rGenObs 
  111   // that, together with the new high-level alphabet rNewHighAlph fulfills the observer condition.  
  117     name = ("./Automata/Plots/" + rGenObs.Name() + "DynamicSystem_" + ToStringInteger(iterationCount)); 
  126     name = ("./Automata/Plots/" + rGenObs.Name() + "Bisimulation_" + ToStringInteger(iterationCount)); 
  132     // and relabel transitions in rGenObs if necessary. The high-level alphabet is modified accordingly 
  133     done=relabel(rGenObs, rControllableEvents, rNewHighAlph, mapStateToPartition, mapChangedTransReverse,  rMapChangedTrans, mapRelabeledEvents); 
  140   OP_DF("calculateDynamicSystemObs(" << rGen.Name() << "," << rHighAlph.Name() << "," << rGenDyn.Name() << ")"); 
  147   rGenDyn.InjectAlphabet(rHighAlph); // all high-level events are contained in the alphabet of rGenDyn 
  162   // map that maps a state (first Idx) to a reachable entry state (second Idx) via a high-level event (third Idx) 
  173   // maps a unique color index to the index of the associated transition label in teh dynamic system 
  176     colorLabel = ( rGenDyn.EventSymbolTablep())->UniqueSymbol("colorLabel" + rGen.ColorName(*csIt) + "_1"); 
  186     OP_DF("calculateDynamicSystemObs: loop over all states; current state: " << rGen.StateName(*stateSetIt)  
  218       // check if state sIt is marked; if yes, create an m-transition (mLabel) between current state and sIt 
  231       // loop over all transitions of current state sIt to determine if high-level events are possible 
  241             " is an entry state and can be reached from current state" << rGen.SStr(*stateSetIt) << " by event " << rGen.EventName(tIt->Ev)); 
  260   // This information is contained in the stateToEntryState map combined with the entryStateToLocalReach map. 
Definition: mtc_colorset.h:41 Definition: cfl_indexset.h:78 Definition: cfl_nameset.h:70 Definition: cfl_baseset.h:410 TBaseSet< Transition, TransSort::X1EvX2 >::Iterator Iterator Definition: cfl_transset.h:273 const TaEventSet< EventAttr > & Alphabet(void) const Definition: cfl_agenerator.h:1358 const ATransSet & TransRel(void) const Definition: cfl_agenerator.h:1368 EventSet ControllableEvents(void) const Definition: cfl_cgenerator.h:930 Definition: mtc_generator.h:53 std::string ColorName(Idx colorIndex) const Definition: mtc_generator.h:1280 Definition: cfl_transset.h:57 std::string ToString(const std::string &rLabel="", const Type *pContext=0) const Definition: cfl_types.cpp:175 Definition: cfl_generator.h:213 StateSet::Iterator StatesBegin(void) const Definition: cfl_generator.cpp:1054 bool SetTransition(Idx x1, Idx ev, Idx x2) Definition: cfl_generator.cpp:1623 TransSet::Iterator TransRelBegin(void) const Definition: cfl_generator.cpp:1064 SymbolTable * EventSymbolTablep(void) const Definition: cfl_generator.cpp:810 EventSet::Iterator AlphabetBegin(void) const Definition: cfl_generator.cpp:1044 std::string TStr(const Transition &rTrans) const Definition: cfl_generator.cpp:3945 std::string StateName(Idx index) const Definition: cfl_generator.cpp:946 virtual void DotWrite(const std::string &rFileName) const Definition: cfl_generator.cpp:2970 StateSet::Iterator StatesEnd(void) const Definition: cfl_generator.cpp:1059 TransSet::Iterator TransRelEnd(void) const Definition: cfl_generator.cpp:1069 std::string EventName(Idx index) const Definition: cfl_generator.cpp:836 EventSet::Iterator AlphabetEnd(void) const Definition: cfl_generator.cpp:1049 void InjectAlphabet(const EventSet &rNewalphabet) Definition: cfl_generator.cpp:1167 void ComputeBisimulation(const Generator &rGenOrig, map< Idx, Idx > &rMapStateToPartition) Definition: cfl_bisimulation.cpp:1272 Idx calcNaturalObserver(const MtcSystem &rGen, EventSet &rHighAlph) Definition: mtc_observercomputation.cpp:41 void ExtendHighAlphabet(const Generator &rGen, EventSet &rHighAlph, map< Idx, Idx > &rMapStateToPartition) Definition: op_observercomputation.cpp:520 Definition: cfl_agenerator.h:43 void calcAbstAlphObs(MtcSystem &rGenObs, EventSet &rControllableEvents, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Transition, Idx > &rMapChangedTrans) Definition: mtc_observercomputation.cpp:94 void calculateDynamicSystemObs(const MtcSystem &rGen, EventSet &rHighAlph, Generator &rGenDyn) Definition: mtc_observercomputation.cpp:138 void LocalAccessibleReach(const Generator &rLowGen, const EventSet &rHighAlph, Idx lowState, StateSet &rAccessibleReach) Definition: cfl_localgen.cpp:161 bool relabel(Generator &rGenRelabel, EventSet &rControllableEvents, EventSet &rHighAlph, map< Idx, Idx > &rMapStateToPartition, map< Transition, Transition > &rMapChangedTransReverse, map< Transition, Idx > &rMapChangedTrans, map< Idx, EventSet > &rMapRelabeledEvents) Definition: op_observercomputation.cpp:1463 libFAUDES 2.33l --- 2025.09.16 --- c++ api documentaion by doxygen  |