java.lang.Object
dev.civl.gmc.smc.SMCEnabler
The implementation of
EnablerIF used by SMC.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturn the candidate ampleSet of transitions departing from a given state by satisfying the following three conditions:booleanReturns the current value of the debugging flag.Computes the set of transitions which are enabled atstate.Returns the debugging output stream.booleanIs the given state in the middle of an atomic action? Such intermediate states should be ignored by some algorithms.voidsetDebugging(boolean value) Set the debugging flag to the given value.voidsetDebugOut(PrintStream out) Set the debugging output stream to the given stream.
-
Constructor Details
-
SMCEnabler
-
-
Method Details
-
ampleSet
Return the candidate ampleSet of transitions departing from a given state by satisfying the following three conditions:
- C0: ampleSet is not empty if the full enabled set is not empty.
- C1: Along every path in the full state graph that starts at source state, the following condition holds: a transition that is dependent on a transition in ample(s) can not be executed without a transition in ample(s) occurring first
- C2: If source state is not fully expanded, then every transition in ample(s) is invisible.
For detail information about how to compute the ample set of a state, please refer to the book "Model Checking" by Edmund M. Clarke Jr.
Note that, all transitions in a same
Collectionshould share a same source state. (Because the SMC uses the fly-weight) -
fullSet
Description copied from interface:EnablerIFComputes the set of transitions which are enabled atstate. -
setDebugging
public void setDebugging(boolean value) Description copied from interface:EnablerIFSet the debugging flag to the given value. When true, debugging output will be printed to the debugging output stream.- Specified by:
setDebuggingin interfaceEnablerIF<Integer,String> - Parameters:
value- true if you want to print debugging info, false otherwise
-
debugging
public boolean debugging()Description copied from interface:EnablerIFReturns the current value of the debugging flag. When true, debugging output will be be printed to the debugging output stream. -
setDebugOut
Description copied from interface:EnablerIFSet the debugging output stream to the given stream.- Specified by:
setDebugOutin interfaceEnablerIF<Integer,String> - Parameters:
out- the stream to which you want the debugging output to be sent
-
getDebugOut
Description copied from interface:EnablerIFReturns the debugging output stream. This is the stream to which debuging output will be printed when the debugging flag is on.- Specified by:
getDebugOutin interfaceEnablerIF<Integer,String> - Returns:
- the debugging output stream
-
inAtomic
Description copied from interface:EnablerIFIs the given state in the middle of an atomic action? Such intermediate states should be ignored by some algorithms.
-