8 (495) 987 43 74 доб. 3304 Прием заявок на рассмотрение статей E-mail: evlasova@synergy.ru

Мы в соцсетях -              
Рус   |   Eng

Авторы

Сорокин Д. Э.

Ученая степень
магистр прикладной математики и информатики
E-mail
david.sorokin@gmail.com
Местоположение
г. Йошкар-Ола
Статьи автора

Распределенное имитационное моделирование с Aivika

В статье представлена система имитационного моделирования Айвика (англ. Aivika), где особое внимание уделяется модулю распределенного моделирования, реализующего оптимистичный метод деформации времени. Показано, как в распределенной имитации можно использовать основные парадигмы дискретно-событийного моделирования, в частности, процесс-ориентированную парадигму. Также представлено, как в такой имитации можно использовать GPSS-подобный предметно-ориентированный язык. Описаны важные детали реализации. В конце приведены результаты тестирования распределенного модуля системы Айвики.
Читать дальше...

DVCompute Simulator для дискретно- событийного моделирования

В статье представлена авторская разработка DVCompute Simulator, которая является коллекцией общецелевых программных библиотек для дискретно- событийного моделирования. Целью исследования было создание на основе единого метода эффективного по скорости исполнения набора симуляторов на языке Rust для разных режимов имитации. Симуляторы охватывают такие режимы, как обычное последовательное моделирование, вложенное моделирование и распределенное моделирование. В статье описано, как вложенное моделирование пересекается с теорией игр, а распределенное моделирование может быть использовано для запуска имитаций моделей больших размерностей на суперкомпьютерах. Показано, как эти разные режимы имитации могут быть реализованы на основе единого подхода, сочетающего в себе многие парадигмы: и событийно-ориентированную, и процесс-ориентированную, и подобные языку GPSS блоки, и даже частично агентное моделирование. Авторский метод основан на использовании приемов функционального программирования, где имитационная модель описывается как композиция вычислений. В статье приведены результаты тестов двух модулей, поддерживающих как оптимистичный, так и консервативный методы распределенного моделирования. Читать дальше...

DVCompute++ Simulator: декомпозиция для дискретно-событийного моделирования

В статье представлен метод декомпозиции дискретно-событийных моделей на основе авторской разработки ­DVCompute++ Simulator, которая является коллекцией общецелевых программных библиотек для создания и запуска имитационных моделей на языке C++. Целью исследования было найти способ, которым можно было бы разбить произвольную модель на части, потом части модели – на еще меньшие компоненты и так далее, получив в результате некоторую иерархию вложенных подмоделей, каждую из которых можно было бы рассматривать изолированно как самостоятельную сущность. Такие подмодели можно создавать уже сейчас в коде на языке C++, а в перспективе возможно будет задавать графически через диаграммы или через некоторое текстовое описание на специализированном языке моделирования, причем такие подмодели можно использовать повторно, что роднит их с ­ТЭБами из ­GPSS ­STUDIO. Указанные способы создания подмоделей можно сочетать в любом порядке на любом уровне вложенности иерархии, причем эту работу могут выполнять несколько специалистов разной квалификации. Более того, в статье показано, как излагаемый метод декомпозиции может быть распространен и на случай распределенного моделирования, которое также поддерживается в ­DVCompute++ Simulator. Все это стало возможным благодаря использованию приемов функционального программирования, где имитационная модель рассматривается как композиция вычислений. Тогда декомпозицию модели можно рассматривать как разбиение вычислений на части, которые можно соединять между собой подобно сборке в конструкторе. Основную роль играют два вида вычислений – блоки, аналогичные блокам языка ­GPSS, и вычисления дискретных сигналов по аналогии с реактивным программированием. Предлагаемый метод декомпозиции дискретно-событийных моделей иллюстрируется диаграммами подмоделей и соответствующим им программным кодом на языке С++. Читать дальше...