nl.tudelft.simulation.dsol.simulators
Class RealTimeClock

java.lang.Object
  extended bynl.tudelft.simulation.event.EventProducer
      extended bynl.tudelft.simulation.dsol.simulators.Simulator
          extended bynl.tudelft.simulation.dsol.simulators.DEVSSimulator
              extended bynl.tudelft.simulation.dsol.simulators.DEVDESSSimulator
                  extended bynl.tudelft.simulation.dsol.simulators.Animator
                      extended bynl.tudelft.simulation.dsol.simulators.RealTimeClock
All Implemented Interfaces:
AnimatorInterface, DESSSimulatorInterface, DEVDESSSimulatorInterface, DEVSSimulatorInterface, nl.tudelft.simulation.event.EventProducerInterface, java.rmi.Remote, java.lang.Runnable, java.io.Serializable, SimulatorInterface

public class RealTimeClock
extends Animator
implements DEVDESSSimulatorInterface

The reference implementation of the realTimeClock. The realTime clock is a DEVDESS simulator which runs at a ratio of realTime. If the executionTime exceeds the timeStep, a catchup mechanism is triggered to make up lost time in consecutive steps.

(c) copyright 2004 Delft University of Technology , the Netherlands.
See for project information www.simulation.tudelft.nl
License of use: General Public License (GPL) , no warranty

Since:
1.4
Version:
1.1 Apr 13, 2004
Author:
Peter Jacobs
See Also:
Serialized Form

Field Summary
static nl.tudelft.simulation.event.EventType BACKLOG_EVENT
          the backlog event
 
Fields inherited from class nl.tudelft.simulation.dsol.simulators.Animator
animationDelay
 
Fields inherited from class nl.tudelft.simulation.dsol.simulators.DEVDESSSimulator
timeStep
 
Fields inherited from class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
eventList
 
Fields inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
replication, running, semaphore, simulatorTime, worker
 
Fields inherited from class nl.tudelft.simulation.event.EventProducer
listeners
 
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
EVENTLIST_CHANGED_EVENT
 
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
END_OF_REPLICATION_EVENT, START_EVENT, START_REPLICATION_EVENT, STEP_EVENT, STOP_EVENT, TIME_CHANGED_EVENT, WARMUP_EVENT
 
Fields inherited from interface nl.tudelft.simulation.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION
 
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.DESSSimulatorInterface
DEFAULT_TIME_STEP, TIME_STEP_CHANGED_EVENT
 
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.AnimatorInterface
ANIMATION_DELAY_CHANGED_EVENT, DEFAULT_ANIMATION_DELAY, UPDATE_ANIMATION_EVENT
 
Constructor Summary
RealTimeClock()
          constructs a new RealTimeClock
 
Method Summary
 long getAnimationDelay()
          returns the animation delay between each consequtive timestep
 void run()
          The run method defines the actual time step mechanism of the simulator.
 void setAnimationDelay(long animationDelay)
          sets the animationDelay
 
Methods inherited from class nl.tudelft.simulation.dsol.simulators.DEVDESSSimulator
getTimeStep, setTimeStep
 
Methods inherited from class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
cancelEvent, getEventList, initialize, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, setEventList, step, stop
 
Methods inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
getReplication, getSimulatorTime, isRunning, start
 
Methods inherited from class nl.tudelft.simulation.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, getEventTypes, removeAllListeners, removeAllListeners, removeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
cancelEvent, getEventList, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, setEventList
 
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
getReplication, getSimulatorTime, initialize, isRunning, start, step, stop
 
Methods inherited from interface nl.tudelft.simulation.event.EventProducerInterface
addListener, addListener, addListener, addListener, getEventTypes, removeListener
 
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.DESSSimulatorInterface
getTimeStep, setTimeStep
 

Field Detail

BACKLOG_EVENT

public static final nl.tudelft.simulation.event.EventType BACKLOG_EVENT
the backlog event

Constructor Detail

RealTimeClock

public RealTimeClock()
constructs a new RealTimeClock

Method Detail

run

public void run()
Description copied from class: Simulator
The run method defines the actual time step mechanism of the simulator. The implementation of this method depends on the formalism. Where discrete event formalisms loop over an eventlist continuous simulators take pre-defined time steps.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class Animator
See Also:
DEVSSimulator.run()

getAnimationDelay

public long getAnimationDelay()
Description copied from interface: AnimatorInterface
returns the animation delay between each consequtive timestep

Specified by:
getAnimationDelay in interface AnimatorInterface
Overrides:
getAnimationDelay in class Animator
See Also:
#getAnimationDelay()

setAnimationDelay

public void setAnimationDelay(long animationDelay)
Description copied from interface: AnimatorInterface
sets the animationDelay

Specified by:
setAnimationDelay in interface AnimatorInterface
Overrides:
setAnimationDelay in class Animator
See Also:
#setAnimationDelay(long)


Copyright © 2002-2004 Delft University of Technology, the Netherlands. All Rights Reserved.