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

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    protected static final int
    Gelöscht - Zustand.
    protected static final int
    Vorstart - Zustand.
    protected static final int
    Neu - Zustand.
    protected static final int
    Pause - Zustand.
    protected static final int
    Start - Zustand.
    protected static final int
    Stop - Zustand.
    static final int
    Undefinierter Zustand / Undefinierte Simulationsvariante
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    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.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    protected void
    - Anmelden auf Information, welche Daten archiviert werden sollen.
    protected void
    continueInitStateSubscribe(de.bsvrz.dav.daf.main.ResultData resultData)
    Fortsetzung Zustand 'Vorstart'. - Meldet das Archivsystem auf die Simulationsdaten an.
    void
    dataDeleted(boolean successful)
    Wird aufgerufen, nachdem die Daten der Simulation gelöscht wurden.
    protected void
    Zustand 'Gelöscht' wird erreicht. - Löschen der Daten
    protected void
    Zustand 'Vorstart' wird erreicht. - Löschen der archivierten Simulationsdaten.
    protected void
    Zustand 'Neu' wird erreicht.
    protected void
    Zustand 'Start' wird erreicht.
    protected void
    Zustand 'Stop' wird erreicht. - 'Ende'-Meldung senden - Abmeldung vom Datenempfang
    protected void
    Wird aufgerufen, nachdem alle Daten gelöscht wurden.
    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.
    short
    Liefert die Simulationsvariante der Simulation.
    protected boolean
    sendSimulationState(boolean archiveReady)
    Legt den Simulationsstatus auf den Datenverteiler.
    void
    Beendet den Automaten.
     
    boolean
    Transition in den neuen Zustand.
    protected void
    Stoppt die Simulationsanmeldung.
    void
    update(de.bsvrz.dav.daf.main.ResultData[] results)
    Callback Methode die vom Dav aufgerufen wird, wenn neue Daten zum Simulationsobjekt eingehen.
    void
    Benachrichtigt die Simulation, dass die Wartezeit abgelaufen ist.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Felddetails

    • UNDEFINED

      public static final int UNDEFINED
      Undefinierter Zustand / Undefinierte Simulationsvariante
      Siehe auch:
    • NEW

      protected static final int NEW
      Neu - Zustand.
      Siehe auch:
    • INIT

      protected static final int INIT
      Vorstart - Zustand.
      Siehe auch:
    • START

      protected static final int START
      Start - Zustand.
      Siehe auch:
    • PAUSE

      protected static final int PAUSE
      Pause - Zustand.
      Siehe auch:
    • STOP

      protected static final int STOP
      Stop - Zustand.
      Siehe auch:
    • ERASED

      protected static final int ERASED
      Gelö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 - Simulationsverwaltung
      simulation - 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:
      true falls der Automat in den neuen Zustand überführt werden konnte. false sonst.
    • 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, wird continueInitStateSubscribe(ResultData) durch update(ResultData[]) aufgerufen. Diese Methode wird von dataDeleted(boolean) aufgerufen, wenn der Zustand der Simulation INIT ist.
    • continueInitStateSubscribe

      protected void continueInitStateSubscribe(de.bsvrz.dav.daf.main.ResultData resultData)
      Fortsetzung Zustand 'Vorstart'. - Meldet das Archivsystem auf die Simulationsdaten an. Wird durch update(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 durch dataDeleted(boolean) aufgerufen, wenn der Zustand ERASED ist. - 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:
      true falls 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:
      update in Schnittstelle de.bsvrz.dav.daf.main.ClientReceiverInterface
      Siehe auch:
      • SimulationManager.addTransition(SimulationManager.Transition)
    • 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. UNDEFINED falls noch nicht initialisiert.
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object