Регистрация / Вход
Прислать материал

Разработка транслятора описаний моделей системной динамики из формата XMILE в исполняемые модули на языке Erlang

Сведения об участнике
ФИО
Логинов Иван Павлович
Вуз
Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики"
Тезисы (информация о проекте)
Область наук
Информационные технологии и вычислительные системы
Раздел области наук
Информационные технологии
Тема
Разработка транслятора описаний моделей системной динамики из формата XMILE в исполняемые модули на языке Erlang
Резюме
Данная работа посвящена разработке транслятора описаний моделей системной динамики из нового формата XMILE в исполняемые модули на языке Erlang. Этот транслятор необходим для того, чтобы сделать возможным выполнение моделей системной динамики с хорошей производительностью.
Ключевые слова
транслятор, системная динамика, XMILE, описание моделей
Цели и задачи
Главной целью работы является разработка транслятора описаний моделей системной динамики в модули на языке программирования Erlang, что позволит повысить производительность в сравнении с существующим решением.
В работе были поставлены следующие задачи:
1. Исследование формата описаний моделей системной динамики XMILE.
2. Анализ реализации существующего решения – PySD.
3. Проектирование транслятора.
4. Реализация транслятора описаний моделей на языке Erlang.
Введение

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

Методы и материалы

В рамках работы было проведено исследование существующего решения - PySD, которое представляет собой реализацию транслятора описаний моделей из формата XMILE в исходный код на языке Python. Это решение позволяет запускать процесс моделирования, получать результаты, при необходимости имея возможность изменить полученный код, поскольку Python довольно неплохо подходит для задачи прототипирования. В то же время, это решение не позволяет достигнуть серьёзной производительности и задействовать возможности современных процессоров, обеспечивая параллельное выполнение. Для этого предлагается в качестве целевого языка трансляции описаний моделей использовать Erlang, поскольку этот язык проектировался для разработки распределённых систем.

Описание и обсуждение результатов

Данный транслятор позволяет существенно повысить производительность (по результатам сравнения производительности Erlang с другими аналогичными решениями, написанными даже на C++ - до 100%) процесса моделирования. Сам транслятор является частью проекта, ориентированного на создание облачного сервиса для обмена моделями и обеспечения процесса моделирования. Сам этот проект является ответом на проблемы обработки больших данных и доступа к данным для научного сообщества системной динамики (для свободного обмена моделями в сообществе). Высокая производительность, которая обеспечивается предлагаемым решением, может сделать процесс моделирования легче и доступнее, что может стимулировать дальнейшую работу над инновациями в области системной динамики.

Используемые источники
1. OASIS XML Interchange Language (XMILE) for System Dynamics TC (https://www.oasis-
open.org/committees/tc_home.php?wg_abbrev=xmile)
2. Chichakly, K. 2007. SMILE and XMILE: a common language and interchange format for system
dynamics. Proceedings of the 2007 International System Dynamics Conference, Boston, MA.
System Dynamics Society: Albany, NY.
3. Diker, V.G. and Allen, R.B. 2005. XMILE: towards an XML interchange language for system
dynamics models. System Dynamics Review 21(4)
4. Ward, R., Houghton, J., and Perl, I. A. (2015) SDXchange: stand-alone translators to enable XMILE
model adaptation, transportation, and exchange. Syst. Dyn. Rev., 31: 86–95. doi:
10.1002/sdr.1529
Information about the project
Surname Name
Loginov Ivan
Project title
Development of the translator of System Dynamics Models to Executable Erlang Modules
Summary of the project
This work is dedicated to the development of the translator of descriptions of system dynamics models from a new XMILE format to Erlang executable modules. This translator is required to make possible execution of system dynamics models with good performance.
Keywords
translator, system dynamics, XMILE, model description