Название пакета (системы)Комплекс программных библиотек Айвика (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