Технология моделирования одного класса мультиагентных систем на основе автоматного программирования на примере игры «Соревнование летающих тарелок»



© Д.А. Паращенко, Ф.Н. Царев, А.А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Исполняемая программа (интерпретационный подход)
Проект для Eclipse

Аннотация

Цель настоящей работы – описание технологии моделирования управления движением одного класса беспилотных летательных объектов на основе автоматного программирования.

Управление движением. Формируются две команды, каждая из которых состоит из N одинаковых беспилотных летательных объектов. Задача состоит в разработке системы управления движением объектов одной из команд. Объекты могут сталкиваться друг с другом, так как имеют возможность изменять расход топлива и поворачивать. При определенных условиях объекты аварийно завершают полет.

Объект может быть продолжающим полет или завершившим его. Результатом команды является максимальное из расстояний, на которое удалился от линии старта один из ее объектов, нормально завершивший полет.

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

Инструментальное средство UniMod позволяет разрабатывать объектно-ориентированные программы на языке Java в среде разработки Eclipse на основе двух типов UML-диаграмм: диаграммы классов и диаграмм состояний. При этом диаграмма классов представляется в нетрадиционной форме – в виде схемы связей поставщиков событий, автоматов, объектов управления и обратных связей.

Почему целесообразно применять автоматное программирование? Поведение объектов рассматриваемого класса является весьма сложным, и без формализации его описания трудно построить корректную программу. Применение автоматов позволяет верифицировать поведение программы с помощью метода model checking, а функции вызываемые из автоматов – с помощью доказательства на основе пред- и постусловий.

Как запустить программу? Необходимо распаковать архив с исполняемой программой и запустить файл flying-plates.cmd.

Как открыть проект в Eclipse? Необходимо в среде разработки Eclipse выбрать пункт меню "File/Import…" ("Файл/Импорт…"), а в открывшемся диалоге мастера – "Existing Project into Workspace" ("Существующий проект в рабочую область") и нажать кнопку "Next >" ("Далее >"). В окне выбора папки с файлами проекта необходимо указать ту папку, в которую распакован архив с проектом для Eclipse.