Interface ISimulationModel

All Known Implementing Classes:
AbstractSimulationModel, DesmoJModel, SSJModel

public interface ISimulationModel
The simulated model is the central class of a discrete-event system simulator.

Its init() method is the entry point of each simulation run in that it schedules initial events that put the simulation into operation. For this, the simulation model relies on a simulation library (which is also referred to as simulation engine), which offers means to create and schedule events (or processes, respectively), which are then executed at the intended simulation time.

The methods getSimEngineFactory() and getSimulationControl() both provide access to simulation library services.

Notice, that the term model refers to the circumstance that the simulation model is an abstraction of a real-world system in that it imitates the system's behaviour.

  • Method Details

    • getSimulationControl

      ISimulationControl getSimulationControl()
      Offers means to control the simulation run, e.g. to start and stop the simulation.
      Returns:
      Controller for the event-based simulation.
    • setSimulationControl

      void setSimulationControl(ISimulationControl control)
    • setSimulationEngineFactory

      void setSimulationEngineFactory(ISimEngineFactory factory)
    • getSimEngineFactory

      ISimEngineFactory getSimEngineFactory()
      Creation of new elements, e.g. events and processes, in the simulation.
      Returns:
      Factory to create element in the event-based simulation.
    • init

      void init()
      Initialises the simulation. Especially, the initial events are scheduled here before the simulation starts. If no events are scheduled, the simulator stops immediately after being started.

      This method is called directly before the simulation starts.

    • finalise

      void finalise()
      Cleans up when the simulation stops.

      This method is called directly after the simulation have stopped.

    • getConfiguration

      ISimulationConfig getConfiguration()
      Returns the configuration of the simulation run. Each running simulation model has a configuration.