Русский     English

AivikaSim

AivikaSim как последующее развитие проекта Aivika является программной платформой общецелевого дискретно-событийного моделирования с частичной поддержкой агентного моделирования и системной динамики. Платформа позволяет запускать последовательные, вложенные и распределенные имитации, используя единый подход. AivikaSim написана на языке программирования Haskell и ориентирована на моделистов с навыками программирования.

AivikaSim позволяет комбинировать разные методы моделирования в рамках одной имитационной модели, обеспечивая высокоуровневыми конструкциями, где определение модели может напоминать такие языки моделирования как SimScript, Visual SLAM и GPSS, что демонстрируется в этом примере. Основные поддерживаемые парадигмы – событийно-ориентированная и процесс-ориентированная, на основе которых строятся более высокоуровневые конструкции.

Параллельное распределенное моделирование

Как было упомянуто, AivikaSim – это также платформа для распределенного моделирования. Параллельная распределенная имитация может быть запущена на кластере компьютеров, например, соединенных через сеть интернет. Распределенная имитация может быть устойчива к сбоям, и она способна восстанавливать себя после временных ошибок соединения, что позволяет запускать такую имитацию на обычных компьютерах. Реализован вариант оптимистичного метода “деформации времени”.

Есть самодостаточный стресс-тест для модуля распределенной имитации, который может быть воспроизведен по приложенной инструкции. Он демонстрирует, как распределенная имитация может восстанавливать себя после ошибок соединения. Всегда возвращаются одни и те же результаты, так как используется генератор псевдо-случайных чисел с предопределенным начальным значением.

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

Метод Монте-Карло

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

Установка

Инструкции по установке AivikaSim могут быть найдены здесь.

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

Есть старая документация для Айвики, которая подходит и для AivikaSim также. Почти тот же самый код с очень небольшими модификациями будет работать для вложенных и распределенных имитационных моделей.

Лицензия

AivikaSim имеет двойную лицензию, которая позволяет использовать AivikaSim в образовательных проектах по условиям Academic Public License. В то же самое время, необходимо будет приобрести коммерческую лицензию для коммерческих проектов.

Библиография

Основная идея метода AivikaSim изложена в статье, опубликованной в трудах Седьмой всероссийской научно-практической конференции "Имитационное моделирование. Теория и практика" – "ИММОД-2015", которая состоялась 21-23 октября 2015 года в Москве, в ИПУ им. В.А.Трапезникова РАН: