Class ConcurrentDESimulator

All Implemented Interfaces:
Simulator

public final class ConcurrentDESimulator extends SequentialDESimulator
Concurrent simulator for discrete event models using multiple threads

This simulator identifies all due agents of a model using a global event queue. Then the doEventSim method of these imminent agents are called in a concurrent mode and with no specific order.

This implementation is especially useful to run DES models.

  • Constructor Details

    • ConcurrentDESimulator

      public ConcurrentDESimulator(BasicDomain root, EventQueue<Agent> queue, MessageForwardingStrategy forwarding)
      Constructs a new concurrent simulator with given model, queue implementation and messaging strategy
      Parameters:
      root - the root domain of the model
      queue - the queue implementation to use as global event queue
      forwarding - the strategy to use for message forwarding
    • ConcurrentDESimulator

      public ConcurrentDESimulator(BasicDomain root)
      Quick start constructor of a new concurrent discrete-event simulator with a given model

      Uses RecursiveMessageForwarding and a HeapEventQueue as default options.

      Parameters:
      root - the root domain of the model
  • Method Details