nl.tudelft.simulation.dsol.simulators
Interface DEVSSimulatorInterface

All Superinterfaces:
EventProducerInterface, Remote, Serializable, SimulatorInterface
All Known Subinterfaces:
AnimatorInterface, DEVDESSSimulatorInterface
All Known Implementing Classes:
Animator, AnimatorWithThread, DEVDESSSimulator, DEVSSimulator, RealTimeClock

public interface DEVSSimulatorInterface
extends SimulatorInterface

The DEVS defines the interface of the DEVS simulator. DEVS stands for the Discrete Event System Specification. More information on Discrete Event Simulation can be found in "Theory of Modeling and Simulation" by Bernard Zeigler et. al.

(c) copyright 2002-2005 Delft University of Technology , the Netherlands.
See for project information www.simulation.tudelft.nl
License of use: Lesser General Public License (LGPL) , no warranty.

Since:
1.0
Version:
$Revision: 1.1 $ $Date: 2007/01/06 13:21:27 $
Author:
Peter Jacobs

Field Summary
static EventType EVENTLIST_CHANGED_EVENT
          The EVENTLIST_CHANGED_EVENT is fired when the eventList is changed
 
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
 
Method Summary
 boolean cancelEvent(SimEventInterface event)
          cancels an event from the event list.
 EventListInterface getEventList()
          returns the eventlist of the simulator.
 void scheduleEvent(double relativeDelay, Object source, Object target, String method, Object[] args)
          schedules a methodCall at a relative duration.
 void scheduleEvent(double relativeDelay, short priority, Object source, Object target, String method, Object[] args)
          schedules a methodCall at a relative duration.
 void scheduleEvent(double relativeDelay, TimeUnitInterface timeUnit, Object source, Object target, String method, Object[] args)
          schedules a methodCall at a relative duration.
 void scheduleEvent(double relativeDelay, TimeUnitInterface timeUnit, short priority, Object source, Object target, String method, Object[] args)
          schedules a methodCall at a relative duration.
 void scheduleEvent(SimEventInterface event)
          Method scheduleEvent schedules an event on the eventlist.
 void setEventList(EventListInterface eventList)
          Method setEventList sets the eventlist.
 
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
 

Field Detail

EVENTLIST_CHANGED_EVENT

static final EventType EVENTLIST_CHANGED_EVENT
The EVENTLIST_CHANGED_EVENT is fired when the eventList is changed

Method Detail

cancelEvent

boolean cancelEvent(SimEventInterface event)
                    throws RemoteException
cancels an event from the event list.

Parameters:
event - a simulation event to be canceled.
Returns:
boolean the succes of the operation.
Throws:
RemoteException - on network failure.

getEventList

EventListInterface getEventList()
                                throws RemoteException
returns the eventlist of the simulator.

Returns:
the eventlist.
Throws:
RemoteException - on network failure

scheduleEvent

void scheduleEvent(SimEventInterface event)
                   throws RemoteException,
                          SimRuntimeException
Method scheduleEvent schedules an event on the eventlist.

Parameters:
event - a simulation event
Throws:
RemoteException - on network failure
SimRuntimeException - whenever event is scheduled in past.

scheduleEvent

void scheduleEvent(double relativeDelay,
                   short priority,
                   Object source,
                   Object target,
                   String method,
                   Object[] args)
                   throws RemoteException,
                          SimRuntimeException
schedules a methodCall at a relative duration. The executionTime is thus simulator.getSimulatorTime()+relativeDuration.

Parameters:
priority - the priority compared to other events scheduled at the same time.
source - the source of the event
target - the target
method - the method
args - the arguments.
relativeDelay - the relativeDelay in timeUnits of the simulator.
Throws:
RemoteException - on network failure.
SimRuntimeException - whenever the event is scheduled in the past.

scheduleEvent

void scheduleEvent(double relativeDelay,
                   TimeUnitInterface timeUnit,
                   short priority,
                   Object source,
                   Object target,
                   String method,
                   Object[] args)
                   throws RemoteException,
                          SimRuntimeException
schedules a methodCall at a relative duration. The executionTime is thus simulator.getSimulatorTime()+relativeDuration.

Parameters:
priority - the priority compared to other events scheduled at the same time.
timeUnit - the timeUnits of the delay
source - the source of the event
target - the target
method - the method
args - the arguments.
relativeDelay - the relativeDelay in timeUnits of the simulator.
Throws:
RemoteException - on network failure.
SimRuntimeException - whenever the event is scheduled in the past.

scheduleEvent

void scheduleEvent(double relativeDelay,
                   Object source,
                   Object target,
                   String method,
                   Object[] args)
                   throws RemoteException,
                          SimRuntimeException
schedules a methodCall at a relative duration. The executionTime is thus simulator.getSimulatorTime()+relativeDuration.

Parameters:
source - the source of the event
target - the target
method - the method
args - the arguments.
relativeDelay - the relativeDelay in timeUnits of the simulator.
Throws:
RemoteException - on network failure.
SimRuntimeException - whenever the event is scheduled in the past.

scheduleEvent

void scheduleEvent(double relativeDelay,
                   TimeUnitInterface timeUnit,
                   Object source,
                   Object target,
                   String method,
                   Object[] args)
                   throws RemoteException,
                          SimRuntimeException
schedules a methodCall at a relative duration. The executionTime is thus simulator.getSimulatorTime()+relativeDuration.

Parameters:
timeUnit - the timeUnits of the delay
source - the source of the event
target - the target
method - the method
args - the arguments.
relativeDelay - the relativeDelay in timeUnits of the simulator.
Throws:
RemoteException - on network failure.
SimRuntimeException - whenever the event is scheduled in the past.

setEventList

void setEventList(EventListInterface eventList)
                  throws RemoteException,
                         SimRuntimeException
Method setEventList sets the eventlist.

Parameters:
eventList - the eventList for the simulator.
Throws:
RemoteException - on network failure
SimRuntimeException - whenever simulator.isRunning()==true


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