LIST OF MODELS using SimPy
These models are some examples using the SimPy simulation system.
- MM1.py
- M/M/1 random-arrivals, exponential service time queue with GUI input.
(MM))
- MMC.py
- M/M/c (multiple server queue model. This demonstrates both the
multiple capacity Resource class and the use of tally and accum
in the Monitor class. Random arrivals, exponential
service-times. (TV)
- Market.py
- Simulation of a supermarket checkout with multiple counters
and extended Monitor objects. Written and analysed by
David Mertz in an article for developerWorks (). (MM)
- SimPy_worker_extend.py
- Factory making widgets with queues for machines. (MM)
- airport.py
- A simple model of an airport with service with a single runway.
Times are deterministic and statistics are not (yet)
gathered. (TV)
- bcc.py
- Detemine the probability of rejection of random arrivals to a 2-server
system with different service-time distributions. No queues allowed,
blocked customers are rejected (BCC). Distributions ae Erlang,
exponential, and hyperexponential. The theoretical probability
is also calculated. (TV)
- cellphone.py
- Simulation of a cellphone cell with blocking (that is BCC
discipline). The program simulates the operation for 10 "hours" and
measures the mean and variance of the total time blockedr
and the number of times blocking occur in each hour. An observational
gap occurs between the observation hours to make each hour's
measurement independent. (TV)
- centralserver.py
- Simulates a primitive central-server model with a single CPU
and a single disk. A fixed number of users send "jobs" to the system
which are processed and sent back to the user who then thinks for
a time before sending a job back. This system can be solved
analytically. (TV)
- jacksonnetwork.py
- Simulation of a Jackson network with 3 nodes, exponential
service times and probability switching. The simulation measures the
delay for jobs moving through the system. (TV)
- lemmings.py
- A simple M/M/1 Lemming model. (TV)
- shortestPath_SimPy.py
- A fun example of using SimPy for non-queuing work. It
simulates a searcher through a graph, seeking the shortest
path. (KGM)
- Machineshop.py
- An example of the use of the 'interrupt()' method introduced in SimPy 1.2. It simulates a workshop with n machines which break down and one or more repairmen which have to repair them. (KGM)
- CellularAutomata.py
- A simple simulation of two-dimensional cellular automata. Does
the game of Life. (KGM)
- bank11GUI.py
- The Bank11 model from the Bank Tutorial with a SimGUI frontend.
(KGM)
- bank11Plot.py
- The Bank11 model from the Bank Tutorial with a SimPlot plotting
output. (KGM)
- testSimplePlot.py
- A simple test/demo of some of the SimPlot plotting capabilities. (KGM)
- SimGUIStep.py
- A version of the Bank11 model with a GUI (using SimGUI) which allows
executing the simulation either even-by-event or in one go. This makes use
of the SimulationStep module new in version 1.4. (KGM)
- StepExample.py
- A very basic model demonstrating command-line control over event-by-event
model execution, using SimulationStep. (KGM)