edu.ksu.cis.projects.bogor.module
Class DefaultCounterExampleWriter.GuidedSchedulingStrategistProxy

java.lang.Object
  extended by edu.ksu.cis.projects.bogor.module.DefaultCounterExampleWriter.GuidedSchedulingStrategistProxy
All Implemented Interfaces:
IModule, ISchedulingStrategist, Disposable, InvocationHandler
Enclosing class:
DefaultCounterExampleWriter

public static class DefaultCounterExampleWriter.GuidedSchedulingStrategistProxy
extends Object
implements ISchedulingStrategist, InvocationHandler

[Document Pending]

Version:
CVS $Revision: 1.44 $ $Date: 2005/06/09 00:22:01 $
Author:
$author$

Field Summary
protected  List<ICounterExampleSchedulingInfo> schedulingDecisions
           
protected  DefaultCounterExampleWriter.GuidedSystemSharedState sharedSearchState
          Search metadata shared across all guided components.
protected  ISchedulingStrategist ss
          [Document Pending]
 
Fields inherited from interface edu.ksu.cis.projects.bogor.module.ISchedulingStrategist
TRANSFORMATION_FILTER_ID
 
Constructor Summary
DefaultCounterExampleWriter.GuidedSchedulingStrategistProxy(ISchedulingStrategist ss, DefaultCounterExampleWriter.GuidedSystemSharedState gsss, List<ICounterExampleSchedulingInfo> path)
          Creates a new GuidedSchedulingStrategistProxy object.
 
Method Summary
 int advise(int extDesc, Node node, IValue[] choices, ISchedulingStrategyInfo ssi)
          [Document Pending]
 int advise(ISchedulingStrategyContext ssc, int[] threadIds, Transformation[] transformations, ISchedulingStrategyInfo ssi)
          [Document Pending]
 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.
 IMessageStore connect(IBogorConfiguration bc)
          [Document Pending]
 void disableInterleaving()
          [Document Pending]
 void dispose()
          [Document Pending]
 void enableInterleaving()
          [Document Pending]
 void enter(ISchedulingStrategyContext ssc, Node node)
          [Document Pending]
 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()
          [Document Pending]
 void exitSimulation()
          Exit the scope denoted by the corresponding ISchedulingStrategist.enterSimulation() call.
 String getCopyrightNotice()
          [Document Pending]
 IntObjectTable<ArrayList<Transformation>> getEnabledTransformations(IEnabledTransformationsContext etc)
          [Document Pending]
 IntObjectTable<ArrayList<Transformation>> getEnabledTransformations(IEnabledTransformationsContext etc, Set<Transformation> ignoredTransformations)
          Find all the enabled FSM transitions except those given in ignoredTransformations.
 ITransformationFilter[] getTransformationFilters()
          [Document Pending]
 IntObjectTable<ArrayList<Transformation>> getWorkSet(IEnabledTransformationsContext etc)
          [Document Pending]
 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.
 Object invoke(Object receiver, Method m, Object[] args)
          [Document Pending]
 boolean isEnabled(IState state, Transformation t, int threadId)
          [Document Pending]
 boolean isInSimulatingScope()
           
 ISchedulingStrategyInfo newStrategyInfo()
          [Document Pending]
 IMessageStore setOptions(String key, Properties configuration)
          [Document Pending]
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ss

protected ISchedulingStrategist ss
[Document Pending]


schedulingDecisions

protected List<ICounterExampleSchedulingInfo> schedulingDecisions

sharedSearchState

protected DefaultCounterExampleWriter.GuidedSystemSharedState sharedSearchState
Search metadata shared across all guided components.

Constructor Detail

DefaultCounterExampleWriter.GuidedSchedulingStrategistProxy

public DefaultCounterExampleWriter.GuidedSchedulingStrategistProxy(ISchedulingStrategist ss,
                                                                   DefaultCounterExampleWriter.GuidedSystemSharedState gsss,
                                                                   List<ICounterExampleSchedulingInfo> path)
Creates a new GuidedSchedulingStrategistProxy object.

Parameters:
ss - [Document Pending]
Method Detail

getCopyrightNotice

public String getCopyrightNotice()
[Document Pending]

Specified by:
getCopyrightNotice in interface IModule
Returns:
[Document Pending]

enterSimulation

public void enterSimulation()
Description copied from interface: ISchedulingStrategist
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). Re-entrance is allowed here.

Specified by:
enterSimulation in interface ISchedulingStrategist

exitSimulation

public void exitSimulation()
Description copied from interface: ISchedulingStrategist
Exit the scope denoted by the corresponding ISchedulingStrategist.enterSimulation() call.

Specified by:
exitSimulation in interface ISchedulingStrategist

isInSimulatingScope

public boolean isInSimulatingScope()
Specified by:
isInSimulatingScope in interface ISchedulingStrategist

disableInterleaving

public void disableInterleaving()
[Document Pending]

