Package org.svvrl.goal.core
Interface ControllableAlgorithm
- All Superinterfaces:
Algorithm
,AlgorithmListener
,java.util.EventListener
- All Known Subinterfaces:
ComplementConstruction<I,O>
,ControllableGameSolver<T>
,EditableAlgorithm
- All Known Implementing Classes:
AbstractComplementConstruction
,AbstractControllableAlgorithm
,AbstractControllableGameSolver
,AbstractEditableAlgorithm
,AbstractSliceComplement
,AbstractTranslator
,BigStepSolver
,CCJ09
,CCJ09Translators.LTL2NBW
,CCJ09Translators.QPTL2NBW
,ClassicalBuchiSolver
,ClassicComplement
,Couvreur
,CouvreurTranslators.LTL2NBW
,CouvreurTranslators.LTL2NTGBW
,CouvreurTranslators.QPTL2NBW
,CouvreurTranslators.QPTL2NTGBW
,DeterministicComplementConstruction
,DeterminizationToDBWByDEK07
,DeterminizationToWDBWByDEK07
,DominionDecompositionSolver
,ExtendedCouvreur
,ExtendedCouvreurTranslators.LTL2NBW
,ExtendedCouvreurTranslators.LTL2NTGBW
,ExtendedCouvreurTranslators.QPTL2NBW
,ExtendedCouvreurTranslators.QPTL2NTGBW
,ExtendedGPVWPlusTranslators.LTL2LOSNBW
,ExtendedGPVWPlusTranslators.LTL2LOSNGBW
,ExtendedGPVWPlusTranslators.LTL2NBW
,ExtendedGPVWPlusTranslators.LTL2NGBW
,ExtendedGPVWPlusTranslators.QPTL2LOSNBW
,ExtendedGPVWPlusTranslators.QPTL2LOSNGBW
,ExtendedGPVWPlusTranslators.QPTL2NBW
,ExtendedGPVWPlusTranslators.QPTL2NGBW
,ExtendedGPVWTranslators.LTL2LOSNBW
,ExtendedGPVWTranslators.LTL2LOSNGBW
,ExtendedGPVWTranslators.LTL2NBW
,ExtendedGPVWTranslators.LTL2NGBW
,ExtendedGPVWTranslators.QPTL2LOSNBW
,ExtendedGPVWTranslators.QPTL2LOSNGBW
,ExtendedGPVWTranslators.QPTL2NBW
,ExtendedGPVWTranslators.QPTL2NGBW
,ExtendedLTL2AUTPlusTranslators.LTL2LOSNBW
,ExtendedLTL2AUTPlusTranslators.LTL2LOSNGBW
,ExtendedLTL2AUTPlusTranslators.LTL2NBW
,ExtendedLTL2AUTPlusTranslators.LTL2NGBW
,ExtendedLTL2AUTPlusTranslators.QPTL2LOSNBW
,ExtendedLTL2AUTPlusTranslators.QPTL2LOSNGBW
,ExtendedLTL2AUTPlusTranslators.QPTL2NBW
,ExtendedLTL2AUTPlusTranslators.QPTL2NGBW
,ExtendedLTL2AUTTranslators.LTL2LOSNBW
,ExtendedLTL2AUTTranslators.LTL2LOSNGBW
,ExtendedLTL2AUTTranslators.LTL2NBW
,ExtendedLTL2AUTTranslators.LTL2NGBW
,ExtendedLTL2AUTTranslators.QPTL2LOSNBW
,ExtendedLTL2AUTTranslators.QPTL2LOSNGBW
,ExtendedLTL2AUTTranslators.QPTL2NBW
,ExtendedLTL2AUTTranslators.QPTL2NGBW
,ExtendedLTL2Buchi
,ExtendedLTL2BuchiTranslators.LTL2NBW
,ExtendedLTL2BuchiTranslators.LTL2NTGBW
,ExtendedLTL2BuchiTranslators.QPTL2NBW
,ExtendedLTL2BuchiTranslators.QPTL2NTGBW
,ExtendedModella
,ExtendedModellaTranslators.LTL2LOSNBW
,ExtendedModellaTranslators.LTL2LOSNGBW
,ExtendedModellaTranslators.LTL2NBW
,ExtendedModellaTranslators.LTL2NGBW
,ExtendedModellaTranslators.QPTL2LOSNBW
,ExtendedModellaTranslators.QPTL2LOSNGBW
,ExtendedModellaTranslators.QPTL2NBW
,ExtendedModellaTranslators.QPTL2NGBW
,ExtendedOnTheFlyNGBWBuilder
,GameSolverWrapper
,HierarchyConstruction
,IncTableauPlusTranslators.LTL2LOSNBW
,IncTableauPlusTranslators.LTL2LOSNGBW
,IncTableauPlusTranslators.LTL2NBW
,IncTableauPlusTranslators.LTL2NGBW
,IncTableauPlusTranslators.QPTL2LOSNBW
,IncTableauPlusTranslators.QPTL2LOSNGBW
,IncTableauPlusTranslators.QPTL2NBW
,IncTableauPlusTranslators.QPTL2NGBW
,IncTableauTranslators.LTL2LOSNBW
,IncTableauTranslators.LTL2LOSNGBW
,IncTableauTranslators.LTL2NBW
,IncTableauTranslators.LTL2NGBW
,IncTableauTranslators.QPTL2LOSNBW
,IncTableauTranslators.QPTL2LOSNGBW
,IncTableauTranslators.QPTL2NBW
,IncTableauTranslators.QPTL2NGBW
,KP02
,KP02Translators.QPTL2NBW
,KurshanConstruction
,LTL2BA
,LTL2BATranslators.LTL2NBW
,LTL2BATranslators.LTL2NTGBW
,LTL2BATranslators.LTL2VWAA
,LTL2BATranslators.QPTL2NBW
,LTL2BATranslators.QPTL2NTGBW
,LTL2BATranslators.QPTL2VWAA
,LTL2Buchi
,LTL2BuchiTranslators.LTL2NBW
,LTL2BuchiTranslators.LTL2NTGBW
,LTL2BuchiTranslators.QPTL2NBW
,LTL2BuchiTranslators.QPTL2NTGBW
,LTL2LOSNGBWAdapter
,LTL2TWVWAA
,LTL2VWAA
,McNaughtonZielonkaSolver
,Modella
,ModellaTranslators.LTL2LOSNBW
,ModellaTranslators.LTL2LOSNGBW
,ModellaTranslators.LTL2NBW
,ModellaTranslators.LTL2NGBW
,ModellaTranslators.QPTL2LOSNBW
,ModellaTranslators.QPTL2LOSNGBW
,ModellaTranslators.QPTL2NBW
,ModellaTranslators.QPTL2NGBW
,ModifiedSafraConstruction
,MullerSchuppConstruction
,ORETranslator
,PitermanConstruction
,PLTL2BA
,PLTL2BATranslators.LTL2NBW
,PLTL2BATranslators.LTL2NTGBW
,PLTL2BATranslators.LTL2TWVWAA
,PLTL2BATranslators.QPTL2NBW
,PLTL2BATranslators.QPTL2NTGBW
,PLTL2BATranslators.QPTL2TWVWAA
,PMT02
,PMT02Translators.ACTL2LOSNBW
,PMT02Translators.ACTL2LOSNGBW
,PMT02Translators.ACTL2NBW
,PMT02Translators.ACTL2NGBW
,ProgressMeasureConstruction
,QPTL2ABWFuture
,QPTL2BA
,QPTL2BACanonical
,QPTL2BAFuture
,QPTL2BATranslators.CanonicalQPTL2TWACW
,QPTL2BATranslators.FutureQPTL2ABW
,QPTL2BATranslators.QPTL2NBW
,QPTL2NBWByLTL2NBW
,QPTL2NGBWByLTL2NGBW
,QPTL2TWACWCanonical
,RamseyConstruction
,RankConstruction
,RecursiveSolver
,RETranslator
,SafraConstruction
,ScheweConstruction
,SDBWConstruction
,SliceConstruction
,SliceKWConstruction
,SliceVWConstruction
,Subset
,Tableau
,TableauTranslators.LTL2LOSNBW
,TableauTranslators.LTL2LOSNGBW
,TableauTranslators.LTL2NBW
,TableauTranslators.LTL2NGBW
,TableauTranslators.QPTL2LOSNBW
,TableauTranslators.QPTL2LOSNGBW
,TableauTranslators.QPTL2NBW
,TableauTranslators.QPTL2NGBW
,TemporalTesterTranslators.LTL2LOSNBW
,TemporalTesterTranslators.LTL2LOSNGBW
,TemporalTesterTranslators.LTL2NBW
,TemporalTesterTranslators.LTL2NGBW
,TemporalTesterTranslators.QPTL2LOSNBW
,TemporalTesterTranslators.QPTL2LOSNGBW
,TemporalTesterTranslators.QPTL2NBW
,TemporalTesterTranslators.QPTL2NGBW
,TranslateByDivideAndConquer
,TranslateToNBWByNGBW
,TranslateToNGBWByLOSNGBW
,WAAConstruction
,WAPAConstruction
public interface ControllableAlgorithm extends Algorithm
This interface provides methods for controlling this algorithm such as doing
a step, doing a stage, pausing the execution, and so on.
- Author:
- Ming-Hsien Tsai
-
Method Summary
Modifier and Type Method Description void
addControllableListener(ControllableListener listener)
Inserts a controllable listener.void
doPause()
Pauses this algorithm.void
doStage()
Performs a single stage.void
doStart()
Executes this algorithm step-by-step automatically.void
doStep()
Performs a single step.double
getInterval()
Returns the time interval in seconds between steps.int
getStages()
Returns the number of stages left for this algorithm to do.ControllableStatus
getStatus()
Returns the running status of this algorithm.void
removeControllableListener(ControllableListener listener)
Removes a controllable listener.void
setInterval(double interval)
Sets the time interval in seconds between steps.void
setStages(int i)
Sets the maximal number of stages that can be performed by this algorithm.void
setStatus(ControllableStatus status)
Sets the running status of this algorithm.void
setSynchronizationObject(java.lang.Object obj)
Sets the object for synchronization.Methods inherited from interface org.svvrl.goal.core.Algorithm
addAlgorithmListener, getAlgorithmListeners, getOptions, removeAlgorithmListener
Methods inherited from interface org.svvrl.goal.core.AlgorithmListener
appendStageMessage, appendStepMessage, getCurrentProgress, getMaximalProgress, getMinimalProgress, setCurrentProgress, setDeterministicProgress, setMaximalProgress, setMinimalProgress
-
Method Details
-
setStages
void setStages(int i)Sets the maximal number of stages that can be performed by this algorithm.- Parameters:
i
- the maximal number of stages
-
getStages
int getStages()Returns the number of stages left for this algorithm to do. A negative value means that there is no restriction on the number of stages.- Returns:
- the number of stages left for this algorithm to do
-
doStep
void doStep()Performs a single step. -
doStage
void doStage()Performs a single stage. -
doStart
void doStart()Executes this algorithm step-by-step automatically. Between each step, there is a time interval set by the methodsetInterval
.- See Also:
setInterval(double)
-
doPause
void doPause()Pauses this algorithm. -
setInterval
void setInterval(double interval)Sets the time interval in seconds between steps.- Parameters:
interval
- the time interval between steps, measured in seconds
-
getInterval
double getInterval()Returns the time interval in seconds between steps.- Returns:
- the time interval between steps, measured in seconds
-
setStatus
Sets the running status of this algorithm. The statusesStep
,Stage
,Start
, andStop
should correspond to the methodsdoStep
,doStage
,doStart
, anddoPause
respectively.- Parameters:
status
- the status of this algorithm
-
getStatus
ControllableStatus getStatus()Returns the running status of this algorithm.- Returns:
- the status of this algorithm
-
addControllableListener
Inserts a controllable listener.- Parameters:
listener
- a controllable listener to be added
-
removeControllableListener
Removes a controllable listener.- Parameters:
listener
- a controllable listener to be removed
-
setSynchronizationObject
void setSynchronizationObject(java.lang.Object obj)Sets the object for synchronization. When this algorithm is going to pause and wait for a notification, the methodobj.wait()
will be invoked. When this algorithm is going to continue its execution, the methodobj.notify()
will be invoked.- Parameters:
obj
- the object for synchronization
-