Interface OTSSimulatorInterface

All Superinterfaces:
DEVSSimulatorInterface<Time,​Duration,​SimTimeDoubleUnit>, DEVSSimulatorInterface.TimeDoubleUnit, nl.tudelft.simulation.event.EventProducerInterface, Remote, Serializable, SimulatorInterface<Time,​Duration,​SimTimeDoubleUnit>, SimulatorInterface.TimeDoubleUnit
All Known Subinterfaces:
OTSAnimatorInterface
All Known Implementing Classes:
OTSAnimator, OTSLoggingAnimator, OTSSimulator

public interface OTSSimulatorInterface
extends DEVSSimulatorInterface.TimeDoubleUnit

Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

$LastChangedDate: 2020-01-23 11:14:19 +0100 (Thu, 23 Jan 2020) $, @version $Revision: 6010 $, by $Author: averbraeck $, initial version 11 mei 2015

Author:
Alexander Verbraeck, Peter Knoppers
  • Method Details

    • initialize

      void initialize​(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model) throws SimRuntimeException, NamingException
      Initialize a simulation engine without animation; the easy way. PauseOnError is set to true;
      Parameters:
      startTime - Time; the start time of the simulation
      warmupPeriod - Duration; the warm up period of the simulation (use new Duration(0, SECOND) if you don't know what this is)
      runLength - Duration; the duration of the simulation
      model - OTSModelInterface; the simulation to execute
      Throws:
      SimRuntimeException - when e.g., warmupPeriod is larger than runLength
      NamingException - when the context for the replication cannot be created
    • initialize

      void initialize​(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model, int replicationNr) throws SimRuntimeException, NamingException
      Initialize a simulation engine without animation and prescribed replication number; the easy way. PauseOnError is set to true;
      Parameters:
      startTime - Time; the start time of the simulation
      warmupPeriod - Duration; the warm up period of the simulation (use new Duration(0, SECOND) if you don't know what this is)
      runLength - Duration; the duration of the simulation
      model - OTSModelInterface; the simulation to execute
      replicationNr - int; the replication number
      Throws:
      SimRuntimeException - when e.g., warmupPeriod is larger than runLength
      NamingException - when context for the animation cannot be created
    • scheduleEvent

      SimEvent<SimTimeDoubleUnit> scheduleEvent​(Time executionTime, short priority, Object source, Object target, String method, Object[] args) throws SimRuntimeException
      Construct and schedule a SimEvent using a Time to specify the execution time.
      Parameters:
      executionTime - Time; the time at which the event must happen
      priority - short; should be between SimEventInterface.MAX_PRIORITY and SimEventInterface.MIN_PRIORITY; most normal events should use SimEventInterface.NORMAL_PRIORITY
      source - Object; the object that creates/schedules the event
      target - Object; the object that must execute the event
      method - String; the name of the method of target that must execute the event
      args - Object[]; the arguments of the method that must execute the event
      Returns:
      SimEvent<SimTimeDoubleUnit>; the event that was scheduled (the caller should save this if a need to cancel the event may arise later)
      Throws:
      SimRuntimeException - when the executionTime is in the past
    • getReplication

      OTSReplication getReplication()
      Specified by:
      getReplication in interface SimulatorInterface<Time,​Duration,​SimTimeDoubleUnit>