|
|
||||||
|
Classes |
Public Member Functions |
Protected Member Functions |
Protected Attributes |
Private Member Functions |
List of all members
faudes::BisimulationCTA Class Reference Detailed DescriptionThe Bisimulation class The following class implements a basic normal bisimulation partition algorithms and derives a class for partitioning w.r.t. delayed bisimulation and weak bisimulation . All these algorithms are introduced in "Computing Maximal Weak and Other Bisimulations" from Alexandre Boulgakov et. al. (2016). The utilised normal bisimulation algorithm originates from the "change tracking algorithm" from Stefan Blom and Simona Orzan (see ref. of cited paper). Besides, the current paper uses topological sorted states to avoid computing saturated transitions explicitly when computing delayed and weak bisimulation. IMPORTANT NOTE: both algorithms for delayed and weak bisimulation requires tau-loop free automaton. This shall be done extern beforehand by using e.g. FactorTauLoops(Generator &rGen, const Idx &rSilent). Definition at line 74 of file cfl_bisimcta.cpp.
Constructor & Destructor Documentation◆ BisimulationCTA()
Definition at line 76 of file cfl_bisimcta.cpp. ◆ ~BisimulationCTA()
Member Function Documentation◆ ComputeBisimulation()
ComputeBisimulation perform the overall iteration. Definition at line 631 of file cfl_bisimcta.cpp. ◆ ComputeChangedAfters()
ComputeChangedAfters Compute changed afters of each affected state. (see Fig 5. in cited paper) Affected states are those having some successors that have changed class (namely c_value) in the last iteration NOTE: this function is made private in that derived classes compute cafters w.r.t. silent event and these are accomplished by ComputeChangedDelayedAfters and ComputeChangedObservedAfters, respectively. Definition at line 525 of file cfl_bisimcta.cpp. ◆ ComputePartition()
BisimulationPartition wrapper. Reimplemented in faudes::AbstractBisimulationCTA. Definition at line 661 of file cfl_bisimcta.cpp. ◆ EncodeData()
EncodeData encode source generator into vector-form data structures to accelerate the iteration. NOTE: this function is virtual since derived classes, in the context of abstraction, have different steps Reimplemented in faudes::AbstractBisimulationCTA. Definition at line 432 of file cfl_bisimcta.cpp. ◆ FirstStepApproximation()
FirstStepApproximation (see Fig. 2 (b) in cited paper) Prepartition states according to their active events. If a prepartition already exists, this function will refine the prepartition. NOTE: this function is also utilised by delayed- and weak-bisimulation since in both cases, State.evs neglect tau (as tau is always active) Definition at line 502 of file cfl_bisimcta.cpp. ◆ GenerateResult()
GenerateResult generate partition result w.r.t. original state indices (without trivial classes)
Definition at line 644 of file cfl_bisimcta.cpp. ◆ RefineChanged()
RefineChanged refine equivalence classes contained affected nodes in the last iteration (see Fig. 5 in cited paper) Definition at line 551 of file cfl_bisimcta.cpp. Member Data Documentation◆ mAffected
persisted data structures, see cited paper. Definition at line 144 of file cfl_bisimcta.cpp. ◆ mAlphSize
Definition at line 150 of file cfl_bisimcta.cpp. ◆ mChanged
Definition at line 145 of file cfl_bisimcta.cpp. ◆ mCmax
Definition at line 146 of file cfl_bisimcta.cpp. ◆ mEvents
Definition at line 101 of file cfl_bisimcta.cpp. ◆ mGen
keep the original generator Definition at line 138 of file cfl_bisimcta.cpp. ◆ mPartition
the current (and also final) partition. Partition is represented by states sorted by c_value. Access mStates for c_value to get the exact partition. Definition at line 155 of file cfl_bisimcta.cpp. ◆ mPrePartition
state prepartition with original state idx (the same as state label as in cited paper). Empty for trivial prepartition. Definition at line 141 of file cfl_bisimcta.cpp. ◆ mStates
Definition at line 100 of file cfl_bisimcta.cpp. ◆ mStateSize
constant parameters for encoding Definition at line 149 of file cfl_bisimcta.cpp. The documentation for this class was generated from the following file: libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |