RDO-Studio: инструментарий для интеллектуального имитационного моделирования

RDO-STUDIO: ИНСТРУМЕНТАРИЙ ДЛЯ ИНТЕЛЛЕКТУАЛЬНОГО ИМИТАЦИОННОГО

МОДЕЛИРОВАНИЯ

В.В. Емельянов , А.В. Барс, П.А. Захаров, А.В. Урусов

Имитационное моделирование находит все большее применение в различных областях деятельности человека при работе со сложными системами. Несмотря на то что развитие средств имитационного моделирования имеет уже полувековую историю, создание эффективных моделей по-прежнему является сложным, трудоемким и длительным процессом. Появление передовых интеллектуальных средств разработки имитационных моделей, таких как G2-Rethink, Arena, Ресурсы-действия-операции (РДО), позволило решить некоторые вопросы создания моделей.

Программный комплекс RDO-Studio является основной частью интеллектуальной интегрированной среды имитационного моделирования и предназначен для разработки и отладки имитационных моделей на языке РДО [1,2]. Основные цели данного комплекса - обеспечение пользователя легким в обращении, но достаточно мощным средством разработки текстов моделей на языке РДО, которое обладало бы большинством функций по работе с текстами программ, характерных для сред программирования, а также средствами проведения и обработки результатов имитационных экспериментов.

Авторами метода РДО являются доктор технических наук В.В. Емельянов и кандидаты технических наук М.В. Овсянников, С.И. Ясиновский. Впервые общие идеи метода РДО были представлены В.В. Емельяновым на IV Всесоюзной научно-технической конференции «Математическое, алгоритмическое и техническое обеспечение АСУ ТП» (Ташкент, 1988 г.). Разработка интеллектуальной среды имитационного моделирования РДО выполнена в МГТУ им. Н.Э. Баумана на кафедре «Компьютерные системы автоматизации производства». В 1993 г. была разработана DOS-версия среды РДО, представленная как коммерческий продукт на выставке SofTool'94 в Москве, а Windows-версия появилась на выставках «Интеллектуальные программные системы» и COMTEK'97 (Москва, 1996 г. и 1997 г. соответственно).

Система РДО для Windows оснащена гораздо более мощным средством анимации процесса моделирования, но для подготовки исходных текстов модели и обработки результатов моделирования приходилось использовать дополнительные программные продукты. Поэтому добавление в систему средств разработки и отладки имитационных моделей было логическим продолжением развития РДО. В 2002-2005 г. эти возможности реализованы в инструментарии для интеллектуального имитационного моделирования процессов различ-

ной природы RDO-Studio (текущая версия 0.8), разработанного в МГТУ им. Н.Э. Баумана.

Назначение системы

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

• синтаксический разбор текста модели и настраиваемая подсветка синтаксических конструкций языка РДО;

• открытие и сохранение моделей;

• расширение возможностей редактирования текстов моделей;

• автоматическое завершение синтаксических конструкций языка;

• поиск и замена фрагментов текста внутри одного модуля модели;

• поиск интересующего фрагмента текста по всей модели;

• навигация по тексту моделей с помощью закладок;

• наличие нескольких буферов обмена для хранения фрагментов текста;

• вставка синтаксических конструкций языка и заготовок (шаблонов) для написания элементов модели;

• настройка отображения текста моделей, в том числе скрытие фрагментов текста и масштабирование;

• запуск и остановка процесса моделирования;

• изменение режима моделирования;

• изменение скорости работающей модели;

• переключение между кадрами анимации в процессе моделирования;

• отображение хода работы модели в режиме реального времени;

• построение графиков изменения интересующих разработчика характеристик в режиме реального времени;

• обработка синтаксических ошибок при запуске процесса моделирования;

• обработка ошибок во время выполнения модели;

• обеспечение пользователя справочной информацией.

Основные модули системы имитационного моделирования приведены на рисунке 1.

RDO-Studio •»

RDO-Kernel

RDO-Editor

\

RDO-Tracer

RDO-Model

RDO-Frame

общедоступный интерфейс модуля

RDO-Simulator

общедоступны1Й интерфейс модуля

RDO-Repository

Рис. 1. Состав системы RDO-Studio

Дадим краткое описание основных функций, выполняемых ими.

Модуль RDO-Model - это блок, отвечающий за создание новой модели, открытие существующей или запись текущей. Он запускает модель на исполнение, позволяет менять режим прогона и скорость моделирования, может остановить запущенную модель. Блок активно взаимодействует и с репозитарием уже существующих моделей, и с имитатором.

