Package org.opentrafficsim.core.dsol
Interface OTSSimulatorInterface
-
- All Superinterfaces:
DEVSSimulatorInterface<Time,Duration,SimTimeDoubleUnit>,DEVSSimulatorInterface.TimeDoubleUnit,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.
$LastChangedDate: 2020-01-23 11:14:19 +0100 (Thu, 23 Jan 2020) $, @version $Revision: 6010 $, by $Author: averbraeck $, initial version 11 mei 2015
BSD-style license. See OpenTrafficSim License.- Author:
- Alexander Verbraeck, Peter Knoppers
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
DEVSSimulatorInterface.TimeDouble, DEVSSimulatorInterface.TimeDoubleUnit, DEVSSimulatorInterface.TimeFloat, DEVSSimulatorInterface.TimeFloatUnit, DEVSSimulatorInterface.TimeLong
-
Nested classes/interfaces inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
SimulatorInterface.TimeDouble, SimulatorInterface.TimeDoubleUnit, SimulatorInterface.TimeFloat, SimulatorInterface.TimeFloatUnit, SimulatorInterface.TimeLong
-
-
Field Summary
-
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
EVENTLIST_CHANGED_EVENT
-
Fields inherited from interface org.djutils.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION
-
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
START_EVENT, STARTING_EVENT, STOP_EVENT, STOPPING_EVENT, TIME_CHANGED_EVENT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description OTSReplicationgetReplication()voidinitialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model)Initialize a simulation engine without animation; the easy way.voidinitialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model, int replicationNr)Initialize a simulation engine without animation and prescribed replication number; the easy way.SimEvent<SimTimeDoubleUnit>scheduleEvent(Time executionTime, short priority, Object source, Object target, String method, Object[] args)Construct and schedule a SimEvent using a Time to specify the execution time.-
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
cancelEvent, getEventList, isPauseOnError, scheduleEvent, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventRel, scheduleEventRel, scheduleEventRel, scheduleEventRel, setEventList, setPauseOnError
-
Methods inherited from interface org.djutils.event.EventProducerInterface
addListener, addListener, addListener, addListener, getEventTypesWithListeners, hasListeners, numberOfListeners, removeListener
-
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
getLogger, getReplicationState, getRunState, getSimTime, getSimulatorTime, getSourceId, initialize, isInitialized, isStartingOrRunning, isStoppingOrStopped, runUpTo, runUpToAndIncluding, start, step, stop
-
-
-
-
Method Detail
-
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 simulationwarmupPeriod- 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 simulationmodel- OTSModelInterface; the simulation to execute- Throws:
SimRuntimeException- when e.g., warmupPeriod is larger than runLengthNamingException- 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 simulationwarmupPeriod- 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 simulationmodel- OTSModelInterface; the simulation to executereplicationNr- int; the replication number- Throws:
SimRuntimeException- when e.g., warmupPeriod is larger than runLengthNamingException- 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 happenpriority- short; should be between SimEventInterface.MAX_PRIORITY and SimEventInterface.MIN_PRIORITY; most normal events should use SimEventInterface.NORMAL_PRIORITYsource- Object; the object that creates/schedules the eventtarget- Object; the object that must execute the eventmethod- String; the name of the method oftargetthat must execute the eventargs- Object[]; the arguments of themethodthat 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 theexecutionTimeis in the past
-
getReplication
OTSReplication getReplication()
- Specified by:
getReplicationin interfaceSimulatorInterface<Time,Duration,SimTimeDoubleUnit>
-
-