public class SimulationManager extends Task implements MutableSetChangeListener
SimulationAutomaton erzeugt.Thread.State, Thread.UncaughtExceptionHandler| Modifier and Type | Field and Description |
|---|---|
private static Debug |
logger
Debug Ausgabe.
|
private MutableSet |
mutableSet
Objektmenge Simulationsobjekte.
|
private Hashtable<SystemObject,SimulationAutomaton> |
simulations
Abbildung SystemObjekt Simulation -> Java Objekt Simulation
|
private RingBuffer<SimulationAutomaton> |
transitions
FIFO Puffer mit den Simulationen die Transitionen durchführen müssen.
|
private WakeUpManager |
wakeUp
Verwalten der Weckzeiten
|
private long |
wakeUpTime
Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.
|
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, persMgr, ringOfDeathListener, taskStepListenersMAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY| Constructor and Description |
|---|
SimulationManager(ArchiveManager archMgr)
Meldet Objekt als Empfänger für Änderungen an
PidSimulation.objectSet an. |
| Modifier and Type | Method and Description |
|---|---|
void |
addTransition(SimulationAutomaton dfa)
Eine Transition soll durchgeführt werden.
|
void |
addWakeUp(SimulationAutomaton dfa)
Führt zum Aufrufen von
SimulationAutomaton.wakeUp() nach dem Ablauf von der parametrierbaren Wartezeit. |
void |
cancelWakeUp(SimulationAutomaton dfa)
Bricht das Aufwecken der übergebenen Simulation ab.
|
ClientDavInterface |
getDav() |
long |
getWakeUpTime()
Liefert den Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.
|
void |
insertDeleteQuery(SimulationResultData ard)
Leitet einen Löschauftrag an den ArchiveManager weiter.
|
void |
run()
Arbeitet die anstehenden Transitionen der Simulationsautomaten ab.
|
void |
setTimeOutPeriod(long timeout) |
void |
start() |
void |
update(MutableSet set,
SystemObject[] addedObjects,
SystemObject[] removedObjects)
Methode, die nach Änderung einer Menge aufgerufen wird.
|
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTaskactiveCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yieldprivate MutableSet mutableSet
private Hashtable<SystemObject,SimulationAutomaton> simulations
private RingBuffer<SimulationAutomaton> transitions
private WakeUpManager wakeUp
private long wakeUpTime
private static Debug logger
public SimulationManager(ArchiveManager archMgr)
PidSimulation.objectSet an.archMgr - Archivmanagerpublic void start()
start in class ThreadThread.start()public void update(MutableSet set, SystemObject[] addedObjects, SystemObject[] removedObjects)
de.bsvrz.dav.daf.main.config.MutableSetChangeListenerupdate in interface MutableSetChangeListenerset - Dynamische Menge die verändert wurde.addedObjects - Objekte, die in die Menge aufgenommen wurden. Falls keine Objekte aufgenommen wurden, wird ein leeres Array übergeben.removedObjects - Objekte, die aus der Menge entfernt wurden. Falls keine Objekte entfernt wurden, wird ein leeres Array übergeben.MutableSetChangeListener.update(MutableSet,SystemObject[],SystemObject[])public ClientDavInterface getDav()
public void addTransition(SimulationAutomaton dfa)
dfa - Simulationsobjekt, das eine Transition durchführen will.public void addWakeUp(SimulationAutomaton dfa)
SimulationAutomaton.wakeUp() nach dem Ablauf von der parametrierbaren Wartezeit.dfa - Automat der benachrichtigt werden soll.public void cancelWakeUp(SimulationAutomaton dfa)
dfa - Simulationpublic void run()
run in interface Runnablerun in class ThreadRunnable.run()public void insertDeleteQuery(SimulationResultData ard)
ard - Auftragsparameterpublic long getWakeUpTime()
public void setTimeOutPeriod(long timeout)
timeout - Zeit in ms in der ein Steuerbefehl von der Simulationssteuerung kommen muss, nachdem diese einen 'keine Quelle' Datensatz gesendet hat.