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

USING MATLAB SIMULINK STATEFLOW TOOLS TO CREATE AN AUTONOMOUS INTELLIGENT AGENT MODEL

Kuznetsov S.G. 1 Klebanov B.I. 1
1 Ural Federal University named after First President of Russia B.N. Yeltsin
One of the promising areas of the digital economy is the use of simulation models to determine and substantiate the directions of development of territorial entities (TE) – cities, regions, individual settlements. The article discusses the possibility of using a hybrid automaton model in the Simulink Stateflow environment to describe and simulate the processes of behavior and development of agents that have certain sets of needs, resources and means of their implementation in a given environment. For the purpose of research, a test example has been developed, in which models of space, dynamic energy sources, agents that realize the needs for energy and rest are set. The agent model includes the following components: a locomotion effector, a video receptor, an energy generator and a control system. The behavior models of all components and energy sources are represented by hybrid automata, which are specified by graphs of transitions between states. Each state is defined by its own set of parallel continuous processes. Based on the results of test modeling, it was determined that the use of MATLAB Simulink Stateflow tools improves the quality and shortens the development time for models of territorial entities based on dynamic models of continuous-discrete automata. Demonstrated the possibility of developing an autonomous, environment-independent, application for modeling TE development processes using MATLAB Compiler and MATLAB App Designer. The creation of a wrapper console application that implements a data exchange mechanism in the JSON format has shown the possibility of linking the developed model with other systems for modeling the behavior of agents and decision-making systems.
hybrid automaton
MATLAB Simulink
Stateflow diagram
MATLAB Compiler
MATLAB App Designer
JSON

Одним из перспективных направлений цифровой экономики является применение имитационных моделей и цифровых двойников для определения и обоснования направлений развития территориальных образований (ТО) – городов, регионов, отдельных населенных пунктов [1]. Процессы развития территориального образования характеризуются стохастическим характером и нелинейностью, структурной динамикой, большим количеством взаимозависимых систем и обратных связей объектов среды. В этих условиях создание цифровых двойников ТО сталкивается со следующими проблемами [2, 3]: фрагментация научных исследований по отраслям знаний; чисто аналитические модели подходят к своему пределу сложности; композиция ранее разработанных моделей очень сложна; слабый учет в существующих моделях индивидуальных свойств, связей, поведения отдельных личностей и их влияния на общество; создание и корректировка моделей требуют использования языков программирования, что резко повышает трудоемкость создания модели и вероятность ее несоответствия замыслу эксперта; создание моделей развития общества требует участия экспертов из разных отраслей знаний: экономики, социологии, информатики, психологии и др.

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

Целью данной работы является исследование возможности применения средств Simulink MATLAB для создания библиотеки моделей поведения агентов, обладающих определенным набором потребностей. Задачами исследования являются: анализ сложности языка описания моделей, наличие средств имитации (движка модели), возможностей разработки автономных (отторгаемых от средств разработки) моделей компонент со стандартизированными интерфейсами, создания компонентных моделей, а также удобство средств разработки интерфейсов пользователей.

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

В качестве теоретической основы создания такой библиотеки предложена математическая модель расширенного гибридного (непрерывно-дискретного) автомата [4, 5], на основе которой определяются динамические модели поведения и жизненные циклы объектов действительности, как активных, так и пассивных, а также их компонент. Предполагается, что использование данной модели позволит: исключить или резко уменьшить участие программистов в процессе разработки моделей, использовать для создания моделей графические нотации; обеспечить модульность при разработке модели и учет индивидуальных потребностей, способностей и поведения активных агентов ТО. К числу основных инструментальных сред, поддерживающих определение и динамическое моделирование гибридных автоматов, относятся: Modelica Standard Library, AnyDinamiks [6], а также сочетание систем Simulink и StateFlow, входящих в состав Matlab.

Исследование возможностей различных сред для решения поставленной задачи предполагается проводить на примере тестовой модели коллектива агентов, действующих в заданном пространстве. Указанная модель должна включать модель географического пространства, в котором периодически возникают и погибают источники энергии. Каждый агент должен обладать следующими способностями: обзор обстановки с помощью видеорецептора, перемещение с помощью эффектора передвижения, накопление и использование энергии, управление видеорецептором и эффектором передвижения с целью удовлетворения потребностей в энергии и отдыхе [7].

Для задания модели поведения агента и других динамических объектов в среде Simulink MATLAB может быть использован высокоуровневый графический язык Stateflow. На этом языке определяются диаграммы переходов состояний, блок-схемы, таблицы переходов состояний и таблицы истинности и, таким образом, реакция моделируемого объекта на входные сигналы, события, в результате которых могут меняться структура и параметры действующих непрерывных процессов [8].

Пространство жизни агентов задаётся матрицей A размерности m*n. Число в ячейке aij матрицы определяет объем энергии, который может получить агент от находящегося в данной точке источника энергии. Источники энергии представлены моделями гибридных автоматов, каждый из которых имеет свою скорость увеличения и снижения объёма энергии в ячейке в рамках своего жизненного цикла (аналог периодически возрождающегося и погибающего растения).

Модель агента включает в себя следующие компоненты (рис. 1): система управления; видеорецептор; эффектор передвижения; генератор энергии. Все компоненты агента представлены гибридными автоматами с определенными состояниями, входными и выходными переменными.

missing image file

Рис. 1. Тестовая модель многокомпонентного агента

Входными сигналами эффектора передвижения являются: показания счётчика для синхронизации сигналов (counter), сигнал от системы управления о необходимости перемещения (move), количество энергии от генератора (energy_in), координаты, в которые необходимо переместиться (target_x, target_y). В качестве выходных переменных эффектор передвижения выдаёт: текущие координаты местонахождения (x, y), сигнал о гибели эффектора передвижения (dead), сигнал о готовности эффектора передвижения к работе (ready), уровень усталости (fatigue), внутреннее количество энергии (energy), уровень старения (age), дискретное состояние (state).

Генератор энергии в качестве входных параметров принимает текущие координаты местонахождения (x, y), в качестве выходных параметров показания счётчика для синхронизации поглощения энергии (counter), количество энергии, разрешённое для потребления (energy_out), количество энергии в накопителе генератора (storage) и иные выходные параметры, аналогичные выходным параметрам в эффекторе передвижения.

Видеорецептор принимает на вход сигнал от системы управления о необходимости обнаружения энергоносителя (locate), и иные параметры, аналогичные уже описанным. На выходе видеорецептор выдаёт сигнал о нахождении энергоносителя (found) и иные параметры.

Система управления получает на вход сигналы о гибели эффектора передвижения (movement_dead), готовности эффектора передвижения к работе (movement_ready), гибели видеорецептора (video_dead), готовности видеорецептора к работе (video_found) и иные параметры. На выходе система управления выдаёт сигналы о необходимости перемещения (move), необходимости обнаружения энергоносителя видеорецептором (locate), координаты, в которые необходимо переместиться (target_x, target_y), сигнал о потребности в отдыхе (needHome) и иные параметры.

Для удовлетворения потребности в энергии используются: система управления, видеорецептор, эффектор передвижения и генератор энергии. Когда количество энергии становится меньше заданной величины, система управления отправляет сигнал видеорецептору, и эффектору передвижения о необходимости начать поиск энергоносителя. Система управления имеет 3 дискретных состояния: планирование, отдых и отказ. В состоянии «Планирование» в системе управления представлены следующие непрерывные параллельные процессы: приём и анализ сигнала от видеорецептора, управление эффектором передвижения, рост усталости, потребление энергии и старение. В режиме «Отдых» – уменьшение усталости, потребление энергии, старение.

Алгоритм работы системы управления в режиме «Планирование» приведён на рис. 2.

missing image file

Рис. 2. Алгоритм работы системы управления в режиме «Планирование»

В состояние «Отказ» система управления попадает в случае гибели агента, и никаких процессов в этом состоянии не протекает.

Условием перехода системы управления из состояния «Планирование» в состояние «Отдых» и обратно является уровень усталости. В состояние «Отказ» система управления попадает, когда старение достигло 100 % или когда полностью закончилась энергия.

Эффектор передвижения имеет 3 дискретных состояния: передвижение, отдых и отказ. В состоянии «Передвижение» в эффекторе передвижения происходят следующие параллельные непрерывные процессы: рост усталости; потребление энергии; старение; передвижение в пространстве. В состоянии «Отдых» – уменьшение усталости, потребление энергии и старение. В состояние «Отказ» эффектор передвижения попадает в случае отказа работы эффектора передвижения, и никаких процессов в этом состоянии не протекает.

Условием перехода из состояния «Передвижение» в состояние «Отдых» является уровень усталости или сигнал от системы управления о необходимости перемещения. В состояние «Отказ» эффектор передвижения попадает, когда старение достигло 100 % или когда полностью закончилась энергия.

Аналогично в модели представлены состояния и переходы видеорецептора и генератора энергии.

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

Для отладки разработанной модели используется движок MATLAB Simulink.

MATLAB является коммерческим программным продуктом, что налагает определённые ограничения на применение модели непосредственно из среды моделирования. Для создания автономных приложений и отдельных компонент может быть использовано средство MATLAB Compiler. С помощью него в рамках эксперимента было создано два самостоятельных приложения. Первое приложение с графическим интерфейсом пользователя позволяет использовать полученный прототип многокомпонентного интеллектуального гибридного автомата, как самостоятельную систему моделирования. Интерфейс пользователя (рис. 3) создан при помощи средства MATLAB App Designer [9]. Он позволяет задать начальные параметры модели и визуализировать результаты моделирования. С помощью данного интерфейса можно контролировать перемещения агентов в пространстве, собирать соответствующую статистику и определять время их жизни в пространстве в зависимости от размещения и приоритетов потребностей.

missing image file

Рис. 3. Пользовательский интерфейс приложения с графическим интерфейсом

Второе приложение представляет собой «обёртку» для разработанного прототипа многокомпонентного гибридного автомата, которая реализует механизм обмена данными с другой системой в формате JSON. Приложение «обёртка» получает данные от исполняемой модели Simulink и передаёт их в формате JSON при помощи HTTP POST запросов по заданному адресу, что позволяет экспортировать результаты моделирования в другие системы.

Заключение

В рамках проведённого исследования получены следующие результаты:

1. На основе результатов тестового моделирования определено, что применение средств MATLAB Simulink Stateflow повышает качество и сокращает сроки разработки моделей территориальных образований, основанных на динамических моделях непрерывно-дискретных автоматов

2. Продемонстрирована возможность раз- работки автономного, независимого от среды, приложения для моделирования процессов развития ТО с помощью средств MATLAB Compiler и MATLAB App Designer.

3. Создание консольного приложения-обёртки, реализующего механизм обмена данными в формате JSON, показало возможность стыковки разработанной модели с другими системами моделирования поведения агентов и системами принятия решений.