|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ISchedulingStrategist
Main scheduler module for Bogor.
Field Summary | |
---|---|
static String |
TRANSFORMATION_FILTER_ID
Configuration option to give an order list of classnames which implement ITransformationFilter to provide domain-customized
removal of infeasible transformations. |
Method Summary | |
---|---|
int |
advise(int extDesc,
Node node,
IValue[] choices,
ISchedulingStrategyInfo ssi)
Choose among several possible values for an expression. |
int |
advise(ISchedulingStrategyContext ssc,
int[] threadIds,
Transformation[] transformations,
ISchedulingStrategyInfo ssi)
Choose among several enabled transformations at the beginning of a step. |
int |
advise(ISchedulingStrategyContext ssc,
Transformation[] transformations,
ISchedulingStrategyInfo ssi)
Choose among non-deterministic transformations to take immediately following the control of transfer from one FSM location to another. |
void |
disableInterleaving()
Re-enable the normal calculation of getEnabledTransformation
result sets. |
void |
enableInterleaving()
Prevent getEnabledTransformations (all varieties)
from stripping out transitions from all threads except the one which
most recently moved. |
void |
enter(ISchedulingStrategyContext ssc,
Node node)
Notify the scheduler that a thread is entering an FSM. |
void |
enterSimulation()
Inform the scheduling strategist that a series of transitions are about to be executed which should not be pre-scripted (e.g., will not appear in a counterexample trail). |
void |
exit()
Notify the scheduler that a thread is exiting an FSM. |
void |
exitSimulation()
Exit the scope denoted by the corresponding enterSimulation()
call. |
IntObjectTable<ArrayList<Transformation>> |
getEnabledTransformations(IEnabledTransformationsContext etc)
Find all the enabled FSM transitions. |
IntObjectTable<ArrayList<Transformation>> |
getEnabledTransformations(IEnabledTransformationsContext etc,
Set<Transformation> ignoredTransformations)
Find all the enabled FSM transitions except those given in ignoredTransformations . |
ITransformationFilter[] |
getTransformationFilters()
Retrieve the set of transformation filters configured via the TRANSFORMATION_FILTER_ID option. |
IntObjectTable<ArrayList<Transformation>> |
getWorkSet(IEnabledTransformationsContext etc)
Find a reduced set of transitions whose executions will suffice to represent the execution of all enabled transformations. |
IntObjectTable<ArrayList<Transformation>> |
getWorkSet(IEnabledTransformationsContext etc,
Set<Transformation> ignoredTransformations)
Find a reduced set of transitions whose executions will suffice to represent the execution of all enabled transformations. |
boolean |
isEnabled(IState state,
Transformation t,
int threadId)
Test if a FSM transition is enabled with respect to a particular thread. |
boolean |
isInSimulatingScope()
|
ISchedulingStrategyInfo |
newStrategyInfo()
Construct a scheduling context information records appropriate to the currently-used schedule module. |
Methods inherited from interface edu.ksu.cis.projects.bogor.module.IModule |
---|
connect, getCopyrightNotice, setOptions |
Methods inherited from interface edu.ksu.cis.projects.bogor.util.Disposable |
---|
dispose |
Field Detail |
---|
static final String TRANSFORMATION_FILTER_ID
ITransformationFilter
to provide domain-customized
removal of infeasible transformations.
Method Detail |
---|
void enterSimulation()
void exitSimulation()
enterSimulation()
call.
boolean isInSimulatingScope()
void enableInterleaving()
getEnabledTransformations
(all varieties)
from stripping out transitions from all threads except the one which
most recently moved.
The machinery affects by calling this method is structured in a way
that calling enableInterleaving
in the initial state
(that is, before any thread has yet moved) will still allow a thread
to be selected and run.
void disableInterleaving()
getEnabledTransformation
result sets. See the comments for enableInterleaving()
for more
details.
boolean isEnabled(IState state, Transformation t, int threadId)
IntObjectTable<ArrayList<Transformation>> getEnabledTransformations(IEnabledTransformationsContext etc)
etc
-
int
) to an
ArrayList<Transformation>
of the
transformations enabled for that thread.IntObjectTable<ArrayList<Transformation>> getEnabledTransformations(IEnabledTransformationsContext etc, Set<Transformation> ignoredTransformations)
ignoredTransformations
.
etc
- ignoredTransformations
- a Set<Transformation>
of transformations to
ignore across all threads
int
) to an
ArrayList<Transformation>
of the
transformations enabled for that thread.IntObjectTable<ArrayList<Transformation>> getWorkSet(IEnabledTransformationsContext etc, Set<Transformation> ignoredTransformations)
etc
- ignoredTransformations
- a Set<Transformation>
of transformations to
ignore across all threads
int
) to an
ArrayList<Transformation>
of the
transformations enabled for that thread.IntObjectTable<ArrayList<Transformation>> getWorkSet(IEnabledTransformationsContext etc)
etc
-
int
) to an
ArrayList<Transformation>
of the
transformations enabled for that thread.ITransformationFilter[] getTransformationFilters()
TRANSFORMATION_FILTER_ID
option.
int advise(ISchedulingStrategyContext ssc, Transformation[] transformations, ISchedulingStrategyInfo ssi)
ssc
- transformations
- ssi
-
int advise(ISchedulingStrategyContext ssc, int[] threadIds, Transformation[] transformations, ISchedulingStrategyInfo ssi)
ssc
- threadIds
- transformations
- ssi
-
int advise(int extDesc, Node node, IValue[] choices, ISchedulingStrategyInfo ssi)
Transformation
to execute and before the selection of an
optional post-control-transfer metadata Transformation
(e.g., for property- checking automata).
extDesc
- node
- choices
- ssi
-
void enter(ISchedulingStrategyContext ssc, Node node)
ssc
- node
- void exit()
ISchedulingStrategyInfo newStrategyInfo()
ISchedulingStrategist
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |