logo
首页技术栈工具库讨论
aivika

aivika

Aivika is a multi-paradigm simulation library with a strong emphasis on Discrete Event Simulation (DES) and System Dynamics (SD). The library has the following features: allows defining recursive stochastic differential equations of System Dynamics (unordered as in maths via the recursive do-notation); supports the event-driven paradigm of DES as a basic core for implementing other paradigms; supports extensively the process-oriented paradigm of DES with an ability to resume, suspend and cancel the discontinuous processes; allows working with the resources based on specified queue strategies (FCFS/FIFO, LCFS/LIFO, SIRO, static priorities and so on); allows customizing the infinite and finite queues based on strategies too; supports the resource preemption; allows defining a queue network based on infinite streams of data and their processors, where we can define a complex enough behaviour just in a few lines of code; allows simulating circuits with recursive links and delays; supports the activity-oriented paradigm of DES; supports the basic constructs for the agent-based modeling; allows creating combined discrete-continuous models as all parts of the library are well integrated and this is reflected directly in the type system; the arrays of simulation variables are inherently supported; supports the Monte-Carlo simulation; the simulation model can depend on external parameters; uses extensively signals for notification; allows gathering statistics in time points; hides technical details in high-level simulation computations (monads, streams and arrows). 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 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; has an extensible architecture. The charting package has two interchangeable back-ends: Aivika Experiment Cairo [3] and Aivika Experiment Diagrams [4]. All libraries were tested on Linux, Windows and OS X. The PDF documentation is available on the Aivika Wiki [5] website. [1] http://hackage.haskell.org/package/aivika-experiment [2] http://hackage.haskell.org/package/aivika-experiment-chart [3] http://hackage.haskell.org/package/aivika-experiment-cairo [4] http://hackage.haskell.org/package/aivika-experiment-diagrams [5] https://github.com/dsorokin/aivika/wiki P.S. Aivika is actually a genuine female Mari name which is pronounced with stress on the last syllable.
由 
bruceshi2021-01-13 收录
--
推荐
不推荐
更多信息
GitHub icondsorokin/aivika72
HACKAGE
carbal install aivika
查看
标签
根据用户添加的标签生成
暂无标签