nslj.src.system
Class NslMultiClockScheduler
java.lang.Object
|
+--java.lang.Thread
|
+--nslj.src.system.NslScheduler
|
+--nslj.src.system.NslMultiClockScheduler
- All Implemented Interfaces:
- java.lang.Runnable
- public class NslMultiClockScheduler
- extends NslScheduler
| Fields inherited from class nslj.src.system.NslScheduler |
actualEndTime, actualNumEpochs, actualNumModules, contEndTime, contNumEpochs, contNumModules, curNumModules, cycleSuspended, epochSuspended, moduleSuspended, notFinished, numModules, resetScheduler, schedulerMode, schedulerState, simulationSuspended, simulationType |
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
NslMultiClockScheduler
public NslMultiClockScheduler(NslSystem sys)
createRunListRecursive
public void createRunListRecursive(NslModule module)
createTrainListRecursive
public void createTrainListRecursive(NslModule module)
getNumModulesRecursive
public void getNumModulesRecursive(NslModule module)
getNumModules
public int getNumModules()
createSchedulerRunList
public void createSchedulerRunList()
createSchedulerTrainList
public void createSchedulerTrainList()
addModuleToClockRunList
public void addModuleToClockRunList(NslModule module)
- Add module into the scheduler.
If there exists a list of
modules with the same run step size as the object module,
the module will be added to the corresponding list.
Otherwise, a list of module with that run step size will be created.
There is no maximum number of those lists, but keeping it
minimal can significantly speed up the simulation.
- Parameters:
module - - module to be added.
addModuleToClockTrainList
public void addModuleToClockTrainList(NslModule module)
checkSystemStatus
public void checkSystemStatus()
run
public void run()
- Run the active modules until time time
in the basic step size specified in NslSystem
The modules registered in the scheduler will run
with an interval specified by the run step size.
- Overrides:
run in class java.lang.Thread
stepCycle
public void stepCycle()
- make one system run step.
- Overrides:
stepCycle in class NslScheduler
stepCycle
public void stepCycle(int cycles)
- Overrides:
stepCycle in class NslScheduler
stepEpoch
public void stepEpoch()
- Overrides:
stepEpoch in class NslScheduler
stepEpoch
public void stepEpoch(int epochs)
- Overrides:
stepEpoch in class NslScheduler
stepModule
public void stepModule()
- Overrides:
stepModule in class NslScheduler
stepModule
public void stepModule(int modules)
- Overrides:
stepModule in class NslScheduler
initSys
public void initSys()
- Overrides:
initSys in class NslScheduler
initModule
public void initModule()
- Overrides:
initModule in class NslScheduler
initEpoch
public void initEpoch()
initCycle
public void initCycle()
oneCycle
public void oneCycle()
- make one cycle through simulation.
For a module, if the last run time plus its step size is equal
to or smaller than the current system time, that module is
executed. Otherwise, the run command is ignored.
endCycle
public void endCycle()
endEpoch
public void endEpoch()
endModule
public void endModule()
- Overrides:
endModule in class NslScheduler
endSys
public void endSys()
- Overrides:
endSys in class NslScheduler
initTrainList
public void initTrainList()
initRunList
public void initRunList()
initSysRecursively
public void initSysRecursively(NslModule module)
initModuleRecursively
public void initModuleRecursively(NslModule module)
initClassRecursively
public void initClassRecursively(NslClass cl)
initTrainEpoch
public void initTrainEpoch()
- Overrides:
initTrainEpoch in class NslScheduler
initTrainEpochRecursively
public void initTrainEpochRecursively(NslModule module)
initTrain
public void initTrain()
- Initialize the system and current active module
including its child modules
- Overrides:
initTrain in class NslScheduler
initTrainRecursively
public void initTrainRecursively(NslModule module)
- Initialize module module and its child modules
recursively.
- Parameters:
module -
trainOneCycle
public void trainOneCycle()
trainAll
public void trainAll()
- Overrides:
trainAll in class NslScheduler
trainAll
public void trainAll(int endTime)
- Overrides:
trainAll in class NslScheduler
train
public void train(char type)
- Overrides:
train in class NslScheduler
train
public void train(double endTime)
- Overrides:
train in class NslScheduler
simTrain
public void simTrain()
- Overrides:
simTrain in class NslScheduler
simTrain
public void simTrain(double endTime)
- Overrides:
simTrain in class NslScheduler
endTrain
public void endTrain()
- Overrides:
endTrain in class NslScheduler
endTrainRecursively
public void endTrainRecursively(NslModule module)
endTrainEpoch
public void endTrainEpoch()
- Overrides:
endTrainEpoch in class NslScheduler
endTrainEpochRecursively
public void endTrainEpochRecursively(NslModule module)
initRunEpoch
public void initRunEpoch()
- Overrides:
initRunEpoch in class NslScheduler
initRunEpochRecursively
public void initRunEpochRecursively(NslModule module)
initRun
public void initRun()
- Initialize the system and current active module
including its child modules
- Overrides:
initRun in class NslScheduler
initRunRecursively
public void initRunRecursively(NslModule module)
- Initialize module module and its child modules
recursively.
- Parameters:
module -
runOneCycle
public void runOneCycle()
runAll
public void runAll()
- Overrides:
runAll in class NslScheduler
runAll
public void runAll(int endTime)
- Overrides:
runAll in class NslScheduler
run
public void run(char type)
- Overrides:
run in class NslScheduler
run
public void run(double endTime)
- Overrides:
run in class NslScheduler
simRun
public void simRun()
- Overrides:
simRun in class NslScheduler
simRun
public void simRun(double endTime)
- Overrides:
simRun in class NslScheduler
endRun
public void endRun()
- Overrides:
endRun in class NslScheduler
endRunRecursively
public void endRunRecursively(NslModule module)
endRunEpoch
public void endRunEpoch()
- Overrides:
endRunEpoch in class NslScheduler
endRunEpochRecursively
public void endRunEpochRecursively(NslModule module)
endModuleRecursively
public void endModuleRecursively(NslModule module)
endSysRecursively
public void endSysRecursively(NslModule module)
trainAndRunAll
public void trainAndRunAll()
- Overrides:
trainAndRunAll in class NslScheduler
updateBuffers
public void updateBuffers(NslModule module)
- Update module module and its child modules
recursively.
- Parameters:
module -
breakAll
public void breakAll()
- Description copied from class:
NslScheduler
- Used for controlling state of scheduler thread
- Overrides:
breakAll in class NslScheduler
breakModules
public void breakModules()
- Overrides:
breakModules in class NslScheduler
breakCycles
public void breakCycles()
- Overrides:
breakCycles in class NslScheduler
breakEpochs
public void breakEpochs()
- Overrides:
breakEpochs in class NslScheduler
continueAll
public void continueAll()
- Overrides:
continueAll in class NslScheduler
continueCycle
public void continueCycle()
- Overrides:
continueCycle in class NslScheduler
continueEpoch
public void continueEpoch()
- Overrides:
continueEpoch in class NslScheduler
continueModule
public void continueModule()
- Overrides:
continueModule in class NslScheduler
continueAll
public void continueAll(double endTime)
- Overrides:
continueAll in class NslScheduler
continueCycle
public void continueCycle(int endCycle)
- Overrides:
continueCycle in class NslScheduler
continueEpoch
public void continueEpoch(int endEpochs)
- Overrides:
continueEpoch in class NslScheduler
continueModule
public void continueModule(int end)
- Overrides:
continueModule in class NslScheduler
reset
public void reset()
- reset the scheduler, clear all nslConnection and modules in the scheduler
ready for next model to run.
- Overrides:
reset in class NslScheduler