Simulate.jl
A Julia package for discrete event simulation.
Simulate.jl
provides three schemes for modeling and simulating discrete event systems (DES): 1) event scheduling, 2) interacting processes and 3) continuous sampling. It introduces a clock and allows to schedule arbitrary Julia functions or expressions as events, processes or sampling operations on the clock's timeline. Thus it provides simplicity and flexibility in building models and performance in simulation.
Overview
- Getting started: Get an overview and learn the basics.
- Building models: Use and combine different approaches to modeling and simulation.
- Usage: Get detailed informations about types, functions and macros in
Simulate.jl
. - Examples: Look at and learn from examples.
- Internals: Get informations about internal functions.
- Troubleshooting: If something doesn't work as expected.
Development
Simulate.jl
is a new package and still in early development. Please use, test and help evolve it. Its GitHub repository is at https://github.com/pbayer/Simulate.jl.
New in v0.2.0
v0.2.0 is the first version supporting fully the three schemes.
now!
for IO-operations of processes,- functions and macros for defining conditions,
- conditional
wait!(cond)
, - conditional events with
event!(sim, ex, cond)
, - most functions can be called without the first clock argument, default to
๐ถ
, event!
takes an expression or aSimFunction
or a tuple or an array of them,- introduced aliases:
SF
forSimFunction
andSP
forSimProcess
- introduced process-based simulation:
SimProcess
andprocess!
anddelay!
, - extensive documentation,
- more examples.
Earlier releases
- Release notes: A look at earlier releases.
Author: Paul Bayer License: MIT