pydsol-core documentation

pydsol-core is the core library for discrete simulation bsed on the Java DSOL (Distributed Simulation Object Library) framework. pydsol is a library to quickly build simulation models, ranging from extremely simple queueing models to extended discrete-event or agent-based models. The pydsol framework is fully object oriented, so a model is built by building and instantiating Pyton classes.

pydsol-core provides a rich set of classes in a number of basic basic modules to construct and run a basic discrete simulation model:

  • model.py: the Model that contains the logic of the simulation to run.

  • simulator.py: the Simulator that can execute the discrete model.

  • eventlist.py: the core event scheduling data structure of the Simulator.

  • simevent.py: the events that are scheduled on the event list.

  • experiment.py: the Experiment that defines the experimental design.

  • parameters.py: the input parameters for the simulation model.

  • statistics.py: calculation of the output results of the simulation model.

  • distributions.py: stochastic distributions to use in stochastic models.

  • streams.py: random number streams that the experiment and distributions use.

  • units.py: strongly types quantities such as Length and Speed for modeling.

  • supporting modules include interfaces.py and utils.py with generic functions.

The basic idea of the pydsol framework is that a Simulator executes an Experiment for a Model. The Experiment defines Random Streams for stochastic Distributions. Input Parameters and Statistics define the inputs and outpus of the model. This framework links exactly to the formal definition of simulation models, e.g. according to Zeigler et al. (2000).

Getting Started:

Indices and tables