public class BackwardSimulationAlgorithm extends Object implements SimulationAlgorithm
ForwardSimulationAlgorithm
SimulationAlgorithm.Implementations
Algorithm.OrderingType, Algorithm.SearchType
SIMULATION_ITERATION_STEP
Constructor and Description |
---|
BackwardSimulationAlgorithm()
Creates a new instance of the default algorithm for computing the simulation order.
|
Modifier and Type | Method and Description |
---|---|
void |
addComputationListener(ComputationListener l)
Adds the Computation Listener
l to this algorithm. |
void |
cancelComputation()
Cancels the computation of this algorithm.
|
RavenBDD |
getSimulation(Automaton automaton)
Returns the simulation relation on the states of the automaton
automaton . |
RavenBDD |
getSimulation(Automaton firstAutomaton,
Automaton secondAutomaton)
Returns the simulation relation on the states of the automata
firstAutomaton
and secondAutomaton . |
boolean |
isSimulatedBy(Automaton firstAutomaton,
Automaton secondAutomaton,
RavenBDD firstStateSet,
RavenBDD secondStateSet)
Returns
true if and only if the state set firstStateSet of the first
automaton firstAutomaton is simulated by the state set secondStateSet
of the second automaton secondAutomaton . |
boolean |
isSimulatedBy(Automaton firstAutomaton,
RavenBDD firstStateSet,
RavenBDD secondStateSet)
Returns
true if and only if the state set firstStateSet of the automaton
automaton is simulated by the second state set secondStateSet of the
automaton automaton . |
void |
removeComputationListener(ComputationListener l)
Removes the Computation Listener
l from this algorithm. |
public BackwardSimulationAlgorithm()
public void addComputationListener(ComputationListener l)
Algorithm
l
to this algorithm.addComputationListener
in interface Algorithm
l
- the listener to receive computation eventspublic void removeComputationListener(ComputationListener l)
Algorithm
l
from this algorithm.removeComputationListener
in interface Algorithm
l
- the listener to be removedpublic boolean isSimulatedBy(Automaton firstAutomaton, RavenBDD firstStateSet, RavenBDD secondStateSet)
SimulationAlgorithm
true
if and only if the state set firstStateSet
of the automaton
automaton
is simulated by the second state set secondStateSet
of the
automaton automaton
.isSimulatedBy
in interface SimulationAlgorithm
firstAutomaton
- the automatonfirstStateSet
- the set of states to be simulatedsecondStateSet
- the set of states simulatetrue
if the first state set is simulated by the second state set,
false
otherwisepublic boolean isSimulatedBy(Automaton firstAutomaton, Automaton secondAutomaton, RavenBDD firstStateSet, RavenBDD secondStateSet)
SimulationAlgorithm
true
if and only if the state set firstStateSet
of the first
automaton firstAutomaton
is simulated by the state set secondStateSet
of the second automaton secondAutomaton
.isSimulatedBy
in interface SimulationAlgorithm
firstAutomaton
- the first automatonsecondAutomaton
- the second automatonfirstStateSet
- the set of states to be simulatedsecondStateSet
- the set of states simulatetrue
if the first state set is simulated by the second state set,
false
otherwisepublic RavenBDD getSimulation(Automaton automaton)
SimulationAlgorithm
automaton
.getSimulation
in interface SimulationAlgorithm
automaton
- the automatonpublic RavenBDD getSimulation(Automaton firstAutomaton, Automaton secondAutomaton)
SimulationAlgorithm
firstAutomaton
and secondAutomaton
.getSimulation
in interface SimulationAlgorithm
firstAutomaton
- the first automatonsecondAutomaton
- the second automatonpublic void cancelComputation()
Algorithm
cancelComputation
in interface Algorithm