de.bsvrz.ars.ars.mgmt.simulation
Class SimulationManager

java.lang.Object
  extended by java.lang.Thread
      extended by de.bsvrz.ars.ars.mgmt.tasks.Task
          extended by de.bsvrz.ars.ars.mgmt.simulation.SimulationManager
All Implemented Interfaces:
SuspendableTask, java.lang.Runnable

public class SimulationManager
extends Task

Diese Klasse reagiert auf Änderungen der Menge der Simulationsobjekte. Pro Simulationsobjekt wird eine Instanz von SimulationAutomaton erzeugt.
Wird das Archivsystem während einer Simulation heruntergefahren wird, so werden die bisher abgelegten Simulationsdaten nicht gelöscht. Dies geschieht dann entweder auf Anfrage oder wenn die Simulation erneut gestartet und in den Zustand 'Vorstart' gebracht wird.

Version:
$Revision: 1.2 $ / $Date: 2008/01/22 16:55:58 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Martin Hilgers

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, persMgr, ringOfDeathListener, taskStepListeners
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SimulationManager(ArchiveManager archMgr)
          Meldet Objekt als Empfänger für Änderungen an PidSimulation.objectSet an.
 
Method Summary
 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)
           
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTask
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, 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, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SimulationManager

public SimulationManager(ArchiveManager archMgr)
Meldet Objekt als Empfänger für Änderungen an PidSimulation.objectSet an.

Parameters:
archMgr - Archivmanager
Method Detail

start

public void start()
Overrides:
start in class java.lang.Thread
See Also:
Thread.start()

update

public void update(MutableSet set,
                   SystemObject[] addedObjects,
                   SystemObject[] removedObjects)
See Also:
MutableSetChangeListener#update(MutableSet, SystemObject[], SystemObject[])

getDav

public ClientDavInterface getDav()
Returns:
Verbindung zum Datenverteiler.

addTransition

public void addTransition(SimulationAutomaton dfa)
Eine Transition soll durchgeführt werden.

Parameters:
dfa - Simulationsobjekt, das eine Transition durchführen will.

addWakeUp

public void addWakeUp(SimulationAutomaton dfa)
Führt zum Aufrufen von SimulationAutomaton.wakeUp() nach dem Ablauf von der parametrierbaren Wartezeit.

Parameters:
dfa - Automat der benachrichtigt werden soll.

cancelWakeUp

public void cancelWakeUp(SimulationAutomaton dfa)
Bricht das Aufwecken der übergebenen Simulation ab.

Parameters:
dfa - Simulation

run

public void run()
Arbeitet die anstehenden Transitionen der Simulationsautomaten ab.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread
See Also:
Runnable.run()

insertDeleteQuery

public void insertDeleteQuery(SimulationResultData ard)
Leitet einen Löschauftrag an den ArchiveManager weiter.

Parameters:
ard - Auftragsparameter

getWakeUpTime

public long getWakeUpTime()
Liefert den Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.

Returns:
Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.

setTimeOutPeriod

public void setTimeOutPeriod(long timeout)
Parameters:
timeout - Zeit in ms in der ein Steuerbefehl von der Simulationssteuerung kommen muss, nachdem diese einen 'keine Quelle' Datensatz gesendet hat.


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.