Модуль RDO-Tracer отвечает за обработку информации о трассируемых показателях имитационной модели в процессе моделирования и за построение графиков на ее основе. Он взаимодействует непосредственно с имитатором (RDO-Simu-ШЮт).

Модуль RDO-Frame отвечает за отрисовку кадров анимации и перемещение между ними, обеспечивает обратную связь между пользователем и работающей имитационной моделью, так как он передает имитатору информацию о нажимаемых пользователем клавишах клавиатуры и мыши.

Модуль RDO-Editor обеспечивает редактирование текста модели и представляет собой текстовый редактор, ориентированный на разработчика, то есть он предлагает, помимо стандартных функций редактирования текста, ряд специфических функций, таких как:

• подсветка и автоматическое завершение синтаксических конструкций языка;

• навигация по тексту моделей с помощью закладок;

• скрытие фрагментов текста модели;

• обеспечение пользователя контекстно-зависимой справочной информацией и др.

Модуль RDO-Kemel. В процессе функционирования возникает потребность в передаче информации между отдельными модулями системы. Для этой цели было разработано так называемое ядро (RDO-KemeГ), предлагающее набор спецификаций для описания и реализации межмодульного взаимодействия. Это возможно двумя способами (рис. 2).

1. Прямым вызовом одного из методов доступного модуля. В качестве доступных модулей выступают блоки RDO-Simulator и RDO-Repo-sitory. Набор методов описывается в соответствующих интерфейсах этих подсистем, о которых

ядро системы может ничего не знать. Это позволяет на стадиях разработки и сопровождения вносить необходимые изменения только в модули, не затрагивая ядро.

2. Через механизм уведомлений. На уровне ядра системы определены типы уведомлений для различных модулей. Эти уведомления высылаются (выбрасываются) модулями в ядро системы в соответствии с логикой их функционирования. Любой другой модуль (или тот же самый) может зарегистрировать свой отклик на уведомление определенного типа. При этом ядро системы, перехватив выброшенное уведомление, позаботится о вызове всех откликов для этого уведомления. Например, модуль имитационного моделирования (RDO-Simulator), подготовив кадр анимации, не заботится об его отрисовке, а просто выбрасывает соответствующее уведомление, а непосредственной отрисовкой занимается модуль RDO-Frame, который зарегистрировал отклик на это сообщение.

Модуль RDO-Repository обеспечивает хранение и предоставление доступа к исходным файлам модели. Вынесение подобных функций в отдельный модуль обусловлено необходимостью работы с исходными текстами и графическими файлами независимо от формы их хранения и операционной системы. Внутренняя реализация механизмов работы с файловой системой (или другой системой хранения исходных текстов и графических файлов) скрыта от остальных подсистем.

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

Главное меню

После загрузки системы открывается основное окно, которое имеет главное меню, кнопки панели управления, «плавающие» окна рабочего про-

Прямой вызов метода одного из модулей системы

• КБО^тиМог

• КОО-Кероякогу

Механизм уведомлений

Регистрация откликов на уведомления

Выброс уведомления

Рассылка уведомлений всем зарегистрированным модулям

Рис. 2. Ядро системы

странства и вывода со своими закладками, строку состояния и окно с набором закладок ("PAT", "RTP", "RSS", "OPR", "FRM", "FUN", "DPT", "SMR", "PMD"), соответствующих объектам модели на языке РДО, для редактирования модели.

Окно рабочего пространства предназначено для работы со структурированной информацией различного назначения. Список закладок окна: Tracer - отображает список трассируемых объектов в процессе моделирования, позволяет отобразить график изменения состояния выбранного элемента модели; Frames - отображает список доступных окон анимации в процессе моделирования, позволяет переключиться на выбранное окно.

Окно вывода предназначено для отображения различного рода информации. Оно имеет пять закладок: Build - отображает информацию о процессе компиляции модели, выводит сообщения об ошибках компиляции, позволяет переключиться в текст модели на место возникновения выбранной ошибки; Debug - окно, в которое любой модуль может вывести отладочную информацию (например, здесь отображается список картинок, загруженных для анимации); Trace - отображает файл трассировки процесса моделирования в режиме реального времени; Results - отображает результаты моделирования по завершении прогона; Find in model - отображает результаты поиска подстроки по всей модели, позволяет переключиться в текст модели на найденный фрагмент.

Процесс разработки модели сводится к созданию всех ее объектов на языке РДО и здесь не описывается.

Режимы моделирования

После запуска модели на исполнение у пользователя есть возможность выбрать один из режимов моделирования: No show, Animation, Monitor. Здесь No show - это режим максимальной производительности системы моделирования. Отключается вывод анимации, графиков и трассировки на экран (данные по трассировке продолжают собираться). Режим Animation - это режим анимации. Если модель содержит кадры анимации, то они могут быть выведены на экран именно в этом режиме, скорость моделирования определяется пользователем. В режиме анимации доступно построение графиков и просмотр данных трассировки в реальном времени. Режим Monitor - это режим паузы. Процесс моделирования приостанавливается. Чтобы его продолжить, достаточно переключиться на любой другой режим моделирования.

В режиме анимации пользователь может перемещаться по кадрам анимации, выбирая нужный кадр из списка кадров на закладке Frames окна рабочего пространства или с помощью команд меню, а так же менять скорость анимации.

Обработка и графический вывод результатов

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

Для обработки трассировки используется структура модели - набор объектов для хранения информации об изменении состояния объектов модели. Каждому объекту модели соответствует элемент структуры. В процессе моделирования каждый элемент получает от RDO-Tracer строки, несущие информацию об изменении состояния объекта модели, которому он соответствует. Элемент структуры проводит синтаксический разбор полученной строки и переводит информацию об изменении во внутреннюю структуру данных для хранения и отображения. Каждый элемент структуры имеет механизм отображения хранимых им данных на графике.

В рассматриваемой версии программного комплекса имеется возможность визуально отображать процессы, происходящие в модели, в виде графиков. Добавление графиков состояния ресурса становится возможным только после запуска модели. Графики состояния ресурса модели можно добавлять как в процессе работы модели в режиме анимации, так и после завершения моделирования. График состояния ресурса может быть отображен только в том случае, если конкретный ресурс модели трассируется.

Для добавления графика во вкладке Tracer окна Workspace в дереве модели необходимо найти желаемый параметр ресурса. Чтобы создать новое окно графика, нужно щелкнуть два раза по выбранному параметру ресурса левой кнопкой мыши или один раз правой и в выпадающем меню выбрать команду Add to new chart. По оси абсцисс графика откладывается модельное время, а по оси ординат - значение параметра.

При первом построении графика масштаб по оси ординат устанавливается автоматически. Для изменения масштаба по оси абсцисс можно воспользоваться панелью инструментов Zoom toolbar или использовать выпадающее меню при правом щелчке мышки по области графика.

Пример отображения объекта трассировки (нижняя область экрана) и графиков, построенных на его основе, дан на рисунке 3.

Рис. 3. Отображение трассировки и графиков

Результатами моделирования являются следующие объекты:

• объект результатов, который автоматически выводится на закладку Results окна вывода при завершении прогона;

• объект трассировки, который отображается в режиме реального времени в процессе моделирования на закладке Trace окна вывода.

Примеры использования

Инструментарий RDO-Studio может быть применен для создания имитационных моделей, систем планирования, игр и тренажеров, экспертных систем реального времени и гибридных систем, включающих экспертные системы, имитационные модели и алгоритмы оптимизации. Кроме того, могут быть описаны непрерывные процессы, поскольку формулы интегрирования переменных состояния можно записать в виде модифицированных продукций.

С использованием РДО были проведены исследования ряда объектов различного назначения. Среди этих объектов - линия разлива пищевых жидкостей фирмы «Перье» (Франция), участок разделки бревен фирмы «Хейдельберг» (Германия), участок механообработки завода экспериментального машиностроения г. Протвино (Московская обл.) и ряд других. Модели используются для исследования как самих производственных

процессов, так и для построения систем управления ими.

Перспективы развития

Система RDO-Studio является легко расширяемой по функциональным возможностям за счет модульной организации ее подсистем, которые взаимодействуют между собой посредствам унифицированных механизмов, а не напрямую.

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

• модуль графического описания моделируемых процессов;

• модуль перевода GPSS-моделей на язык РДО;

• модуль планирования экспериментов и др.

Над некоторыми из них уже ведутся работы.

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

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

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

Список литературы

1. Емельянов В.В., Ясиновский С.И. Введение в интеллектуальное имитационное моделирование сложных дискретных систем и процессов. Язык РДО. - М.: АНВИК, 1998.

2. Artiba A., Emelyanov V.V., lassinovski S.I. Introduction to Intelligent Simulation: The RAO Language. - Boston/Dordrecht/London: Kluwer Academic Publishers, 1998.

ГИБРИДНАЯ СИСТЕМА ПОИСКА РЕШЕНИЙ НА ОСНОВЕ ВРЕМЕННЫХ ПРОДУКЦИОННЫХ ПРАВИЛ

П.В. Афонин

Большое число возникающих на практике задач обработки информации и поиска оптимальных решений требует использования методов и подхо-

дов имитационного моделирования [4,6]. При этом существует класс задач управления, в которых необходимо найти стратегию управления, пе-