SSJ
V. labo.

umontreal.iro.lecuyer.simevents
Class Sim

java.lang.Object
  extended by umontreal.iro.lecuyer.simevents.Sim

public final class Sim
extends Object

This static class contains the executive of a discrete-event simulation. It maintains the simulation clock and starts executing the events in the appropriate order. Its methods permit one to start, stop, and (re)initialize the simulation, and read the simulation clock.

Starting from SSJ-2.0, the Sim class now uses the default simulator returned by the getDefaultSimulator() method in the Simulator class. Although the Sim class is perfectly adequate for simple simulations, the Simulator class is more general and supports more functionnalities. For example, if one needs to have more than one simulation clock and event list, one will have to use the Simulator class instead of the simpler Sim class.


Method Summary
static EventList getEventList()
          Gets the currently used event list.
static void init()
          Reinitializes the simulation executive by clearing up the event list, and resetting the simulation clock to zero.
static void init(EventList evlist)
          Same as init, but also chooses evlist as the event list to be used.
static void start()
          Starts the simulation executive.
static void stop()
          Tells the simulation executive to stop as soon as it takes control, and to return control to the program that called start.
static double time()
          Returns the current value of the simulation clock.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

time

public static double time()
Returns the current value of the simulation clock.

Returns:
the current simulation time

init

public static void init()
Reinitializes the simulation executive by clearing up the event list, and resetting the simulation clock to zero. This method must not be used to initialize process-driven simulation; SimProcess.init must be used instead.


init

public static void init(EventList evlist)
Same as init, but also chooses evlist as the event list to be used. For example, calling init(new DoublyLinked()) initializes the simulation with a doubly linked linear structure for the event list. This method must not be used to initialize process-driven simulation; umontreal.iro.lecuyer.simprocs.DSOLProcessSimulator (EventList) or
umontreal.iro.lecuyer.simprocs.ThreadProcessSimulator (EventList) must be used instead.

Parameters:
evlist - selected event list implementation

getEventList

public static EventList getEventList()
Gets the currently used event list.

Returns:
the currently used event list

start

public static void start()
Starts the simulation executive. There must be at least one Event in the event list when this method is called.


stop

public static void stop()
Tells the simulation executive to stop as soon as it takes control, and to return control to the program that called start. This program will then continue executing from the instructions right after its call to Sim.start. If an Event is currently executing (and this event has just called Sim.stop), the executive will take control when the event terminates its execution.


SSJ
V. labo.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.