Skip to content
Snippets Groups Projects
README.md 1.54 KiB
Newer Older
MarkovProcesses.jl 
==================
Bentriou Mahmoud's avatar
Bentriou Mahmoud committed

A Julia package for efficient simulation, statistical inference and verification of Continuous Time Markov Chains.

It implements:

Bentriou Mahmoud's avatar
Bentriou Mahmoud committed
* A core of simulation for Markov Processes.
* A simple interface for Biochemical Networks / Stochastic Petri Nets.
Bentriou Mahmoud's avatar
Bentriou Mahmoud committed
* Synchronized simulation with Linear Hybrid Automata.
* Approximate Bayesian Computation (a likelihood-free inference method)
* Automaton-ABC: a statistical method for verification of parametric CTMC (cite paper)

## Install

This package is not yet registered in the Julia's packages. For the install of the package:

Bentriou Mahmoud's avatar
Bentriou Mahmoud committed
1. Launch Julia's REPL (for example by entering `julia` in the shell)
2. Enter Pkg's REPL by typing `]`
3. Enter
   ```julia
Bentriou Mahmoud's avatar
Bentriou Mahmoud committed
   pkg> add https://gitlab-research.centralesupelec.fr/2017bentrioum/markovprocesses.jl/
Bentriou Mahmoud's avatar
Bentriou Mahmoud committed

## Getting started 

A few notebooks are available in examples/notebooks for a quick presentation of the different features of the package.

Bentriou Mahmoud's avatar
Bentriou Mahmoud committed
## Tests
Execution tests and statistical tests are available. It can be run by
`julia test/runtests.jl`

or in Pkg's REPL:

```julia
pkg> test MarkovProcesses
```
> :warning: The statistical tests run by `test/run_cosmos.jl` needs [Cosmos](http://cosmos.lacl.fr/) in your PATH environment variable.
Bentriou Mahmoud's avatar
Bentriou Mahmoud committed

## Benchmarks

Bentriou Mahmoud's avatar
Bentriou Mahmoud committed
Benchmarks have been made to test the performance of the package compared to well-known efficient other packages such as `DifferentialEquations.jl`.
Bentriou Mahmoud's avatar
Bentriou Mahmoud committed

## Info

This package was written during my PhD thesis. The mathematical fundations and the package archtecture are presented in it.