packages feed

aivika-0.7: aivika.cabal

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] <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/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