name: aivika
version: 0.4.2
synopsis: A multi-paradigm simulation library
description:
Aivika is a small simulation library that covers many paradigms.
It allows integrating a system of ordinary differential equations.
Also it can be applied to the Discrete Event Simulation. It supports
the event-oriented, process-oriented and activity-oriented paradigms.
Aivika also supports the Agent-based Modeling. Finally, it can be applied
to System Dynamics.
.
It is possible due to using a very general approach when the basic
modeling entity is just a function of simulation time. The paradigms
are mainly distinguished by sets of the functions that are used to
model the activities. These sets are small and do not pretend
to be comprehensive. Aivika is mostly a proof-of-concept project
rather than a big library that knows everything.
.
The library widely uses monads. The dynamic system is represented as
a computation in the Dynamics monad. There is also the Process
monad to represent the discontinuous processes which can suspend
at any time and then resume later. There is also the Simulation monad
that represents a simulation run, in which scope the previous
two monads exist. Almost everything is expressed through these monads,
including the event handlers, agent handlers and even integrals
except for the parameters and statistics that already use the IO monad.
.
The PDF documentation is available at
.
Please note that the documentation is outdated and it corresponds to
version 0.2 but it can still be helpful.
.
category: Simulation
license: BSD3
license-file: LICENSE
copyright: (c) 2009-2012. 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.4.1
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
data-files: doc/aivika.pdf
library
exposed-modules: Simulation.Aivika.Dynamics
Simulation.Aivika.Dynamics.Agent
Simulation.Aivika.Dynamics.Base
Simulation.Aivika.Dynamics.Cont
Simulation.Aivika.Dynamics.EventQueue
Simulation.Aivika.Dynamics.Parameter
Simulation.Aivika.Dynamics.Process
Simulation.Aivika.Dynamics.Random
Simulation.Aivika.Dynamics.Ref
Simulation.Aivika.Dynamics.Resource
Simulation.Aivika.Dynamics.Simulation
Simulation.Aivika.Dynamics.SystemDynamics
Simulation.Aivika.Dynamics.UVar
Simulation.Aivika.Dynamics.Var
Simulation.Aivika.Dynamics.FIFO
Simulation.Aivika.Dynamics.LIFO
Simulation.Aivika.Dynamics.Buffer
Simulation.Aivika.Dynamics.Signal
Simulation.Aivika.Statistics
Simulation.Aivika.PriorityQueue
Simulation.Aivika.Queue
other-modules: Simulation.Aivika.Dynamics.Internal.Dynamics
Simulation.Aivika.Dynamics.Internal.Simulation
Simulation.Aivika.Dynamics.Internal.Cont
Simulation.Aivika.Dynamics.Internal.Process
Simulation.Aivika.Dynamics.Internal.Time
Simulation.Aivika.Dynamics.Internal.Memo
Simulation.Aivika.Dynamics.Internal.Interpolate
Simulation.Aivika.Dynamics.Internal.Fold
Simulation.Aivika.Dynamics.Internal.Signal
Simulation.Aivika.Vector
Simulation.Aivika.UVector
build-depends: base >= 3 && < 6,
mtl >= 1.1.0.2,
array >= 0.3.0.0,
containers >= 0.4.0.0,
random >= 1.0.0.3
extensions: FlexibleContexts,
BangPatterns
ghc-options: -O2