ncihnegn / scala-aivika Goto Github PK
View Code? Open in Web Editor NEWThis project forked from nightscape/scala-aivika
A Scala port of my multi-paradigm simulation library Aivika
License: Other
This project forked from nightscape/scala-aivika
A Scala port of my multi-paradigm simulation library Aivika
License: Other
Aivika is a relatively small simulation library that covers many paradigms. It allows integrating a system of ordinary differential equations from System Dynamics. Also it can be applied to the Discrete Event Simulation. It supports the event-oriented, process-oriented and activity-oriented paradigms. Aivika has also a basic support of the Agent-based Modeling. It is possible due to using a very general approach when the basic modeling entity is just a function of simulation time. The continuations are naturally used for modeling the discontinuous processes. Using the objects allows the modeler to represent the agents and their states. The integrals can be defined recursively as in mathematics. It wouldn't be possible in low level programming languages. A high level functional programming language becomes a modeling language too. There are three implementations of the Aivika library for the F#, Haskell and Scala programming languages. The represented Scala version has built-in powerful facilities that allow generating the simulation results in the form of HTML, graphics and CSV tables. It can plot the deviation chart, the time series, the XY chart, histograms etc. Also it can save the results in CSV files for the further processing by such tools as Microsoft Excel. At the same time, Aivika can gather the statistics and then represent them in text form. This step of generating and representing the results is very simplified. Many routine tasks are performed by Aivika itself. In the end the modeler receives an HTML site with the results, which can be studied with help of his/her favorite Internet browser. This Scala version of Aivika is focused on the parameterized Monte Carlo simulation, although it is possible to run a single simulation too. The parameters may depend on the simulation run index. It is possible to design an experiment. The parameters can use pseudo-random number generators, or take values directly from the predefined tables. The magic is in that the Monte Carlo simulation is well adjusted to the module of generating the results, which greatly simplifies the process of analyzing the model. I used Maven and IntelliJ IDEA with the installed Scala plug-in to develop this version of Aivika. So, I can launch any of the examples in one step using the context menu of IDEA. It is very useful. But this library should work with any other Scala development environment as well. I hope it helps. Best regards, David Sorokin <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.