- •2. От симулятора к редактору
- •3. От редактора к студии
- •4. Функциональные возможности rao‑studio
- •6. Регулирование скорости
- •7. Структура системы
- •8. Методы имитатора
- •9. Процессно-ориентированный подход
- •12. Иерархия классов представления знаний
- •10. Событийный подход
- •11. Приоритеты операций
- •Pис.4. Иерархия классов описания знаний
- •13 Изменения в системе сбора показателей
- •14. Изменения в языке
- •Литература
6. Регулирование скорости
В режиме синхронной имитации можно управлять сокростью прогона, меняя масштабный коэффициент, который определает отношение единицы модельного времени к единицы системного времени компьютера. Для это предусмотрены команды
Увеличить масштаб - увеличивает скорость анимации на 50% процентов.
Увеличить масштаб в 4-ре раза - увеличивает скорость анимации в 4 раза.
Уменьшить масштаб в 4-ре раза - уменьшает скорость анимации в 4 раза.
Уменьшить масштаб – уменьшает скорость анимации на 50% процентов.
К этим командам была добавлено новая, которая называется Скорость имитатора. По сути это логарифмическая шкала, регулирующая общую скорость имитатор. Используется в моделях, основанных на продукционных правилах, в которых модельное время остается равным нулю, но имеется анимация. Снизив значение скорости можно подробнее рассмотреть процесс моделирования. Используется в режимах дискретной и синхронной имитации, не используется в режиме максимального быстродействия.
7. Структура системы
Интегрированная система моделирования состоит из нескольких взаимосвязанных модулей. Дадим им краткую характеристику.
RAO-Simulator – осуществляет непосредственное моделирование имитационной модели и логический вывод на правилах продукции. Так же содержит компилятор и систему диагностики ошибок.
RAO-Studio (IDE) – объединяет в себе все визуальные средства системы, такие как редактор модели, подсистемы анимации, построения графиков и отображения результатов моделирования.
RAO-Repository – модуль, обеспечивающий хранение и доступ к исходным файлам модели.
Взаимодействие между модулями происходит с помощью обмена сообщениями. Например, в процессе имитации, RAO-Simulator’ом формируется новая строка трассировки. Она ‘выбрасывается’ в систему обмена сообщениями и доставляется до подписчиков. Один из них (RAO-Studio (IDE)) выводит её на экран, а другой (RAO-Repository) – записывает в файл. При этом источник сообщений может ничего не знать о получателях. Данный подход позволяет наращивать функциональные возможности интегрированной системы без внесения изменений в логику обработки существующих сообщений.
8. Методы имитатора
В основе системы моделирования РДО лежит гибридизация нескольких методов: дискретной имитации на основе событийного подхода [5], и механизма прямого логического вывода на основе продукционных и модифицированных продукционных правил [1,2]. Так же в системе существует модуль поиска решений по неявно заданному графу состояний, реализующего алгоритм обхода A*[3,4]. В данной статье хочется отметить изменения в методах, появившихся в РДО в последнее время: процессно-ориентированный подход имитационного моделирования, самодостаточный подход сканирования активностей, приоритетный вывод, иерархическая база знаний.
9. Процессно-ориентированный подход
Для разработки имитационных моделей систем класса Системы массового обслуживания (СМО), широко и очень успешно используются процессно-ориентированные языки моделирования. В СМО возникают такие понятия как потоки заявок, каналы обслуживания, дисциплины очереди и д.р. Разработать имитационную модель СМО можно и с помощью существующего синтаксиса языка РДО. Но более удачным видится решение, которое позволяет описать элементы реальной системы наиболее близкими к ним синтаксическими конструкциями. И такая работа было проделана. За основу выбран синтаксис языка GPSS [6]. Интеграция нового метода в систему (гибридизация) происходит за счет использования единой базы данных (БД) модели, в которой хранятся текущие значения параметров ресурсов РДО. Т.е. любые изменения параметров в процессной части модели могут быть отслежены продукциями механизма логического вывода и наоборот. Так, например, разработана модель участка, в которой процесс обработки описан процессно-ориентированным языком, а поломка и ремонт оборудования – клавиатурной операцией РДО.
Для представленного примера рассчитана оценка эффективности использования подхода. Для этого было разработано две модели одной системы. При написании первой использовался только классический синтаксис РДО, для второй – представленный подход. Некоторые части обеих моделей были одинаковые, например, анимация, файл прогона, часть функций и др. При расчёте оценки эффективности они не учитывались. Сравнение показало, что вторая модель содержит в 4,5 раза меньше строк кода. А если считать не строки, а в символы, то уменьшение достигло 7 раз.
На текущий момент поддерживаются команды: GENERATE, TERMINATE, SEIZE, RELEASE, ADVANCE, QUEUE, DEPART.
