|
|
||||||
|
cfl_conflequiv.cpp
Go to the documentation of this file.
53 if (rGen.ExistsEvent("_OMEGA_")||rGen.ExistsEvent("_OMEGA_TERMINAL_")||rGen.ExistsState("_TERMINAL_")){
54 throw Exception("AppendOmegaTermination", "please don't use event names _OMEGA_, _OMEGA_TERMINAL_ and state name _TERMINAL_", 100);
64 rGen.SetTransition(terminal,omega_terminal,terminal); // need a special selfloop for terminal state, so that partition will always separate it
222 std::map<SetX1Ev,StateSet> IncomingEquivalentClasses(const Generator& rGen, const EventSet& silent){
504 if (tit2==tit2_end) {sit++;continue;} // sit points to a deadend state (nonmarked state without outgoing trans)
540 if (msilentevs.Empty()) // in this case, only one silent event is set to tau and no need to hide
660 FD_CV0("Abstracting Automaton "<<gvec.At(git).Name()<<", with state count: "<<gvec.At(git).Size())
812 // Int jscore= gi.Size()*gj.Size()/((Float) gi.AlphabetSize()*gj.AlphabetSize()); // rough estimate
868 FD_DF("Testing final stage with t#" << gvec.At(0).TransRelSize() << "/s#" << gvec.At(0).Size());
Bisimulation relations. #define FD_CV0(message) Two debug levels for functions in this source file. Definition: cfl_conflequiv.cpp:33 #define FD_WPC(cntnow, contdone, message) Application callback: optional write progress report to console or application, incl count Definition: cfl_definitions.h:107 Operations on (directed) graphs. Operations on regular languages. void EraseSet(const NameSet &rOtherSet) Erase elements specified by rOtherSet. Definition: cfl_nameset.cpp:352 Iterator class for high-level api to TBaseSet. Definition: cfl_baseset.h:387 Iterator BeginByX2(Idx x2) const Iterator to first Transition specified by successor state x2. Definition: cfl_transset.h:1385 Iterator EndByX2(Idx x2) const Iterator to first Transition after specified successor state x2. Definition: cfl_transset.h:1396 TBaseSet< Transition, TransSort::X1EvX2 >::Iterator Iterator Iterator on transition. Definition: cfl_transset.h:269 void ReSort(TTransSet< OtherCmp > &res) const Get copy of trantision relation sorted by other compare operator, e.g. Definition: cfl_transset.h:1714 Triple (X1,Ev,X2) to represent current state, event and next state. Definition: cfl_transset.h:57 StateSet::Iterator StatesBegin(void) const Iterator to Begin() of state set. Definition: cfl_generator.cpp:1057 const TransSet & TransRel(void) const Return reference to transition relation. Definition: cfl_generator.cpp:1888 bool SetTransition(Idx x1, Idx ev, Idx x2) Add a transition to generator by indices. Definition: cfl_generator.cpp:1626 const StateSet & MarkedStates(void) const Return const ref of marked states. Definition: cfl_generator.cpp:1913 const EventSet & Alphabet(void) const Return const reference to alphabet. Definition: cfl_generator.cpp:1878 Idx InsMarkedState(void) Create new anonymous state and set as marked state. Definition: cfl_generator.cpp:1318 EventSet ActiveEventSet(Idx x1) const Return active event set at state x1. Definition: cfl_generator.cpp:1938 const StateSet & InitStates(void) const Const ref to initial states. Definition: cfl_generator.cpp:1908 TransSet::Iterator TransRelBegin(void) const Iterator to Begin() of transition relation. Definition: cfl_generator.cpp:1067 void ClrTransition(Idx x1, Idx ev, Idx x2) Remove a transition by indices. Definition: cfl_generator.cpp:1660 void ClrMarkedState(Idx index) Unset an existing state as marked state by index. Definition: cfl_generator.cpp:1543 bool ExistsTransition(const std::string &rX1, const std::string &rEv, const std::string &rX2) const Test for transition given by x1, ev, x2. Definition: cfl_generator.cpp:1124 void SetInitState(Idx index) Set an existing state as initial state by index. Definition: cfl_generator.cpp:1432 bool ExistsState(Idx index) const Test existence of state in state set. Definition: cfl_generator.cpp:1776 StateSet::Iterator MarkedStatesBegin(void) const Iterator to Begin() of mMarkedStates. Definition: cfl_generator.cpp:1160 StateSet::Iterator StatesEnd(void) const Iterator to End() of state set. Definition: cfl_generator.cpp:1062 void DelStates(const StateSet &rDelStates) Delete a set of states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltabl... Definition: cfl_generator.cpp:1381 TransSet::Iterator TransRelEnd(void) const Iterator to End() of transition relation. Definition: cfl_generator.cpp:1072 bool ExistsEvent(Idx index) const Test existence of event in alphabet. Definition: cfl_generator.cpp:1756 StateSet::Iterator MarkedStatesEnd(void) const Iterator to End() of mMarkedStates. Definition: cfl_generator.cpp:1165 void SetMarkedState(Idx index) Set an existing state as marked state by index. Definition: cfl_generator.cpp:1507 Idx InsInitState(void) Create new anonymous state and set as initial state. Definition: cfl_generator.cpp:1287 bool InsEvent(Idx index) Add an existing event to alphabet by index. Definition: cfl_generator.cpp:1198 StateSet CoaccessibleSet(void) const Compute set of Coaccessible states. Definition: cfl_generator.cpp:2054 bool ExistsInitState(Idx index) const Test existence of state in mInitStates. Definition: cfl_generator.cpp:1796 bool ExistsMarkedState(Idx index) const Test existence of state in mMarkedStates. Definition: cfl_generator.cpp:1806 void InjectAlphabet(const EventSet &rNewalphabet) Set mpAlphabet without consistency check. Definition: cfl_generator.cpp:1170 void ConflictEquivalentAbstraction(vGenerator &rGen, EventSet &rSilentEvents) Conflict equivalent abstraction. Definition: cfl_conflequiv.cpp:611 bool IsNonconflicting(const GeneratorVector &rGvec) Test for conflicts. Definition: cfl_conflequiv.cpp:618 bool ComputeScc(const Generator &rGen, const SccFilter &rFilter, std::list< StateSet > &rSccList, StateSet &rRoots) Compute strongly connected components (SCC) Definition: cfl_graphfncts.cpp:347 void Parallel(const Generator &rGen1, const Generator &rGen2, Generator &rResGen) Parallel composition. Definition: cfl_parallel.cpp:32 void MergeSilentLoops(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:341 void BlockingSilentEvent(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:386 void ActiveEventsRule(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:260 EventSet HidePriviateEvs(Generator &rGen, EventSet &silent) Definition: cfl_conflequiv.cpp:531 void IncomingTransSet(const Generator &rGen, const TransSetX2EvX1 &rRTrans, const EventSet &silent, const Idx &state, SetX1Ev &result) Definition: cfl_conflequiv.cpp:152 void RemoveNonCoaccessibleOut(Generator &g) Definition: cfl_conflequiv.cpp:372 void AppendOmegaTermination(Generator &rGen) Definition: cfl_conflequiv.cpp:52 void OnlySilentIncoming(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:441 void ConflictEquivalentAbstractionLoop(vGenerator &rGen, EventSet &rSilentEvents) Definition: cfl_conflequiv.cpp:595 void ConflictEquivalentAbstractionOnce(Generator &rGen, EventSet &silent) Definition: cfl_conflequiv.cpp:570 void MergeEquivalenceClasses(Generator &rGen, TransSetX2EvX1 &rRevTrans, const std::list< StateSet > &rClasses) Definition: cfl_conflequiv.cpp:74 void OnlySilentOutgoing(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:496 bool IsNonblocking(const GeneratorVector &rGvec) Definition: cfl_conflequiv.cpp:705 void ObservationEquivalentQuotient(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:128 std::map< SetX1Ev, StateSet > IncomingEquivalentClasses(const Generator &rGen, const EventSet &silent) Definition: cfl_conflequiv.cpp:222 void RemoveTauSelfloops(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:328 void ActiveNonTauEvs(const Generator &rGen, const EventSet &silent, const Idx &state, EventSet &result) Definition: cfl_conflequiv.cpp:189 void EnabledContinuationRule(Generator &g, const EventSet &silent) Definition: cfl_conflequiv.cpp:302 void ComputeWeakBisimulationSatCTA(const Generator &rGen, const EventSet &rSilent, std::list< StateSet > &rResult) ComputeWeakBisimulationSatCTA weak bisimulation (aka observation eq) partition based on change-tracki... Definition: cfl_bisimcta.cpp:1004 void RemoveTauLoops(Generator &rGen, const EventSet &silent) Remove all silent loops in a given automaton. Definition: cfl_conflequiv.cpp:563 long int Int Type definition for integer type (let target system decide, minimum 32bit) Definition: cfl_definitions.h:47 void MergeNonCoaccessible(Generator &g) Definition: cfl_conflequiv.cpp:417 libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |