packages feed

aivika-0.6: aivika.cabal

name:            aivika
version:         0.6
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;
    .
    * 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
      (two 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. 
    This document is included in the distributive of Aivika but 
    you can usually find a more recent version by the link provided.
    .
    \[1] <http://hackage.haskell.org/package/aivika-experiment>
    .
    \[2] <http://hackage.haskell.org/package/aivika-experiment-chart>
    .
    \[3] <https://github.com/dsorokin/aivika/blob/master/doc/aivika.pdf>
    .
category:        Simulation
license:         BSD3
license-file:    LICENSE
copyright:       (c) 2009-2013. David Sorokin <david.sorokin@gmail.com>
author:          David Sorokin
maintainer:      David Sorokin <david.sorokin@gmail.com>
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/ChemicalReactionRec.hs
                     examples/FishBank.hs
                     examples/FishBankRec.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 >= 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
                     
    ghc-options:     -O2