adevs

Adevs (A Discrete EVent System simulator) is a C++ library for constructing discrete event simulations based on the Parallel DEVS and Dynamic DEVS (dynDEVS) formalisms. DEVS has been applied to the study of social systems, ecological systems, computer networks and computer architecture, military systems at the tactical and theater levels, and in many other areas. Recent advances in quantized approximations of continuous systems suggest promising computational techniques for high performance scientific computing (e.g. in the field of computational fluid dynamics). Here is a short (and by no means complete) list of groups doing research on DEVS:

  • www.acims.arizona.edu. Arizona Center for Integrative Modeling and Simulation.
  • cell-devs.sce.carleton.ca/ars. Advanced Real-Time Simulation Lab at Carleton University.
  • spe.univ-corse.fr/filippiweb. University of Corsica.
  • www.sce.carleton.ca/faculty/wainer/standard/tools.htm. Simulation software for DEVS models.
  • vlab.unm.edu/index.html. VLAB-Virtual Laboratory for Autonomous Agents at the University of New Mexico.

    And host of others can be found at the DEVS Wikipedia entry.

    Online documentation for adevs is available here.

    The latest stable release is 2.3. To extract the source, use tar xfzv adevs.tar.gz or gunzip adevs.tar.gz; tar xfv adevs.tar. The development code is available at SourceForge; you can access the svn repository with the command "svn co https://adevs.svn.sourceforge.net/svnroot/adevs adevs" or, if that doesn't work, try "svn co http://adevs.svn.sourceforge.net/svnroot/adevs adevs".

    Version 2.3 adds a new, more flexible framework for simulating hybrid systems and updated documentation for the API, especially in regards to the conservative simulator.

    Version 2.2.1 fixes a problem with a conflict between the exp method of the random number generator and the exp function the C math library.

    Version 2.2 includes an experimental, conservative parallel simulator that is implemented using OpenMP. If you have a compiler with OpenMP support and want to try it out, see the HTML documentation for the ParSimulator class (this stuff hasn't made it into the manual).

    Version 2.0 includes a major revision of the API for modeling building and simulation. There is also a (limited) backward compatibility package for developers who have a project based on adevs-1.x. The online documentation for the adevs_v1_compat package is here.

  • adevs-2.3: adevs.tar.gz
  • adevs_v1_compat-1.0: adevs_v1_compat.tar.gz

    I am preparing a book, for publication sometime in 2009 by Wiley, that is an introduction to the mathematical foundation of the simulation engine, algorithms for simulating discrete event and hybrid systems, and a software architecture for building simulations. There is a mailing list for receiving and commenting on early drafts of the book: you can join the list by sending an email to software_for_simulation-subscribe@googlegroups.com. Or you can download an early draft here.

  • adevs-2.2.1: adevs-2.2.1.tar.gz
  • adevs-2.2: adevs-2.2.tar.gz
  • adevs-2.1: adevs-2.1.tar.gz
  • adevs-2.0.5.4: adevs-2.0.5.4.tar.gz
  • adevs-2.0.5.1: adevs-2.0.5.1.tar.gz
  • adevs-2.0.5: adevs-2.0.5.tar.gz
  • adevs-2.0.4: adevs-2.0.4.tar.gz
  • adevs-2.0.2: adevs-2.0.2.tar.gz
  • adevs-2.0.1: adevs-2.0.1.tar.gz
  • adevs-1.4: adevs-1.4.tar.gz
  • adevs-1.3.4: adevs-1.3.4.tar.gz

    The semantics of the hold() method have changed slightly since version 1.3.3. See the manual for detail.

  • adevs-1.3.3: adevs-1.3.3.tar.gz
  • adevs-1.3: adevs-1.3.tar.gz
  • adevs-1.2: adevs-1.2.tar.gz
  • adevs-1.1: adevs-1.1.tar.gz
  • adevs-1.0.6: adevs-1.0.6.tar.gz
  • adevs-1.0.5: adevs-1.0.5.tar.gz
  • adevs-1.0.4: adevs-1.0.4.tar.gz
  • adevs-1.0.3: adevs-1.0.3.tar.gz
  • adevs-0.11: adevs-0.11.tar.gz

    You can contact Jim Nutaro, the developer and maintainer of this software, by email at nutarojj@ornl.gov.