|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--uk.ac.man.cs.rainbow.deadlock.ModelCheck.Engine
The view presented to the model-checker.
Method Summary | |
StateEngine.Popped |
backtrack(Boolean value)
Backtrack from the current state, setting its valuation as we go. |
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[] |
getGBDepths(int index)
Obtain the good and bad depth parameters from the state at the given stack depth. |
int |
getPropositionDescriptor()
Get the integer describing the proposition valuation. |
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)? |
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, toString, wait, wait, wait |
Method Detail |
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) throws RainbowException
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 int[] getGBDepths(int index)
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 int getPropositionDescriptor()
StateEngine.Engine
getPropositionDescriptor
in interface StateEngine.Engine
public StateEngine.Popped pop()
StateEngine.Engine
pop
in interface StateEngine.Engine
RainbowError
- If there isn't a state to pop back into - this should never
happen in an uncontrolled fashion!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 int stackDepth()
StateEngine.Engine
stackDepth
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |