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.
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
-
Nested Class Summary
Nested classes/interfaces inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
DEVSSimulatorInterface.CalendarDouble, DEVSSimulatorInterface.CalendarFloat, DEVSSimulatorInterface.CalendarLong, DEVSSimulatorInterface.TimeDouble, DEVSSimulatorInterface.TimeDoubleUnit, DEVSSimulatorInterface.TimeFloat, DEVSSimulatorInterface.TimeFloatUnit, DEVSSimulatorInterface.TimeLongNested classes/interfaces inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
SimulatorInterface.CalendarDouble, SimulatorInterface.CalendarFloat, SimulatorInterface.CalendarLong, SimulatorInterface.TimeDouble, SimulatorInterface.TimeDoubleUnit, SimulatorInterface.TimeFloat, SimulatorInterface.TimeFloatUnit, SimulatorInterface.TimeLong -
Field Summary
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
EVENTLIST_CHANGED_EVENTFields inherited from interface org.djutils.event.EventProducerInterface
FIRST_POSITION, LAST_POSITIONFields inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
END_REPLICATION_EVENT, START_EVENT, START_REPLICATION_EVENT, STEP_EVENT, STOP_EVENT, TIME_CHANGED_EVENT, WARMUP_EVENT -
Method Summary
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, runUpTo, runUpToAndIncluding, scheduleEvent, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventRel, scheduleEventRel, scheduleEventRel, scheduleEventRel, setEventList, setPauseOnErrorMethods inherited from interface org.djutils.event.EventProducerInterface
addListener, addListener, addListener, addListener, getEventTypesWithListeners, hasListeners, numberOfListeners, removeListenerMethods inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
endReplication, getLogger, getSimTime, getSimulatorTime, getSourceId, initialize, isRunning, start, start, step, step, stop, stop
-
Method Details
-
initialize
void initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model) throws SimRuntimeException, NamingExceptionInitialize 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, NamingExceptionInitialize 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 SimRuntimeExceptionConstruct 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>
-