Specified by:
disableInterleaving in interface ISchedulingStrategist

enableInterleaving

public void enableInterleaving()
[Document Pending]

Specified by:
enableInterleaving in interface ISchedulingStrategist

isEnabled

public boolean isEnabled(IState state,
                         Transformation t,
                         int threadId)
[Document Pending]

Specified by:
isEnabled in interface ISchedulingStrategist
Parameters:
state - [Document Pending]
t - [Document Pending]
threadId - [Document Pending]
Returns:
[Document Pending]

getEnabledTransformations

public IntObjectTable<ArrayList<Transformation>> getEnabledTransformations(IEnabledTransformationsContext etc)
[Document Pending]

Specified by:
getEnabledTransformations in interface ISchedulingStrategist
Parameters:
etc - [Document Pending]
Returns:
[Document Pending]

getEnabledTransformations

public IntObjectTable<ArrayList<Transformation>> getEnabledTransformations(IEnabledTransformationsContext etc,
                                                                           Set<Transformation> ignoredTransformations)
Description copied from interface: ISchedulingStrategist
Find all the enabled FSM transitions except those given in ignoredTransformations.

Specified by:
getEnabledTransformations in interface ISchedulingStrategist
ignoredTransformations - a Set<Transformation> of transformations to ignore across all threads
Returns:
a mapping from thread descriptor (int) to an ArrayList<Transformation> of the transformations enabled for that thread.

setOptions

public IMessageStore setOptions(String key,
                                Properties configuration)
[Document Pending]

Specified by:
setOptions in interface IModule
Parameters:
key - [Document Pending]
configuration - [Document Pending]

getWorkSet

public IntObjectTable<ArrayList<Transformation>> getWorkSet(IEnabledTransformationsContext etc)
[Document Pending]

Specified by:
getWorkSet in interface ISchedulingStrategist
Parameters:
etc - [Document Pending]
Returns:
[Document Pending]

getWorkSet

public IntObjectTable<ArrayList<Transformation>> getWorkSet(IEnabledTransformationsContext etc,
                                                            Set<Transformation> ignoredTransformations)
Description copied from interface: ISchedulingStrategist
Find a reduced set of transitions whose executions will suffice to represent the execution of all enabled transformations.

Specified by:
getWorkSet in interface ISchedulingStrategist
ignoredTransformations - a Set<Transformation> of transformations to ignore across all threads
Returns:
a mapping from thread descriptor (int) to an ArrayList<Transformation> of the transformations enabled for that thread.

advise

public int advise(ISchedulingStrategyContext ssc,
                  Transformation[] transformations,
                  ISchedulingStrategyInfo ssi)
Description copied from interface: ISchedulingStrategist
Choose among non-deterministic transformations to take immediately following the control of transfer from one FSM location to another. This should be the very last thing done in a step.

Specified by:
advise in interface ISchedulingStrategist
Returns:

getTransformationFilters

public ITransformationFilter[] getTransformationFilters()
[Document Pending]

Specified by:
getTransformationFilters in interface ISchedulingStrategist
Returns:
[Document Pending]

advise

public int advise(int extDesc,
                  Node node,
                  IValue[] choices,
                  ISchedulingStrategyInfo ssi)
[Document Pending]

Specified by:
advise in interface ISchedulingStrategist
Parameters:
extDesc - [Document Pending]
node - [Document Pending]
choices - [Document Pending]
ssi - [Document Pending]
Returns:
[Document Pending]

advise

public int advise(ISchedulingStrategyContext ssc,
                  int[] threadIds,
                  Transformation[] transformations,
                  ISchedulingStrategyInfo ssi)
[Document Pending]

Specified by:
advise in interface ISchedulingStrategist
Parameters:
ssc - [Document Pending]
threadIds - [Document Pending]
transformations - [Document Pending]
ssi - [Document Pending]
Returns:
[Document Pending]

connect

public IMessageStore connect(IBogorConfiguration bc)
[Document Pending]

Specified by:
connect in interface IModule
Parameters:
bc - [Document Pending]

dispose

public void dispose()
[Document Pending]

Specified by:
dispose in interface Disposable

enter

public void enter(ISchedulingStrategyContext ssc,
                  Node node)
[Document Pending]

Specified by:
enter in interface ISchedulingStrategist
Parameters:
ssc - [Document Pending]
node - [Document Pending]

exit

public void exit()
[Document Pending]

Specified by:
exit in interface ISchedulingStrategist

invoke

public Object invoke(Object receiver,
                     Method m,
                     Object[] args)
[Document Pending]

Specified by:
invoke in interface InvocationHandler
Parameters:
receiver - [Document Pending]
m - [Document Pending]
args - [Document Pending]
Returns:
[Document Pending]

newStrategyInfo

public ISchedulingStrategyInfo newStrategyInfo()
[Document Pending]

Specified by:
newStrategyInfo in interface ISchedulingStrategist
Returns:
[Document Pending]