Package de.bsvrz.ars.ars.mgmt.simulation
Klasse SimulationAutomaton
java.lang.Object
de.bsvrz.ars.ars.mgmt.simulation.SimulationAutomaton
- Alle implementierten Schnittstellen:
de.bsvrz.dav.daf.main.ClientReceiverInterface
- Bekannte direkte Unterklassen:
OfflineSimulation,OnlineSimulation
public sealed class SimulationAutomaton
extends Object
implements de.bsvrz.dav.daf.main.ClientReceiverInterface
permits OfflineSimulation, OnlineSimulation
Deterministischer endlicher Automat für die Simulation. Nicht erlaubte Transitionen werden ignoriert. Treten Fehler auf, so werden diese geloggt.
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprotected static final intGelöscht - Zustand.protected static final intVorstart - Zustand.protected static final intNeu - Zustand.protected static final intPause - Zustand.protected static final intStart - Zustand.protected static final intStop - Zustand.static final intUndefinierter Zustand / Undefinierte Simulationsvariante -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungSimulationAutomaton(SimulationManager simManager, de.bsvrz.dav.daf.main.config.SystemObject simulation, de.bsvrz.dav.daf.main.DataDescription simulationControl) Erzeugt einen neuen Automaten für eine Simulation. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected void- Anmelden auf Information, welche Daten archiviert werden sollen.protected voidcontinueInitStateSubscribe(de.bsvrz.dav.daf.main.ResultData resultData) Fortsetzung Zustand 'Vorstart'. - Meldet das Archivsystem auf die Simulationsdaten an.voiddataDeleted(boolean successful) Wird aufgerufen, nachdem die Daten der Simulation gelöscht wurden.protected voidZustand 'Gelöscht' wird erreicht. - Löschen der Datenprotected voidZustand 'Vorstart' wird erreicht. - Löschen der archivierten Simulationsdaten.protected voidZustand 'Neu' wird erreicht.protected voidZustand 'Start' wird erreicht.protected voidZustand 'Stop' wird erreicht. - 'Ende'-Meldung senden - Abmeldung vom Datenempfangprotected voidWird aufgerufen, nachdem alle Daten gelöscht wurden.protected voidfinishInitState(boolean successful) Wird vom ArchivConfig Task aufgerufen, nachdem das Archivsystem sich auf die Simulationsdaten angemeldet hat - Sendet die 'Bereit' Meldung, wenn Daten gelöscht, falls der Automat im Zustand Vorstart und die Anmeldung auf die zu archivierenden Simulationsdaten erfolgreich verlaufen ist.shortLiefert die Simulationsvariante der Simulation.protected booleansendSimulationState(boolean archiveReady) Legt den Simulationsstatus auf den Datenverteiler.voidBeendet den Automaten.toString()booleanTransition in den neuen Zustand.protected voidStoppt die Simulationsanmeldung.voidupdate(de.bsvrz.dav.daf.main.ResultData[] results) Callback Methode die vom Dav aufgerufen wird, wenn neue Daten zum Simulationsobjekt eingehen.voidwakeUp()Benachrichtigt die Simulation, dass die Wartezeit abgelaufen ist.
-
Felddetails
-
UNDEFINED
public static final int UNDEFINEDUndefinierter Zustand / Undefinierte Simulationsvariante- Siehe auch:
-
NEW
protected static final int NEWNeu - Zustand.- Siehe auch:
-
INIT
protected static final int INITVorstart - Zustand.- Siehe auch:
-
START
protected static final int STARTStart - Zustand.- Siehe auch:
-
PAUSE
protected static final int PAUSEPause - Zustand.- Siehe auch:
-
STOP
protected static final int STOPStop - Zustand.- Siehe auch:
-
ERASED
protected static final int ERASEDGelöscht - Zustand.- Siehe auch:
-
-
Konstruktordetails
-
SimulationAutomaton
public SimulationAutomaton(SimulationManager simManager, de.bsvrz.dav.daf.main.config.SystemObject simulation, de.bsvrz.dav.daf.main.DataDescription simulationControl) Erzeugt einen neuen Automaten für eine Simulation. Meldet den Automaten als Empfänger für das Simuationsobjekt an.- Parameter:
simManager- Simulationsverwaltungsimulation- Simulationsobjekt.simulationControl- Steuerungsinformationen, auf die sich die Simulation beim Dav anmelden soll.
-
-
Methodendetails
-
transition
public boolean transition()Transition in den neuen Zustand. Es wird überprüft, ob die Transition möglich ist.- Gibt zurück:
truefalls der Automat in den neuen Zustand überführt werden konnte.falsesonst.
-
enterNewState
protected void enterNewState()Zustand 'Neu' wird erreicht. Meldet den Empfang von Steuerungsdaten an. Sendet, dass das Archivsystem nicht für die Durchführung der Simulation zur Verfügung steht. -
enterInitState
protected void enterInitState()Zustand 'Vorstart' wird erreicht. - Löschen der archivierten Simulationsdaten. Ist diese Aufgabe abgeschlossen, wird die Callback MethodedataDeleted(boolean)vom Löschtask aufgerufen. -
continueInitStateGetParams
protected void continueInitStateGetParams()- Anmelden auf Information, welche Daten archiviert werden sollen. Geht diese Information ein, wirdcontinueInitStateSubscribe(ResultData)durchupdate(ResultData[])aufgerufen. Diese Methode wird vondataDeleted(boolean)aufgerufen, wenn der Zustand der SimulationINITist. -
continueInitStateSubscribe
protected void continueInitStateSubscribe(de.bsvrz.dav.daf.main.ResultData resultData) Fortsetzung Zustand 'Vorstart'. - Meldet das Archivsystem auf die Simulationsdaten an. Wird durchupdate(ResultData[])aufgerufen, sobald die zu archivierenden Daten bekannt sind.- Parameter:
resultData- Information, auf welche Daten sich das Archivsystem anmelden soll.
-
finishInitState
protected void finishInitState(boolean successful) Wird vom ArchivConfig Task aufgerufen, nachdem das Archivsystem sich auf die Simulationsdaten angemeldet hat - Sendet die 'Bereit' Meldung, wenn Daten gelöscht, falls der Automat im Zustand Vorstart und die Anmeldung auf die zu archivierenden Simulationsdaten erfolgreich verlaufen ist.- Parameter:
successful- Zeigt an, ob der Auftrag erfolgreich durchgeführt wurde.
-
enterStartState
protected void enterStartState()Zustand 'Start' wird erreicht. Meldet die Simulation vom Empfang von Anmeldeinformationen -
enterStopState
protected void enterStopState()Zustand 'Stop' wird erreicht. - 'Ende'-Meldung senden - Abmeldung vom Datenempfang -
enterErasedState
protected void enterErasedState()Zustand 'Gelöscht' wird erreicht. - Löschen der Daten -
finishErasedState
protected void finishErasedState()Wird aufgerufen, nachdem alle Daten gelöscht wurden. Wird durchdataDeleted(boolean)aufgerufen, wenn der ZustandERASEDist. - Benachrichtigung senden, dass Simulationsobjekt gelsöcht werden kann. -
sendSimulationState
protected boolean sendSimulationState(boolean archiveReady) Legt den Simulationsstatus auf den Datenverteiler. Blockiert, bis das Senden abgeschlossen wurde, maximal jedoch 10 Sekunden.- Parameter:
archiveReady- Ist das Archiv für die Simulation bereit?- Gibt zurück:
truefalls das Senden erfolgreich durchgeführt wurde.
-
unsubscribe
protected void unsubscribe()Stoppt die Simulationsanmeldung. Wartet nicht. -
dataDeleted
public void dataDeleted(boolean successful) Wird aufgerufen, nachdem die Daten der Simulation gelöscht wurden.- Parameter:
successful- Zeigt an, ob die Daten gelöscht werden konnten.
-
terminate
public void terminate()Beendet den Automaten. Meldet den Empfang von Daten ab. -
update
public void update(de.bsvrz.dav.daf.main.ResultData[] results) Callback Methode die vom Dav aufgerufen wird, wenn neue Daten zum Simulationsobjekt eingehen. Benachrichtigt Simulationsverwaltung, wenn eine Zustandsänderung der Simulation eingegangen ist.- Angegeben von:
updatein Schnittstellede.bsvrz.dav.daf.main.ClientReceiverInterface- Siehe auch:
-
wakeUp
public void wakeUp()Benachrichtigt die Simulation, dass die Wartezeit abgelaufen ist.- Siehe auch:
-
getSimVar
public short getSimVar()Liefert die Simulationsvariante der Simulation.- Gibt zurück:
- Simulationsvariante.
UNDEFINEDfalls noch nicht initialisiert.
-
toString
-