Domain-Specific Modeling for Epidemiology
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status Build status Coverage Status


Kendrick provide a Domain-Specific Language and a Simulation Plaform for mathematical epidemiology modeling. It helps epidemiologists craft custom analyses cheaply. It's based on Pharo and it's open source under MIT. Classes of epidemic model include deterministic compartmental models, stochastic individual contact models, and individual-based network models.

Kendrick is based extensively on several tools of the meta-modeling platform MOOSE including PetitParser and Roassal visualization engine.


If you are using Kendrick for research, please cite our work as:

BUI Thi Mai Anh, Mikal Ziane, Serge Stinckwich, HO Tuong Vinh, Benjamin Roche, Nick Papoulias (2016). Separation of Concerns in Epidemiological Modelling, Companion Proceedings of the 15th International Conference on Modularity, pages 196-200 URL:


You will find documentation about Kendrick DSL in the wiki :

Kendrick is also described in a chapter of the Agile Visualization book.

How to install a stable version of Kendrick

If you don't want to compile Kendrick on your machine, you can download pre-compiled versions of Kendrick for your platform of choice, follow the links below:

Ubuntu and Debian-based systems, 32-bit libraries setup:

  • apt-get -qq update
  • apt-get -y install wget
  • apt-get -y install unzip
  • dpkg --add-architecture i386
  • apt-get update
  • apt-get -y install libx11-6:i386
  • apt-get -y install libgl1-mesa-glx:i386
  • apt-get -y install libfontconfig1:i386
  • apt-get -y install libssl1.0.0:i386

You can also install Kendrick 0.42 from source files. On systems with a bash cmd-line (this includes Linux, Mac and Windows with Cygwin and/or the Windows 10 Bash sub-system), you can compile Kendrick from sources using the following command:

wget -O- | bash

How to install the development version of Kendrick from github

  • Download Pharo 6.1 VM depending of your platform:
  • Load Kendrick: Open Pharo 6.1 image then right-click anywhere to open the main menu. Choose Playground to execute script. Paste the script below in Playground, select all then right-click and choose Do it to execute this.
Metacello new
        repository: 'github://UMMISCO/kendrick:master/src';
        baseline: 'Kendrick';

How to invoke Kendrick

DSL Editor

After compiling from source or downloading the pre-compiled versions of Kendrick, you can run the dedicated Kendrick editor (using the Kendrick DSL), by invoking:


Development Environmement

To run Kendrick with the full Pharo environment (allowing to use both the DSL and the Pharo API of Kendrick), you can invoke:


Using External Tools

Finally, to use Kendrick with an editor of your choice, you only need to navigate in the Sources directory of your installation, edit / add files for your project and invoke the non-interactive kendric executable as follows (example for simulating and visualizing the results described in Influenza1Viz.kendrick):

./Kendrick Sources/Projects/Infuenza/Visualization/Influenza1Viz.kendrick

In the above example you can then find the results in: