Modern high technologiesrae.ru
Scientific journal

Modern high technologies

ISSN 1812-7320VAK ListRSCI IF = 1,279

COMPARATIVE ANALYSIS OF MATLAB.STATEFLOW/SIMULINK AND ANYDYNAMICS PACKAGES FOR BUILDING SIMULATION MODELS OF SOCIAL SYSTEMS

Vakushin A.A. 1, Klebanov B.I. 1
1Ural Federal University n.a. the first President of Russia B.N. Yeltsin

Одним из перспективных направлений научных исследований является моделирование постоянно изменяющихся и развивающихся во времени дискретно-непрерывных структур. К числу самых сложных структур такого типа относятся экосистемы, включающие динамически изменяемое множество территориально распределенных активных, постоянно взаимодействующих друг с другом агентов (субъектов) и пассивных объектов. Основными задачами исследований таких систем являются прогноз развития экосистем, а также анализ результатов различного типа внешних воздействий. К числу эффективных методов исследования экосистем относится имитационное моделирование. Большое разнообразие типов объектов и субъектов, их внутренних процессов, а также способов их взаимодействия предъявляет особые требования к языкам и средствам имитационного моделирования таких систем. К числу известных программных средств (ПС) для моделирования дискретно-непрерывных систем относятся MATLAB Stateflow/Simulink [1] и AnyDynamics [2].

Целью данной работы является сравнительный анализ указанных ПС с точки зрения возможностей их использования для построения моделей социальных территориально распределенных систем, являющихся частными случаями экосистем. Для достижения поставленной цели необходимо определить номенклатуру показателей, произвести анализ и сравнение ПС в соответствии с этими показателями и сформулировать соответствующие выводы.

Материалы и методы исследования

В качестве исходной информации для определения номенклатуры и значения показателей ПС использовались: документация на ПС [1, 2], результаты собственных исследований [3, 4] и стандарт Continuous System Simulation Language (CSSL) [5], описывающий общие требования к языкам имитационного моделирования. В [3, 4] показано, что для построения моделей обществ, включающих динамически изменяемое множество пассивных объектов и активных, постоянно взаимодействующих друг с другом агентов, удобно использовать модели множества взаимодействующих гибридных автоматов (ГА). Поэтому в качестве дополнительных требований к инструментальным средствам рассматриваются также возможности языков рассматриваемых ПС по определению графов и условий переходов между состояниями объектов, а также непрерывных процессов в каждом из состояний. Стандарт CSSL для языков моделирования систем был разработан в 1968 г. Этот стандарт используется и в настоящее время [6] и оказывает существенное влияние на развитие языков и систем моделирования.

Результаты исследования и их обсуждение

Для сравнения ПС из стандарта CSSL выбраны возможности инструментов ИМ, которые существенны для представления коллективного поведения сложных ГА:

SC – моделирование на основе диаграмм состояний в текстовом и графическом представлении;

DAE – дифференциальные алгебраические уравнения (ДАУ);

IR – снижение индекса (порядка) ДАУ;

ED – представление событийно-управляемых процессов;

SD – декомпозиция динамических систем;

PM – текстовое и графическое компонентное моделирование физических систем;

VIS – визуализация симуляции модели.

Рассмотрим соответствие возможностей каждой из сравниваемых ПС по стандарту CSSL.

SC: Пакет Simulink используется для создания блоковых динамических моделей, а пакет Stateflow – для изменений состояния, управляемых событиями, которые описываются диаграммой состояния (рис. 1а). Основой AnyDynamics [7], так же как и Stateflow, являются гибридные диаграммы состояний, которые позволяют в единой форме описать сложное, многорежимное поведение, используя описания локальных поведений (режимов) – кусочно-непрерывных динамических систем, алгоритмы смены поведений и алгоритмы обработки и формирования новых данных при переходе к очередному режиму (рис. 1б). Следует отметить, что представление сложного графа переходов ГА в Stateflow выглядит сложнее по сравнению с AnyDynamics.

DAE: Дифференциальные алгебраические уравнения можно представлять как функциями в MATLAB, так и блоками в Simulink (рис. 2). Аналогичный функционал имеет AnyDynamics (рис. 3).

IR: AnyDynamics может самостоятельно решать системы дифференциальных алгебраических уравнений и понижать их порядок [2], для этого нужно сформировать систему из объектов класса и указать анализатору тип системы уравнений и искомые переменные. У Simulink-Stateflow такой функционал отсутствует.

ED: Simulink/Stateflow и AnyDynamics могут представлять последовательно-параллельные процессы.

SD: Оба пакета поддерживают структурную декомпозицию. Однако пакеты Simulink/Stateflow могут работать только с заданным числом элементом и не позволяют реализовать динамическое изменение структуры объекта, т.е. в них отсутствует возможность добавления элементов прямо во время выполнения модели. Инструмент AnyDynamics поддерживает изменение структуры системы в процессе моделирования, создание новых экземпляров объектов и их удаление из модели во время симуляции, а также позволяет динамически создавать и ликвидировать потоки ресурсов между компонентами модели (рис. 4).

Doc10.pdf

Рис. 1. Пример блоковой динамической модели: а) Stateflow б) AnyDynamics

Doc11.pdfРис. 2. Блочное представление ДАУ в Simulink

Doc12.pdf

Рис. 3. Представление ДАУ в математическом редакторе в AnyDynamics

Doc13.pdf

Рис. 4. Фрагмент модели в AnyDynamics, в которой создается новый экземпляр продукта

PM: AnyDynamics предоставляет возможность выполнять многокомпонентное моделирование физических систем [8] благодаря языку Model Vision Language (MVL), который базируется на концепции активного объекта языка UML. В пакетах Simulink/Stateflow отсутствует возможность сборки моделей из компонентов, представленных ГА.

VIS: У обоих пакетов имеется широкий набор инструментов визуализации процесса симуляции модели, таких как динамическая визуализация значений переменных, построение диаграмм, 2D- и 3D-анимация, динамическая визуализация структуры численно решаемой системы уравнений и т.д.

Справедливости ради нужно отменить, что все возможности, отсутствующие в пакетах Simulink/Stateflow, можно восполнить при помощи других пакетов MATLAB. Например, в Simscape присутствует возможность моделирования физических систем. Однако расширение списка используемых пакетов MATLAB повышает сложность процесса разработки и отладки модели по сравнению с AnyDynamics, где все функции сосредоточены в одном пакете.

Рассмотрим ряд дополнительных характеристик ПС, существенных с точки зрения выбора инструмента для разработки модели социального общества, основанной на гибридных автоматах:

SS – скорость симуляции;

GEN – возможность начальной генерации больших множеств различных классов агентов и объектов;

RI – наличие простых средств описания процессов установления отношений и взаимодействия между агентами общества;

RUS – возможность использования русского языка при разработке модели;

LIC – стоимость и условия лицензии на пакеты.

SS: Модели социальных сообществ обычно включают большое количество агентов, что предъявляет высокие требования к скорости симуляции. Последняя зависит от того, исполняется ли модель интерпретатором (медленно) кода или компилятором (быстрее). В AnyDynamics встроен компилятор модели, и все эксперименты проводятся с предварительным преобразованием модели в исполняемый код. В Simulink используется интерпретатор, но при желании для получения исполняемого кода нужно воспользоваться специальным приложением Compiler.

GEN: В AnyDynamics встроена возможность определения количества однотипных объектов модели, обладающих разными случайными характеристиками, что позволяет просто масштабировать эксперименты моделью. В MATLAB проведение таких экспериментов затруднено.

RI: В AnyDynamics, в отличие от Stateflow/Simulink, имеются специальные конструкции языка (broadcast send), которые могут быть использованы для динамического установления отношений и моделирования процессов дистанционной передачи информации между агентами.

RUS: Еще одним преимуществом AnyDynamics с точки зрения русскоязычной аудитории, является возможность использования в модели русского языка (рис. 5).

LIC: Стоимость и тип лицензии на использование пакета прикладных программ MATLAB для юридических лиц зависят от целей использования. Лицензия у MATLAB бывает двух типов: годовая и бессрочная. В первом случае лицензия предоставляется в виде ежегодной подписки на продукт. Во втором случае лицензия оплачивается единоразово. Стоимость бессрочной лицензии выше годовой в несколько раз. Каждый пакет MATLAB приобретается отдельно. Основная программа MATLAB имеет цену: бессрочная лицензия – 550 долларов, годовая – 275 долларов. Согласно информации на официальном сайте, у среды моделирования AnyDynamics лицензия одного типа – бессрочная. Она покупается один раз и не имеет срока. А также имеется бесплатная лицензия для использования среды в ознакомительных, образовательных и иных некоммерческих целях [2].

Doc14.pdf

Рис. 5. Модель компонента-генератора энергии в AnyDynamics

Таблица 1

Сравнение возможностей ПС для имитационного моделирования развития территориально распределенных социальных систем

 

SC-T

DAE

IR

ED

SD

PM

VIS

SS

GEN

RI

RUS

Simulink-Stateflow

+

+

+

+

AnyDynamics

+

+

+

+

+

+

+

+

+

+

+

Результаты сравнения программных средств представлены в таблице 1.

Выводы

На основе сравнения возможностей двух ПС для моделирования, симуляции и анализа территориально распределенных социальных динамических систем можно сделать следующие выводы. Несмотря на то что MATLAB Simulink-Stateflow широко распространен в университетах ведущих научных держав, в исследовательских центрах и компаниях, он является не самым рациональным выбором при построении моделей социальных динамических систем. Так, например, при освоении функционала интуитивно понятным является AnyDynamics, а для освоения MATLAB приходится читать множество страниц документации. Также в MATLAB отсутствует ряд функций, которые есть по умолчанию в AnyDynamics. Важной характеристикой продукта для потребителей представляется стоимость лицензии, что не является плюсом ПС MATLAB, тем более если требуется восполнить отсутствующие функции другими пакетами MATLAB, а на такие пакеты приходится покупать лицензию отдельно. Таким образом, следует признать, что при выборе средства разработки имитационных моделей территориально распределенных непрерывно-дискретных социальных систем предпочтительным по сравнению с ПС MATLAB Simulink-Stateflow является использование ПС AnyDynamics.


Библиографическая ссылка

Вакушин А.А., Клебанов Б.И. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПАКЕТОВ MATLAB.STATEFLOW/SIMULINK И ANYDYNAMICS ДЛЯ ПОСТРОЕНИЯ ИМИТАЦИОННЫХ МОДЕЛЕЙ СОЦИАЛЬНЫХ СИСТЕМ // Modern high technologies. 2021. № 7. С. 18-23;
URL: http://www.top-technologies.ru/article/view?id=38748 (дата обращения: 17.08.2026).
DOI: https://doi.org/10.17513/snt.38748