umontreal.iro.lecuyer.simprocs
Class DSOLProcessSimulator
- java.lang.Object
-
- umontreal.iro.lecuyer.simevents.Simulator
-
- umontreal.iro.lecuyer.simprocs.ProcessSimulator
-
- umontreal.iro.lecuyer.simprocs.DSOLProcessSimulator
-
public class DSOLProcessSimulator extends ProcessSimulator
Represents a simulation process whose actions method is interpreted by the DSOL interpreter, written by Peter Jacobs (http://www.tbm.tudelft.nl/webstaf/peterja/index.htm). When a process executes, a virtual machine implemented in Java is invoked to interpret the byte-code. The processes are then simulated in a single Java thread, which allows a much larger number of threads than when each process has its own native thread, at the expense of a slower execution time.
-
-
Field Summary
-
Fields inherited from class umontreal.iro.lecuyer.simevents.Simulator
defaultSimulator
-
-
Constructor Summary
Constructors Constructor and Description DSOLProcessSimulator()Constructs a new DSOLProcessSimulator variable without initialization.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description umontreal.iro.lecuyer.simprocs.ResumeEventcreateControlEvent(SimProcess process)Constructs and returns a newEventobject used for synchronization.voiddelay(SimProcess process, double delay)Suspends the execution of process and schedules it to resume its execution in delay units of simulation time.voidinit()Initializes the process-driven simulation.voidinit(EventList evlist)Initializes the simulation and sets the given event list evlist to be used by the simulation executive.voidkill(SimProcess process)Terminates the life of process and sets its state to DEAD, after canceling its control event if there is one.voidkillAll()Kills all currently living (active, delayed, or suspended) processes managed by this simulator.voidsuspend(SimProcess process)Suspends process.-
Methods inherited from class umontreal.iro.lecuyer.simprocs.ProcessSimulator
currentProcess, initDefault, newInstance
-
Methods inherited from class umontreal.iro.lecuyer.simevents.Simulator
continuousState, getDefaultSimulator, getEventList, isSimulating, isStopped, start, stop, time
-
-
-
-
Constructor Detail
-
DSOLProcessSimulator
public DSOLProcessSimulator()
Constructs a new DSOLProcessSimulator variable without initialization.
-
-
Method Detail
-
init
public void init()
Initializes the process-driven simulation. Calls super.init().
-
init
public void init(EventList evlist)
Initializes the simulation and sets the given event list evlist to be used by the simulation executive. Calls super.init(evlist).
-
createControlEvent
public umontreal.iro.lecuyer.simprocs.ResumeEvent createControlEvent(SimProcess process)
Description copied from class:ProcessSimulatorConstructs and returns a newEventobject used for synchronization. Such control events are used by process simulator to start a process or to resume it if it is already started.- Specified by:
createControlEventin classProcessSimulator
-
delay
public void delay(SimProcess process, double delay)
Description copied from class:ProcessSimulatorSuspends the execution of process and schedules it to resume its execution in delay units of simulation time. The state of the process also changes to DELAYED.- Specified by:
delayin classProcessSimulator- Parameters:
process- SimProcess variable to delay.delay- delay value, in simulation time units.
-
suspend
public void suspend(SimProcess process)
Description copied from class:ProcessSimulatorSuspends process. If the process is EXECUTING, this suspends its execution. If the process is DELAYED, this cancels its control event. This method also places the process in the SUSPENDED state.- Specified by:
suspendin classProcessSimulator- Parameters:
process- SimProcess variable to suspend.
-
kill
public void kill(SimProcess process)
Description copied from class:ProcessSimulatorTerminates the life of process and sets its state to DEAD, after canceling its control event if there is one.- Specified by:
killin classProcessSimulator
-
killAll
public void killAll()
Description copied from class:ProcessSimulatorKills all currently living (active, delayed, or suspended) processes managed by this simulator.- Specified by:
killAllin classProcessSimulator
-
-
DMelt 3.0 © DataMelt by jWork.ORG