Комплекс программных библиотек Айвика (Aivika)

Название пакета (системы)


Комплекс программных библиотек Айвика (Aivika)

Авторы


Сорокин Давид Эрнестович, Йошкар-Ола, Россия.


Контактная информация


E-mail: david.sorokin@gmail.com.


Официальный сайт продукта


http://www.aivikasoft.com/ru/products/aivika.html.


Область применения системы


Комплекс общецелевых программных библиотек на языке Haskell для имитационного моделирования, вложенного моделирования, распределенного параллельного моделирования.


Поддерживаемые виды моделирование


Основная и обобщенная версии Айвики нацелены, главным образом, на дискретно-событийное моделирование, но есть поддержка системной динамики, а также частично агентного моделирования. Обобщенная версия адаптирована для вложенного моделирования, а также распределенного параллельного моделирования (реализована оптимистичная стратегия с прозрачными откатами).


Научно-техническое описание


Айвика позволяет моделисту на уровне языка программирования Haskell оперировать событиями, дискретными процессами, ресурсами, очередями, серверами, потоками транзактов и их обработчиками. Она позволяет одновременно как определять события и процессы, углубляясь в низко-уровневые детали поведения моделируемых сущностей, так и создавать высоко-уровневые сети очередей декларативным способом. Все части Айвики хорошо интегрированы между собой.
Для основной версии существуют дополнительные программные библиотеки, которые позволяют автоматизированно проводить вычислительные эксперименты по методу Монте-Карло, сохранять результаты моделирования в файлах CSV, собирать и выводить сводную статистику, рисовать графики, гистограммы.
Также реализована обобщенная версия, которая может быть конструктором для создания общецелевых библиотек моделирования для произвольных вычислений, удовлетворяющих небольшому набору ограничений, среди которых возможность создавать изменяемые ссылки и иметь реализованной очередь событий.
Созданы специализированные версии вычислений для вложенного моделирования и параллельного распределенного моделирования. Эти вычисления удовлетворяют требованиям обобщенной версии Айвики, т.е. фактически мы имеем общецелевые библиотеки дискретно-событийного моделирования для указанных областей на основе единого подхода.


Архитектура


Идея очень проста. Моделируемые активности представляются как абстрактные вычисления, которые можно комбинировать или создавать из примитивов. В действительности, это имеет глубокую связь с функциональным программированием. По сути, Айвика является компиляцией известных идей функционального программирования, приложенных к задачам имитационного моделирования.


Стадия разработки (реализации) системы


Проект во многом родился как эксперимент, но некоторые компоненты Айвики достаточно зрелы. Основная и обобщенная версии достаточно стабильны в течение нескольких лет. Поддержка вложенного моделирования близка к стабильной, хотя и является новой. Поддержка распределенного моделирования является экспериментальной.


Статус системы


Система развивается с 2009 года во многом как исследовательский проект.


Программно-аппаратные требования


Поддерживаются основные три операционных системы Windows, Linux, OS X. По ряду параметров предпочтительнее Linux или OS X. Например, на них значительно лучше и быстрее создаются графики. Там же лучше поддержка распределенного моделирования.


Организация разработчик продукта


Проект разрабатывается независимым исследователем, частным лицом.


Учебные версии системы


Та же самая полная версия. Нет разделения на учебную и коммерческую.


Техническая поддержка и обучение


Техническая поддержка и помощь в обучении возможны при обращении к автору. Имеется документация.


Стоимость системы


При соблюдении условий лицензии BSD3 прямая стоимость отсутствует.


Правовая защищенность объекта интеллектуальной собственности


Исключительным автором является Сорокин Давид Эрнестович, но сам программный код распространяется в открытых исходниках по лицензии BSD3.


Обзор рынка (внедрения)


Проект доступен в открытых исходниках. Прямой информации по внедрению нет.


Документация


API к программному коду полностью документировано на английском языке. Также есть по основной версии вводная ознакомительная статья на английском языке в формате PDF:

Aivika 3: Creating a Simulation Library based on Functional Programming.


Полезные ссылки


Более подробная информация доступна на сайте .


Литература


Есть статья на русском, опубликованная в трудах Седьмой всероссийской научно-практической конференции «Имитационное моделирование. Теория и практика» – «ИММОД-2015»:


Айвика: имитационное моделирование в терминах вычислений.




Публикация на сайте 20.05.2016


Яндекс.Метрика