SimPy
Encyclopedia
SimPy is a process-based, object-oriented discrete-event simulation language
. It is implemented in standard Python
and released as open source
software under the GNU Lesser General Public License (LGPL). It provides the modeller with components for building a simulation
model including Processes, for active entities like customers, messages, and vehicles, and Resources, for passive components that form limited capacity congestion points like servers, checkout counters, and tunnels. There are two varieties of Buffer classes, Levels to hold stored quantities and Stores to hold sets of objects. It has commands to aid interaction between entities. It provides Monitor and Tally objects to aid in gathering statistics and uses the standard Python random module to generate random variates.
Because it is implemented in Python, SimPy is platform-independent. It simulates parallel processes by an efficient implementation of coroutines using Python's generators capability. It is based on ideas from Simula
and SIMSCRIPT II.5
.
The first version was released in December 2002.
Simulation language
A computer simulation language describes the operation of a simulation on a computer. There are two major types of simulation: continuous and discrete event though more modern languages can handle combinations. Most languages also have a graphical interface and at least simple statistical gathering...
. It is implemented in standard Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
and released as open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
software under the GNU Lesser General Public License (LGPL). It provides the modeller with components for building a simulation
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....
model including Processes, for active entities like customers, messages, and vehicles, and Resources, for passive components that form limited capacity congestion points like servers, checkout counters, and tunnels. There are two varieties of Buffer classes, Levels to hold stored quantities and Stores to hold sets of objects. It has commands to aid interaction between entities. It provides Monitor and Tally objects to aid in gathering statistics and uses the standard Python random module to generate random variates.
Because it is implemented in Python, SimPy is platform-independent. It simulates parallel processes by an efficient implementation of coroutines using Python's generators capability. It is based on ideas from Simula
Simula
Simula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard...
and SIMSCRIPT II.5
SIMSCRIPT II.5
SIMSCRIPT II.5 is the latest incarnation of SIMSCRIPT, one of the oldest computer simulation languages. Although military contractor CACI released it in 1971, it still enjoys wide use in large-scale military and air-traffic control simulations....
.
The first version was released in December 2002.