УДК 519.237.5, 681.518.3
И. М. Якимов, Ю. Г. Старцева, А. П. Кирпичников, В. В. Мокшим
МОДЕЛИРОВАНИЕ СЛОЖНЫХ СИСТЕМ В СРЕДЕ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
ОР88 W С РАСШИРЕННЫМ РЕДАКТОРОМ
Ключевые слова: компьютерное моделирование, бизнес-процесс, GPSS W, система массового обслуживания.
Приводится описание, разработанной авторами статьи, новой системы компьютерного моделирования (СКМ) на основе языка имитационного моделирования GPSS W с расширенным редактором, позволяющим вводить структуры моделируемых сложных систем и систем массового обслуживания (СМО) в графическом виде. Описываемая СКМ предназначена для проведения имитационного моделирования сложных систем. Составлена библиотека модулей, позволяющая сравнительно несложно реализовать около 50 моделей, отображающих основные свойства СКМ. Приведены 3 наиболее характерных моделей систем массового обслуживания.
Keywords: computer modeling, business process, GPSS W, system of mass service.
The description developed by the authors, a new computer modeling ( SCM ) based simulation language GPSS W with advanced editor allows you to enter a simulated structure of complex systems and queuing systems ( QS) in graphical form. SCM described is intended for simulation of complex systems. Substituting with library modules that allow relatively easy to sell about 50 models of dis- tal basic properties of SCM. 3 shows the most typical models of queuing systems COS.
Введение
Специализированный язык имитационного моделирования (ИМ) - ОР88, не имеющий серьёзных конкурентов по распространённости в мире последние сорок лет, начал сдавать свои позиции и в первую очередь из-за того, что появились программные средства, позволяющие графический ввод структурных схем моделируемых бизнес-процессов, под которыми далее будем понимать любую систематическую деятельность. Краткий обзор возможностей таких систем приведён в [1]. Для сохранения конкурентной способности программной системы ОР88 W в фирме ОАО «Элина» г. Казань разработано расширение редактора, позволяющее вводить структуры моделируемых процессов в графическом виде.
Для облегчения освоения новых представляемых этой системой возможностей разработана библиотека модулей, позволяющая сравнительно несложно реализовать около 50 моделей бизнес-процессов, представляемых системами массового обслуживания (СМО) [2]. Подробное описание этих 50 моделей на языке ОР88 W опубликовано в учебном пособии [3]. Для трёх, часто встречающихся СМО, аналитические модели которых приведены в [4, 5], проведено сравнение результатов имитационного и аналитического моделирования.
В статье рассматриваются вопросы только самого имитационного моделирования. Общая технология (методика) исследования бизнес-процессов на основе ИМ описана в [6]. В работах [7], [8] приведены примеры исследования конкретных сложных систем, проведённые на основе ИМ. По итогам ИМ проводится анализ полученных результатов, методы которых приведены в работах [8-11].
Основные характеристики расширенного редактора системы ОРББ Ш
Расширенный редактор системы ИМ ОР88 W обеспечивает выполнение следующих процедур.
1. Организовать ваши модели, эксперименты и результаты исследований в специализированной библиотеке в соответствии со структурой, которая вам привычна и удобна.
2. Написать модель в текстовом редакторе, который поддерживает: автовыравнивание, подсветку синтаксиса, контекстную подсказку, обнаружение ошибок в операторах, группировку и ряд других средств автоматизации ввода.
3. Сконструировать модель, с помощью графического редактора схем. Определить логически независимые участки кода (типовые элементы) и сохранить их в библиотеке, чтобы в будущем не переписывать код. Объединить их в схему, или даже создать многоуровневую схему, если этого требует ваша задача. И поручить редактору сборку модели.
4. Выполнить одиночную модель или определить изменяемые факторы, чтобы редактор сформировал серию экспериментов и показал работу модели в динамике.
5. Сохранить данные экспериментов и полученные результаты.
6. Сформировать и распечатать отчет об моделировании в формате Microsoft Word, который будет содержать все данные и описания моделей, схем, экспериментов и результаты моделирования.
7. Создать авто-формы ввода исходных данных ввода в модель и вывода результатов моделирования, и превратить вашу обособленную модель в полноценное Windows приложение (EXE модуль), исполняемое независимо от расширенного редактора.
Необходимо отметить, что новые возможности никоим образом не изменяют спецификацию модели. Тексты моделей GPSS W, написанные вами ранее, будут полностью совместимы с расширенным редактором, и наоборот. Другим важным моментом является тот факт, что расширенный редактор использует для запуска моделирования средства стандартного редактора GPSS W и поэтому его наличие обязательно (в сети или на локальном компьютере),
если вы собираетесь не только писать, но и выполнять модели.
Типы элементов схемы
На таблице может быть размещено 5 типов элементов (табл.1).
Таблица 1 - Типы элементов схемы
Тип Описание
ТЗБ Типовые элементарные блоки (ТЭБ), которые определяют логически независимые участки кода программы и содержат входы и выходы для связи с другими элементами схемы.
Схема Схемы определяют уровень декомпозиции. Наряду с ТЭБами они имеют входы и выходы. Но в отличие от них, схемы не имеют собственной логики. Вместо неё, они содержат взаимосвязанные ТЭБы и другие схемы.
1- i Связи определяют взаимодействие ТЭБов и схем. С их помощью соединяются входы и выходы ТЭБов и схем. Связи, фактически, определяют направления движения транзактов между ТЭ-Бами.
Надпись Надпись является средством документирования схемы. Она не несёт собственной логики. С её помощью можно пояснять сущность необходимых участков схемы.
Изображения являются ещё одним средством документирования схемы. С их помощью можно придать схеме более наглядный вид, или выделить некоторые её участки.
Каждый из перечисленных элементов имеет свои собственные настройки.
ТЭБ является логически независимым элементом. Он имеет интерфейс, то есть набор входов и выходов, с помощью которых связывается с другими элементами. ТЭБ содержит модель на языке GPSS World, которая определяет логику его работы. Каждый вход ТЭБа представляет собой метку в тексте модели. В расширенном редакторе системы GPSS W имеется библиотека ТЭБов, в настоящее время ориентированная на создание имитационных
моделей [3]. При необходимости имеющаяся библиотека может пополняться дополнительными ТЭ-Бами.
Библиотека ТЭБов служит для хранения и использования типовых элементарных блоков. В библиотеке ТЭБ представляется как некоторый логически законченный элемент, который обладает интерфейсом (входами и выходами) и имеет модель на языке GPSS W. Каждый вход элемента представляет собой метку блока модели.
Вкладка библиотеки ТЭБов и ее содержимое выводится в левой части главного окна. Для того чтобы войти в библиотеку, необходимо выбрать вкладку «ТЭБы».
Второй уровень декомпозиции - типовые схемы. Они также имеют входы и выходы, но вместо модели содержат набор взаимосвязанных элементов и не имеет собственной логики. Входы и выходы в нём играют лишь роль передаточных механизмов. Таких уровней декомпозиции в схеме может быть неограниченное количество, что позволит сформировать необходимую иерархическую структуру.
Для наглядности, на ТЭБе и типовой схеме можно размещать изображение и текст. Входы и выходы ТЭБов и типовых схем соединяются посредством связей. Учитывая, что входы и выходы элементарных блоков - это метки операторов, связи можно представить как безусловные переходы между операторами.
Такая совокупность связанных ТЭБов и типовых схем организуется в GPSS схему. На её основе строится модель на языке GPSS World. В отличие от библиотеки моделей, библиотека типовых схем не имеет строгой структуры. Она строится из элементов трёх типов: папки, ТЭБы и типовые схемы и представляет собой иерархическое дерево. Каждый тип элемента имеет своё собственное назначение и контекстное меню, содержащее команды для работы с ним.
Основные приёмы работы в системе GPSS W с расширенным редактором продемонстрируем на примерах конкретных СМО. Модель 1
СМО состоит из генератора транзактов (ГТ) (раввномерный закон 10±6) - очередь неограниченной длины - обслуживающий аппарат (ОА) (равномерный закон 9±7). Промоделировать обслуживание 200 сущностей.
Строится структурная схема в расширенном редакторе (рис. 1).
Рис. 1 - Структурная схема СМО
Далее для каждого ТЭБа вводятся значения параметров во вкладках «Параметры ТЭБа», в соответствии с условием задачи и получили текст модели СМО, сформированный расширенным редактором:
* ТЭБ «Генерация транзактов»
* Операторы модели GENERATE 10,6,,,
* Выход №1 «» TRANSFER ,METKA1_4
* ТЭБ «Очередь (+проверка устройства, *занимаемого при выходе из очереди)»
* Операторы модели METKA1_4 QUEUE BUF,1 GATE NU PK DEPART BUF
* Выход №1 «» TRANSFER ,METKA1_5
* ТЭБ «Устройство»
* Операторы модели METKA1_5 SEIZE PK ADVANCE (uniform (1,2,16)),0
RELEASE PK
* Выход №1 «» TRANSFER ,autoLabel_1
* ТЭБ «Регистрация значений элементов *в таблице»
* Операторы модели TAB_6 TABLE M1,3,1,30 autoLabel_1 TABULATE TAB_6
* Выход №1 «» TRANSFER ,FINAL_7
* ТЭБ «Вывод транзакта из системы»
* Операторы модели FINAL_7 TERMINATE 1
* ТЭБ «Инициализация Q-таблицы»
* Операторы модели OCHER_8 QTABLE BUF,0,2,10 TERMINATЕ
После завершения моделирования расширенный редактор выдаст отчет, приведённый в табл. 1
Таблица 2 - Результат моделирования (блоки-устройства-очереди)
Стандартный отчёт G -SS World. Общая информация Имена Блоки Устройства
Имя/ номер
Кол-во pas. когда устройства было занято
Коэффициент использования
Состояние устройства
200
Стандартный отчёт GPSS World. СЁцая информация Имена Блоки Устройства Очереди
Имя ! номер Макс. содержимое очереди за Текущее содержимое очереди Общее кол-во входов Общее кол-во входов тран. в очередь с Ср. значение содержимого очереди Ср. время пребывания одного Ср. время пребывания одного транзакта в
BUF 4 1 201 78 0.548 5.611 9.169
Стандартный отчёт G-SS World, Общая информация Имена Блоки Устройства Очереди
Имя / номер
Средневзвешенное
значение
аргумента
Среднеквадратическое отклонение
Нижний предел частотного класса
Верхний предел частотного класса
Юэл-во тран, ожидающих выполнений
Суммарная величина попадания аргумента Б границы диапазона
Процентная величина частоты попадания
Таблицы
ТАВ_6 ТАВ_б ТДВ_б
14421 14421 14421
7.76 7.76 7.76
В графическом виде результаты моделирования представлены на рис. 2.
б
Рис. 2 - а), б) время пребывания транзакта в очереди и в устройстве в), г) частотное распределение транзактов
По содержимому отчёта сделаем заключение, что среднее время обслуживания устройством одного транзакта - 8.792 сравнительно ненамного отличается от заданного среднего значения - 9.0; коэффициент использования устройства - 0.854 также не на много отличается от отношения среднего времени обслуживания к среднему времени между поступлением транзактов - 0.9. По статистическим данным по функционпрованию очереди отметим, что средняя длина очереди равна - 0.548, количество входов в очередь с нулевым временем ожидания - 78, среднее время ожидания в очереди -5.611 и без учёта «нулевых» транзактов - 9.169. Таким образом, можно сделать - заключение о том, что результаты моделирования не противоречат здравому смыслу.
Модель 2. СМО с транзактами двух приоритетов
В СМО имеется два потока транзактов: один поток клиентов с нулевым приоритетом, второй с первым приоритетом, которые прерывают обслуживание транзактов с нулевым приоритетом приоритет. Прерванные транзакты выводятся из системы без обслуживания. Остановить моделирование после вывода из модели 100 транзактов.
На рис.3 приведена структурная схема примера 2, сформированная в системе с расширенным редактором.
Приведём текст модели примера 2, сформированный расширенным редактором.
Рис. 3 - Структурная схема примера 2
* ТЭБ «Генерация транзактов»
* Операторы модели GENERATE 10,4,,,
* Выход №1 «» TRANSFER ,METKA1_7
* ТЭБ «Память (+проверка устройства, *занимаемого при выходе из памяти)»
* Операторы модели BUF_7 STORAGE 1000000 METKA1_7 ENTER BUF_7,1 GATE NU PK
LEAVE BUF_7
* Выход №1 «» TRANSFER ,METKA1_8
* ТЭБ «Устройство»
* Операторы модели METKA1_8 SEIZE PK ADVANCE (uniform (1,3,13)), RELEASE PK
* Выход №1 «» TRANSFER ,FINAL_9
* ТЭБ «Вывод транзакта из системы»
* Операторы модели FINAL_9 TERMINATE 1
* ТЭБ «Генерация транзактов»
* Операторы модели GENERATE (uniform(2,90,210)),,,,1
* Выход №1 «» TRANSFER ,METKA1_11
* ТЭБ «Очередь (+проверка устройства, *занимаемого при выходе из очереди)»
* Операторы модели METKA1_11 QUEUE BUF,1 GATE NI PK
DEPART BUF
* Выход №1 «» TRANSFER ,METKA1
* ТЭБ «Занятие устройства по приоритету _1»
* Операторы модели
METKA1 PREEMPT PK,PR,OTKAZ_13,,RE ADVANCE (exponential (3,0,25)), RETURN PK
* Выход №2 «2» TRANSFER ,FINAL_14
* Выход №1 «OTKAZ»
* ТЭБ «Отказ»
* Операторы модели OTKAZ_13 TERMINATE 1
* ТЭБ «Вывод транзакта из системы»
* Операторы модели FINAL_14 TERMINATE 1
По результатам моделирования отметим, что в программе для неприоритетных транзактов для имитации очереди использована память с именем BUF, а для приоритетных - очередь с тем же именем. Всего в модели обслужено 89 неприоритетных транзактов и 6 приоритетных. Обслуживание 5 неприоритетных транзактов прервано и они выведены из системы без обслуживания. Всего до завершения моделирования из системы выведено 100 транзактов.
Среднее время обслуживания устройством одного транзакта - 8.353; коэффициент использования устройства - 0830. Среднее количество транзактов в памяти 0.401, максимальное 3. Транзакты первого приоритета в очереди не задерживались.
Модель 3. Выбор устройства по правилу «первый свободный с наименьшим номером», если все устройства заняты транзакт получает отказ. Остановить моделирование после вывода из модели 100 транзактов.
Рис. 4 - Структурная схема примера 3 в расширенном редакторе
Текст программы модели 3, полученный расширенным редактором:
* ТЭБ «Генерация транзактов»
* Операторы модели GENERATE 10,3,,,
* Выход №1 «» TRANSFER ,METKA1_4
* ТЭБ «Выбор объекта из заданной *совокупности объектов»
* Операторы модели
METKA1_4 SELECT NU VIBOR,1,8,,,OTKAZ_7
* Выход №1 «1» TRANSFER ,METKA1_5
* Выход №2 «OTKAZ»
* ТЭБ «Устройство»
* Операторы модели METKA1_5 SEIZE P$VIBOR ADVANCE 75,50 RELEASE P$VIBOR
* Выход №1 «» TRANSFER ,autoLabel_1
* ТЭБ «Отказ»
* Операторы модели OTKAZ_7 TERMINATE 1
* ТЭБ «Регистрация значений *элементов в таблице»
* Операторы модели TAB_6 TABLE M1,50,10,20 autoLabel_1 TABULATE TAB_6
* Выход №1 «» TRANSFER ,FINAL_8
* ТЭБ «Вывод транзакта из системы»
* Операторы модели FINAL_8 TERMINATE 1
После завершения моделирования расширенный редактор выдаст отчет, основные разделы которого приведены в таблице 3,4.
Таблица 3 - Результаты моделирования (Блоки)
Таблица 4 - Результаты моделирования (Устройства)
Стандартный отчёт GPSS WoHd. Общая информация Имена Блоки Устройства
Таблиць
Будущи е события
Mus f номер
Кол-во раз;, когда устройство было занято
13 13 12
10 10 8
Коэффициент использования Состояние устройства в конце Номер гран... занимающего устройство
0.938 72.438 1 101
0.913 75.956 1 0
0.915 76.132 1 103
0.S66 7В.02В 1 105
0.S03 61.974 1 102
0.77 83.221 1 99
0.613 66.326 1 106
0.606 Б1.872 1 107
По содержимому стандартного отчёта сделаем выводы, что устройства сравнительно сильно загружены, коэффициент использования первого устройства - 0,938; восьмого - 0,606. Разница в за-
грузке устройств значительная - 0,332. В систему для обслуживания поступило 107 транзактов, из них 87 обслужено; 7 находятся на обслуживании и 13 получили отказ из-за занятости устройств. Вероят-
ность отказа 0,13. Время пребывания транзакта в системе 76.292, стандартное отклонение времени пребывания в системе 27.762.
Недостаток: значительная разница в загрузке устройств, что объясняется принятой дисциплиной выбора «первый свободный с наименьшим номером».
Заключение
В заключение следует отметить, что введение в систему ОР88 W расширенного редактора выводит эту систему на современный уровень систем с графическим вводом моделируемых бизнес-процессов, таких как ВРшт-Агепа, AnyLogic, Лг18, что позволяет.
1. Создавать структурные модели исследуемых сложных систем и проводить по ним качественный анализ.
2. Перейти от программирования моделируемых процессов к их «рисованию», делая их более понятными.
3. Сократить время создания имитационных моделей.
Литература
1. И.М. Якимов, В.В. Мокшин, Республиканский научный семинар «Моделирование систем». Труды. Казань, 2013. Вып. 5. С. 203-236.
2. И.М. Якимов, Ю.Г. Старцева, Шестая всероссийская научно-практическая конференция «Имитационное моделирование. Теория и практика». Материалы. Казань, 2013. Т. 1. С. 367-371.
3. И.М. Якимов, Компьютерное моделирование. Казань, Изд-во Казан. гос. техн. ун-та, 2008. 220 с.
4. А.П. Кирпичников, Прикладная теория массового обслуживания. Казань, Изд-во Казанского гос. ун-та, 2008. 112 с.
5. А.П. Кирпичников, Методы прикладной теории массового обслуживания. Казань, Изд-во Казанского университета, 2011. 200 с.
6. Б.Я. Советов, С.А. Яковлев, Моделирование систем. М., Высшая школа, 2005.- 371 с.
7. И.М. Якимов, Р.З. Бетретдинов, Вестник Казан. технол. ун-та, 15, 18, С. 261-265 (2012).
8. С. Аун, Л.М. Шарнин, А.П. Кирпичников, Вестник Казан. технол. ун-та, 14, 16, С. 224-232 (2011).
9. В.В. Мокшин, И.М. Якимов, Информационные технологии, 5, С. 46-51 (2011).
10. В.В. Мокшин, А.П. Кирпичников, Л.М. Шарнин, Вестник Казан. технол. ун-та, 16, 18, С. 297-303 (2013).
11. М.А. Степанова, А.С. Сытник, А.П. Кирпичников, В.В. Мокшин, Вестник Казан. технол. ун-та, 16, 20, С. 309314 (2013).
© И. М. Якимов - профессор каф. автоматизированных систем обработки информации и управления КНИТУ-КАИ; М. А. Степанова - асп. каф. автоматизированных систем обработки информации и управления КНИТУ-КАИ, [email protected]; А. П. Кирпичников - док. физ.-мат. наук, зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, [email protected]; В. В. Мокшин - канд. тех. наук, доцент каф. автоматизированных систем обработки информации и управления КНИТУ-КАИ, [email protected].