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-EVENT module

DSOL-EVENT is the module that contains generic non-simulation specific classes that all DSOL modules can benefit from:

  • Typed event management
  • Publish / subscribe
  • Remove events

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.