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.
- 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
- Examples: Look at and learn from examples.
- Internals: Get informations about internal functions.
- Troubleshooting: If something doesn't work as expected.
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 events with
event!(sim, ex, cond),
- most functions can be called without the first clock argument, default to
event!takes an expression or a
SimFunctionor a tuple or an array of them,
- introduced aliases:
- introduced process-based simulation:
- extensive documentation,
- more examples.
- Release notes: A look at earlier releases.
Author: Paul Bayer License: MIT