You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Ben Lauwens, Royal Military Academy, Brussels, Belgium.
37
+
38
+
## Contributing
39
+
40
+
* To discuss problems or feature requests, file an issue. For bugs, please include as much information as possible, including operating system, julia version, and version of the dependencies: `DataStructures` and `ResumableFunctions`.
41
+
* To contribute, make a pull request. Contributions should include tests for any new features/bug fixes.
30
42
31
43
## Release Notes
32
44
33
-
* 2017: v0.5 does no longer integrate a continuous time solver. A continuous time solver based on the standalone [QSS](https://sourceforge.net/projects/qssengine/) solver using SimJulia as its discrete event engine can be found in the repository [QuantizedStateSystems](https://github.com/BenLauwens/QuantizedStateSystems.jl.git):
34
-
* Documentation is automated with [Documenter.jl](https://github.com/JuliaDocs/Documenter.jl).
45
+
* 2017: v0.5
46
+
* The old way of making processes is deprecated in favor of the semi-coroutine approach as implemented in [ResumableFunctions](https://github.com/BenLauwens/ResumableFunctions.jl.git). The `@process` macro replaces the `@coroutine` macro. The old `@process` macro is temporarily renamed `@oldprocess` and will be removed when the infrastructure supporting the `produce` and the `consume` functions are no longer available in Julia. (DONE)
47
+
* This version no longer integrates a continuous time solver. A continuous simulation framework based on [DISCO](http://www.akira.ruc.dk/~keld/research/DISCO/) and inspired by the standalone [QSS](https://sourceforge.net/projects/qssengine/) solver using SimJulia as its discrete-event engine can be found in the repository [QuantizedStateSystems](https://github.com/BenLauwens/QuantizedStateSystems.jl.git) (WIP):
48
+
* Documentation is automated with [Documenter.jl](https://github.com/JuliaDocs/Documenter.jl) (WIP).
35
49
* 2017: v0.4.1, the `resumable` and `yield` macro are put in a seperate package [ResumableFunctions](https://github.com/BenLauwens/ResumableFunctions.jl.git):
36
50
* Users have to take into account the following syntax change: `@yield return arg` is replaced by `@yield arg`.
37
51
* 2017: v0.4 only supports Julia v0.6 and above. It is a complete rewrite: more julian and less pythonic. The discrete event features are on par with v0.3 (SimPy v3) and following features are added:
@@ -95,15 +109,4 @@ julia> Pkg.add("SimJulia")
95
109
96
110
## Todo
97
111
98
-
* Transparent output processing.
99
-
* Automatically running a large number of simulations (over a parameter space) on a cluster to do simulation based optimisation.
100
-
101
-
102
-
## Authors
103
-
104
-
* Ben Lauwens, Royal Military Academy, Brussels, Belgium.
SimJulia is a discreteevent processoriented simulation framework written in [Julia](http://julialang.org/) inspired by the Python library [SimPy](https://simpy.readthedocs.io/).
3
+
SimJulia is a discrete-event process-oriented simulation framework written in [Julia](http://julialang.org/) inspired by the Python library [SimPy](https://simpy.readthedocs.io/). Its preferred process dispatcher is based on semi-coroutines scheduling as implemented in [ResumableFunctions](git@github.com:BenLauwens/ResumableFunctions.jl.git). A `Process` in SimJulia is defined by a `@resumable function` yielding `Events`. SimJulia also provides three types of shared resources to model limited capacity congestion points: `Resources`, `Containers` and `Stores`. The API is modeled after the SimPy API but using some specific Julia semantics.
0 commit comments