name: aivika
version: 0.7
synopsis: A multi-paradigm simulation library
description:
Aivika is a multi-paradigm simulation library which has
the following features:
.
* allows defining recursive stochastic differential equations of
System Dynamics (unordered as in maths via the recursive do-notation);
.
* has a basic support of the event-driven paradigm of
the Discrete Event Simulation (DES);
.
* has a basic support of the process-oriented paradigm of DES
with an ability to resume, suspend and cancel
the discontinuous processes;
.
* allows working with limited resources (you can define your own behaviour
or use the predefined queue strategies);
.
* allows customizing the queues (you can define your own behaviour
or use the predefined queue strategies);
.
* supports the activity-oriented paradigm of DES;
.
* supports the basic constructs for the agent-based modeling;
.
* allows creating combined discrete-continuous models;
.
* the arrays of simulation variables are inherently supported
(this is mostly a feature of Haskell itself);
.
* supports the Monte-Carlo simulation;
.
* the simulation model can depend on external parameters;
.
* uses extensively the signals to notify the model about changing
the reference and variable values;
.
* allows gathering statistics in time points;
.
* hides the technical details in high-level simulation monads
(three of them support the recursive do-notation).
.
Aivika itself is a light-weight engine with minimal dependencies.
However, it has additional packages Aivika Experiment [1] and
Aivika Experiment Chart [2] that offer the following features:
.
* automating the simulation experiments;
.
* saving the results in CSV files;
.
* plotting the deviation chart by rule 3-sigma, histogram,
time series, XY chart;
.
* collecting the summary of statistical data;
.
* parallel execution of the Monte-Carlo simulation;
.
* have an extensible architecture.
.
All three libraries were tested on Linux, Windows and OS X.
.
Please read the PDF document An Introduction to
Aivika Simulation Library [3] for more details (a little outdated).
This document is included in the distributive of Aivika but
you can usually find a more recent version by the link provided.
.
\[1]
.
\[2]
.
\[3]
.
category: Simulation
license: BSD3
license-file: LICENSE
copyright: (c) 2009-2013. David Sorokin
author: David Sorokin
maintainer: David Sorokin
homepage: http://github.com/dsorokin/aivika
cabal-version: >= 1.2.0
build-type: Simple
tested-with: GHC == 7.6.3
extra-source-files: examples/BassDiffusion.hs
examples/ChemicalReaction.hs
examples/FishBank.hs
examples/MachRep1.hs
examples/MachRep1EventDriven.hs
examples/MachRep1TimeDriven.hs
examples/MachRep2.hs
examples/MachRep3.hs
examples/Furnace.hs
examples/TimeOut.hs
examples/TimeOutInt.hs
examples/README
data-files: doc/aivika.pdf
library
exposed-modules: Simulation.Aivika.Agent
Simulation.Aivika.Cont
Simulation.Aivika.DoubleLinkedList
Simulation.Aivika.Dynamics
Simulation.Aivika.Dynamics.Fold
Simulation.Aivika.Dynamics.Interpolate
Simulation.Aivika.Dynamics.Memo
Simulation.Aivika.Dynamics.Memo.Unboxed
Simulation.Aivika.Dynamics.Random
Simulation.Aivika.Event
Simulation.Aivika.Parameter
Simulation.Aivika.Parameter.Random
Simulation.Aivika.PriorityQueue
Simulation.Aivika.Process
Simulation.Aivika.Queue
Simulation.Aivika.QueueStrategy
Simulation.Aivika.Random
Simulation.Aivika.Ref
Simulation.Aivika.Resource
Simulation.Aivika.Signal
Simulation.Aivika.Simulation
Simulation.Aivika.Specs
Simulation.Aivika.Statistics
Simulation.Aivika.SystemDynamics
Simulation.Aivika.Unboxed
Simulation.Aivika.Var
Simulation.Aivika.Var.Unboxed
Simulation.Aivika.Vector
Simulation.Aivika.Vector.Unboxed
other-modules: Simulation.Aivika.Internal.Cont
Simulation.Aivika.Internal.Dynamics
Simulation.Aivika.Internal.Event
Simulation.Aivika.Internal.Process
Simulation.Aivika.Internal.Signal
Simulation.Aivika.Internal.Simulation
Simulation.Aivika.Internal.Specs
build-depends: base >= 4.5.0.0 && < 6,
mtl >= 2.1.1,
array >= 0.3.0.0,
containers >= 0.4.0.0,
random >= 1.0.0.3
extensions: FlexibleContexts,
BangPatterns,
RecursiveDo,
MultiParamTypeClasses,
FunctionalDependencies
ghc-options: -O2