|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--uk.ac.man.cs.rainbow.rapa.abstraction.Explorer
State-space explorer for abstract states. The printing of debugging messages to trace the search carried out by this class's instances is controlled by the boolean property rainbow.rapa.debugExplorer.
Constructor Summary | |
Explorer(Abstractor abs)
Create a new state-space explorer without propositions. |
|
Explorer(Abstractor abs,
String[] propositions)
Create a new state-space explorer. |
Method Summary | |
StateEngine.Popped |
backtrack(Boolean value)
Backtrack from the current state, setting its valuation as we go. |
boolean |
deadlock()
Check the abstract state space for deadlock. |
StateEngine.Execed |
execute(boolean reset,
int op,
int quant,
int gb,
boolean ctl,
int bad,
int good,
boolean dfs)
Try to perform a transition. |
int |
getExecutionCount()
|
int[] |
getGBDepths(int depth)
Obtain the good and bad depth parameters from the state at the given stack depth. |
Introspector |
getIntrospector()
Get the state-introspector for this abstract system. |
int |
getMaximumDepth()
|
Transition[] |
getPathTransitions()
|
int |
getPropositionDescriptor()
Get the integer describing the proposition valuation. |
int |
getStoreSize()
|
StateEngine.Popped |
pop()
Pop a state off the top of the stack. |
void |
push(int op,
int quant,
int gb,
boolean ctl,
int bad,
int good,
boolean dfs)
Push the current state on the stack. |
int |
stackDepth()
What is the current stack depth (path length)? |
String |
toString()
|
Boolean |
visited(int op,
boolean dfs)
Have we seen the current state before, and if so, what was its valuation? |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public Explorer(Abstractor abs, String[] propositions) throws ParseException
abs
- The abstract state space to be checked.propositions
- The propositions over the abstract state.ParseException
- If any of the proposition strings do not describe proper
propositions.public Explorer(Abstractor abs)
abs
- The abstract state space to be checked.Method Detail |
public int stackDepth()
StateEngine.Engine
stackDepth
in interface StateEngine.Engine
public int getPropositionDescriptor()
StateEngine.Engine
getPropositionDescriptor
in interface StateEngine.Engine
public Boolean visited(int op, boolean dfs)
StateEngine.Engine
visited
in interface StateEngine.Engine
uk.ac.man.cs.rainbow.wvmc.StateEngine.Engine
op
- The current temporal operator. States are only
equal when their corresponding temporal
operators are equal too.dfs
- Whether the second (depth first) search is
happening. States are only equal when this
flag is equal too.public int[] getGBDepths(int depth)
StateEngine.Engine
getGBDepths
in interface StateEngine.Engine
uk.ac.man.cs.rainbow.wvmc.StateEngine.Engine
depth
- What depth on the stack should the depth
parameters be read from.public void push(int op, int quant, int gb, boolean ctl, int bad, int good, boolean dfs)
StateEngine.Engine
push
in interface StateEngine.Engine
uk.ac.man.cs.rainbow.wvmc.StateEngine.Engine
op
- The current temporal operator. States are only
equal when their corresponding temporal
operators are equal too.quant
- The current path quantifier. Does not affect
state equality.gb
- The good loop/bad loop flag. Does not affect
state equality.ctl
- The CTL-style formula flag. Does not affect
state equality.bad
- The bad loop depth indicator. Does not affect
state equality.good
- The good loop depth indicator. Does not affect
state equality.dfs
- Whether the second (depth first) search is
happening. States are only equal when this
flag is equal too.public StateEngine.Popped pop()
StateEngine.Engine
pop
in interface StateEngine.Engine
uk.ac.man.cs.rainbow.wvmc.StateEngine.Engine
public StateEngine.Popped backtrack(Boolean value) throws StateEngine.CannotBacktrack
StateEngine.Engine
backtrack
in interface StateEngine.Engine
uk.ac.man.cs.rainbow.wvmc.StateEngine.Engine
value
- The valuation for the state we are
backtracking out of.CannotBacktrack
- If the stack is empty.public StateEngine.Execed execute(boolean reset, int op, int quant, int gb, boolean ctl, int bad, int good, boolean dfs)
StateEngine.Engine
execute
in interface StateEngine.Engine
uk.ac.man.cs.rainbow.wvmc.StateEngine.Engine
reset
- Can't remember what this does right now... :^)op
- The current temporal operator. States are only
equal when their corresponding temporal
operators are equal too.quant
- The current path quantifier. Does not affect
state equality.gb
- The good loop/bad loop flag. Does not affect
state equality.ctl
- The CTL-style formula flag. Does not affect
state equality.bad
- The bad loop depth indicator. Does not affect
state equality.good
- The good loop depth indicator. Does not affect
state equality.dfs
- Whether the second (depth first) search is
happening. States are only equal when this
flag is equal too.RainbowException
- If the state generator fails somehow. An example of the
sort of problem that might be reported through this
mechanism is an unchecked division by zero or a bizarre
state mismatch.public boolean deadlock()
public Introspector getIntrospector()
public int getStoreSize()
public int getExecutionCount()
public int getMaximumDepth()
public Transition[] getPathTransitions()
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |