Package org.opentrafficsim.core.dsol
Class OTSSimulator
- java.lang.Object
-
- org.djutils.event.EventProducer
-
- nl.tudelft.simulation.dsol.simulators.Simulator<A,R,T>
-
- nl.tudelft.simulation.dsol.simulators.DEVSSimulator<Time,Duration,SimTimeDoubleUnit>
-
- nl.tudelft.simulation.dsol.simulators.DEVSSimulator.TimeDoubleUnit
-
- org.opentrafficsim.core.dsol.OTSSimulator
-
- All Implemented Interfaces:
Serializable,Runnable,Remote,DEVSSimulatorInterface<Time,Duration,SimTimeDoubleUnit>,DEVSSimulatorInterface.TimeDoubleUnit,SimulatorInterface<Time,Duration,SimTimeDoubleUnit>,SimulatorInterface.TimeDoubleUnit,EventProducerInterface,OTSSimulatorInterface
public class OTSSimulator extends DEVSSimulator.TimeDoubleUnit implements OTSSimulatorInterface, Serializable
Construct a DSOL DEVSSimulator the easy way.Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
$LastChangedDate: 2018-10-30 14:03:57 +0100 (Tue, 30 Oct 2018) $, @version $Revision: 4727 $, by $Author: pknoppers $, initial version 12 nov. 2014
BSD-style license. See OpenTrafficSim License.- Author:
- Peter Knoppers
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
DEVSSimulator.TimeDouble, DEVSSimulator.TimeDoubleUnit, DEVSSimulator.TimeFloat, DEVSSimulator.TimeFloatUnit, DEVSSimulator.TimeLong
-
Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
Simulator.SimulatorWorkerThread
-
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 class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
eventList
-
Fields inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
model, replication, replicationState, runState, runUntilIncluding, runUntilTime, semaphore, simulatorTime, worker
-
Fields inherited from class org.djutils.event.EventProducer
eventProducerImpl
-
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
-
-
Constructor Summary
Constructors Constructor Description OTSSimulator(Serializable simulatorId)Construct an OTSSimulator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OTSReplicationgetReplication()voidinitialize(OTSModelInterface model, OTSReplication replication)Initialize a simulation engine without animation; 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.StringtoString()-
Methods inherited from class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
cancelEvent, endReplication, getEventList, initialize, isPauseOnError, run, scheduleEvent, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventRel, scheduleEventRel, scheduleEventRel, scheduleEventRel, setEventList, setPauseOnError, stepImpl
-
Methods inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
cleanUp, fireTimedEvent, getLogger, getModel, getReplicationState, getRunState, getSimTime, getSimulatorTime, getSourceId, runUpTo, runUpToAndIncluding, start, startImpl, step, stop, stopImpl, warmup
-
Methods inherited from class org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
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
cleanUp, getLogger, getModel, getReplicationState, getRunState, getSimTime, getSimulatorTime, getSourceId, initialize, isInitialized, isStartingOrRunning, isStoppingOrStopped, runUpTo, runUpToAndIncluding, start, step, stop
-
-
-
-
Constructor Detail
-
OTSSimulator
public OTSSimulator(Serializable simulatorId)
Construct an OTSSimulator.- Parameters:
simulatorId- Serializable; the id of the simulator to use in remote communication
-
-
Method Detail
-
initialize
public void initialize(OTSModelInterface model, OTSReplication replication) throws SimRuntimeException
Initialize a simulation engine without animation; the easy way. PauseOnError is set to true;- Specified by:
initializein interfaceOTSSimulatorInterface- Parameters:
model- OTSModelInterface; the simulation to executereplication- OTSReplication; the replication with the run control parameters- Throws:
SimRuntimeException- when e.g., warmupPeriod is larger than runLength
-
scheduleEvent
public final 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.- Specified by:
scheduleEventin interfaceOTSSimulatorInterface- 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
public OTSReplication getReplication()
- Specified by:
getReplicationin interfaceOTSSimulatorInterface- Specified by:
getReplicationin interfaceSimulatorInterface<Time,Duration,SimTimeDoubleUnit>- Overrides:
getReplicationin classDEVSSimulator.TimeDoubleUnit
-
-