DSOL - Distributed Simulation Object Library

What is DSOL?

  • DSOL is an open source, Java based, suite for continuous and discrete event simulation.
  • Its first release was introduced at IEEE's Winter Simulation Conference 2002.
  • The starting points for DSOL were that it should be possible to create simulation models that are inherently distributed, and simulation models that are built on the premises of object oriented principles.
  • DSOL is based on Zeigler's (2000) framework for modeling and simulation, which means that the basic entities in a simulation study are a model, and a simulator, governed for experimentation by and experimental frame.
  • All these elements surface in the DSOL simulation framework: the ModelInterface, implemented by the user, the SimulatorInterface with several implementations such as the DEVSSimulator and the DESSSimulator, and the class ExperimentalFrame for setting the experiment.

Implemented formalisms

At the moment, the following formalisms have been implemented in DSOL: event scheduling, process interaction, differential equations, flow modeling, classical DEVS, Port-based DEVS, hierarchical DEVS, and agent modeling. Extensions created by others (but currently still outside the core) contain for instance Petri Nets.

DSOL-CORE module

DSOL-CORE is the module that contains generic simulation specific classes that form the foundation of DSOL:

  • Experiment management
  • Statistics gathering
  • Random streams and discrete and continuous random functions
  • Differential equation solving
  • Event scheduling formalism
  • Process interaction formalism
  • DESS formalism
  • Atomic DEVS, Port-based DEVS and Hierarchical DEVS formalism
  • Flow-based formalism
  • Simulation events and event lists
  • Simulators for various formalisms
  • Animation services to be used during the simulation run (UI components are in dsol-swing, dsol-fx and dsol-web)

DSOL License

DSOL has an open source BSD 3-clause license.

  • Third party components used in DSOL can not have a license that is more restrictive than BSD, Apache, MIT, LGPL, Eclipse.
  • DSOL can be incorporated in part or in full in other products for any use (educational, commercial, whatever).
  • DSOL may be extended, evolved by anyone into anything else for any purpose.