SimPy is a process-based discrete-event simulation language based on standard Python and released under the GNU GPL. It provides the modeller with components of a simulation model including processes, for active components like customers, messages, and vehicles, and resources, for passive components that form limited capacity congestion points like servers, checkout counters, and tunnels. It also provides monitor variables to aid in gathering statistics. Random variates are provided by the standard Python random module.
SimPy is based on ideas from Simula and Simscript but uses standard Python.
SimPy is provides efficient implementation of co-routines using Python's generators capability. It requires Python 2.2 or later.
More information is available on the SimPy Homepage and the SimPy wiki.
SimPy can be downloaded from the Simpy page on Sourceforge.
A number of example SimPy models are included in the download package.
A Manual with simple examples.
A brief cheat-sheet of the facilities that SimPy provides in the form of a listing of commands and methods for processes, resources, and monitors.
Two tutorials for SimPy, The Bank and The Bank2 showing the gradual development of a multi-server bank model and the use of a few special facilities.
An introduction to interfacing SimPy models with GUI and plotting applications.
SimPlot, a basic plotting package for SimPy.
SimGUI, a version of SimPy that provides a graphical way for users to interact with a SimPy program, changing its parameters and examining the output.
SimulationTrace, a version of SimPy modified for tracing for education and debugging.
SimulationStep a version of SimPy which can assist with debugging models, interacting with them on an event-by-event basis, getting event-by-event output from a model.
SimulationRT a version of SimPy which allows synchronizing simulation time and real (wallclock) time.
There is a mailing list for users and modellers using SimPy. You can join it at the simpy-user list.
Klaus Mller and Tony Vignaux, SimPy: Simulating Systems in Python, O'Reilly ONLamp.com, 2003-Feb-27, http://www.onlamp.com.pub/a/python/2003/2/27/simpy.html
Norman Matloff, Introduction to the SimPy Discrete-Event Simulation Package, U Cal: Davis, 2003, http://heather.cs.ucdavis.edu/~matloff/simpy.html
David Mertz, Charming Python: SimPy simplifies complex models, IBM Developer Works, Dec 2002, http://www-106.ibm.com/developerworks/linux/library/l-simpy.html
Web-site: | http://simpy.sourceforge.net/ |
---|---|
Date: | $Date: 2005/01/15 15:16:03 $ gav |
Revision: | $Revision: 1.1.1.2 $ gav |