aivika: A multi-method simulation library

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


Aivika is a discrete event simulation (DES) framework with support of activity-oriented, event-oriented and process-oriented paradigms. It supports resource preemption and other improved simulation techniques. There is also a partial support of system dynamics and agent-based modelling. All the complexity is hidden under easy-to-use computations.

The represented package is a basic simulation library optimized for sequential execution. There are also packages for nested and parallel distributed simulation.

The library has the following features:

The simulation engine itself has minimal dependencies. However, there are additional packages [1, 2] that offer the following features:

The charting package has two interchangeable back-ends [3, 4], where one of them uses Cairo and it creates small PNG images, while another creates more detailed SVG files and it can be used on Windows.

There are also additional packages that allow saving the results of simulation in SQL databases. Then the results can be accessed from other software applications. For example, it can be useful when creating flight simulators in other programming languages such as C# or Java.

Moreover, the method was generalized [5] and applied to nested simulation [6] and parallel distributed simulation [7].

The libraries were tested on Linux, Windows and OS X.

The PDF documentation, installation instructions and a more full information about Aivika are available on the the AivikaSoft website [8].









P.S. Aivika is actually a genuine female Mari name which is pronounced with stress on the last syllable.


Versions 0.1, 0.2, 0.3, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.5, 0.5.1, 0.5.4, 0.6, 0.6.1, 0.7, 1.0, 1.1, 1.2, 1.2.1, 1.3, 1.4, 2.0, 2.1, 3.0, 3.1, 4.0, 4.0.1, 4.0.3, 4.1, 4.1.1, 4.2, 4.3, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 4.5, 4.6, 5.0.1, 5.1, 5.1, 5.2, 5.3, 5.3.1, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.9.1, 6.0.0, 6.1, 6.1.1
Change log
Dependencies array (>=, base (>= && <6), binary (>=, containers (>=, deepseq (>=, mtl (>=2.1.1), random (>=, vector (>= [details]
License BSD-3-Clause
Copyright (c) 2009-2017. David Sorokin <>
Author David Sorokin
Maintainer David Sorokin <>
Category Simulation
Home page
Source repo head: git clone
Uploaded by DavidSorokin at 2017-06-10T14:35:18Z




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees