Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

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

Vakushin A.A. 1 Klebanov B.I. 1
1 Ural Federal University named after First President of Russia B.N. Yeltsin
One of the promising areas is the study of continuously changing and evolving in time discrete-continuous structures. The most complex systems of this type include ecosystems with dynamically changing set of spatial distributed active agents and passive objects constantly interacting with each other. The main goals of researching such systems are ecosystems development forecast, as well as to analyze the results of various types of external influences. Special requirements for the languages and modeling tools of such systems specified by a wide variety of types of objects and subjects of social systems, their internal processes, as well as ways of interaction between subjects. This study conducted to comperative analysis of the MATLAB.Stateflow/Simulink and AnyDynamics software environments according to the possibilities of their usage for models constructing of social spatial distributed systems. The ability to define a model of interacting hybrid automaton based on state diagrams with objects states and continuous processes in each of the states is considered as mandatory requirements for tools. The package comparison is based on the extended requirements of the CSSL standard. By the majority of analyzed parameters, such as: the possibility of the DAE index reduction, structural dynamics, multicomponent assembly of the model, various classes of agents and objects initial generation in large sets, simple modeling of communication processes between agents, the use of Russian-language terms, and the license cost, is determined that AnyDynamics surpasses the MATLAB Stateflow/Simulink packages.
multi-agent simulation
MATLAB Stateflow
MATLAB Simulink
AnyDynamics
hybrid automaton
social ecosystem

Одним из перспективных направлений научных исследований является моделирование постоянно изменяющихся и развивающихся во времени дискретно-непрерывных структур. К числу самых сложных структур такого типа относятся экосистемы, включающие динамически изменяемое множество территориально распределенных активных, постоянно взаимодействующих друг с другом агентов (субъектов) и пассивных объектов. Основными задачами исследований таких систем являются прогноз развития экосистем, а также анализ результатов различного типа внешних воздействий. К числу эффективных методов исследования экосистем относится имитационное моделирование. Большое разнообразие типов объектов и субъектов, их внутренних процессов, а также способов их взаимодействия предъявляет особые требования к языкам и средствам имитационного моделирования таких систем. К числу известных программных средств (ПС) для моделирования дискретно-непрерывных систем относятся 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.