Agent-based SImulation, MOdeling, and Visualization of processes

View the Project on GitHub almende/asimov


About the tool

ASIMOV is a loosely coupled distributed inference engine that infers knowledge about the details of a process (e.g., consultation) occurring in a context (e.g., hospital) with the sole generic information about the process itself and measurement about a real-life process of that kind. Such knowledge can then be used to calculate KPIs, visualize analytics, make predictions, validate models, explain processes etc.

Given a business process described as a flowchart and some measurements about the process, ASIMOV can infer what sequence of events have led to the measurements, thus inferring and abstracting knowledge about the process itself.

As input ASIMOV receives two types of parameters together called the usecase:

ASIMOV produces:


0.0.1 Beta Release


Currently ASIMOV is written in JAVA, more implementations are currently being considered, but not yet planned. ASIMOV uses a number of open source projects to work properly:

In this BETA version the Multi Agent System bootstraps from a command line application and reads an input xml and writes the output to a new xml file once it is finished. Plans and preperations are made to transform the application to a more loosley coupled micro-service architecture, providing an extention API for developers and a GUI for modelers/researchers.


First make sure that you have: MongoDB installed on your machine. Java JDK version 1.7 or above installed on your machine. Maven installed on your machine. Github installed on your machine.

Make sure your JAVA_HOME env variable is set to the JDK 1.7 installation directory. Also ensure that your mongoDB is running, if not start the $MONGO_DIR/bin/mongod executable.

To build and install ASIMOV, type the following commands in your favorite shell:

$ git clone asimov
$ cd asimov
$ mvn clean install -Dmaven.test.skip=true
$ cd dist

Now you are ready to run ASIMOV, please refer to the examples listed below to get a more clear understanding of how to use ASIMOV.

Running ASIMOV

$ java -jar ASIMOV.jar <inputxmlfilename> <durationInDays> <outputdirectory>

Examples with more detailed information for input xml's can be found in the section below.


Examples of how to use ASIMOV can be found here :


ASIMOV is being developed by Almende, a Dutch research company specialized in information and communication technologies. At the core of all Almende solutions are hybrid agent networks: humans and computers working together. Almende looks towards agent technology to develop smart software that truly supports people in organizing their own lives.

ASIMOV is an open-source product, Want to contribute? Great!

The contact person within Almende for development on ASIMOV is Suki van Beusekom.



MIT Licence