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 based on efficient implementation of co-routines using Python's generators capability. It requires Python 2.2 or later.
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.
A more extensive Manual with simple examples.
An introduction to interfacing SimPy models with GUI and plotting applications.
The Bank, a tutorial for SimPy showing the gradual development of a multi-server bank model.
Examples of SimPy models are included in the download package. They include:
There is a mailing list for users and modellers using SimPy. You can join it at the simpy-user list.
Klaus Müller 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
Author: | G A Vignaux |
---|---|
Version: | 1.2-003 |
Last-Modified: | 2003-April-7 |
Web-site: | http://simpy.sourceforge.net/ |