Язык имитационного моделирования GPSS World
Система GPSS World предназначена для имитационного моделирования систем с дискретными процессами. Языком моделирования в ней является язык GPSS, улучшенный встроенным языком программирования низкого уровня PLUS. Язык GPSS построен на предположении, что модель сложной системы можно представить совокупностью элементов и логических правил их взаимодействия в процессе функционирования моделируемой системы. Набор абстрактных элементов, называемых объектами, небольшое. Также набор логических правил ограничен и может быть описан стандартными операциями. Комплекс программ, описывающих функционирование объектов и выполняющих логические операции, является основой для создания модели.
Объекты в моделируемой системе предназначены для различных целей. Совершенно не обязательно, чтобы в одной модели участвовали все типы объектов. Необходимо лишь наличие блоков и транзактов, иначе модель работать не будет. Объекты GPSS делятся на 7 категорий и 15 типов (см. Таблица 1.1).
|
|
Таблица 1.1. Объекты GPSS
№ | Категория | Тип объекта |
Динамическая | Транзакты | |
Операционная | Блоки | |
Аппаратная | Устройства | |
Памяти | ||
Логические ключи | ||
Статистическая | Очереди | |
Таблицы | ||
Вычислительная | Переменные | |
Функции | ||
Генераторы случайных чисел | ||
Запоминающая | Ячейки | |
Матрицы ячеек | ||
Группирующая | Числовые группы | |
Группы транзактов | ||
Списки пользователя |
Динамическая категория. К этой категории относятся транзакты. Функционирование объекта отображается в модели в виде перемещения транзактов от блока GENERATE в блок TERMINATE через промежуточные блоки. Транзакты являются абстрактными подвижными элементами, которые, перемещаясь между блоками, вызывают и испытывают различные действия. Понятие транзакта устанавливает сам разработчик модели. Например, если разрабатывается модель большого универмага, то в понятие транзакта можно вложить "покупатель", который, передвигаясь от отдела к отделу, движется по магазину. Транзакт - "покупатель" движется по модели и может быть поставлен в очередь, задержан, выведен из очереди. Его маршрут может быть изменен и т.д.
Объекты аппаратной категории - это абстрактные элементы, на которые может быть декомпозирована реальная система. Воздействуя на эти объекты, транзакты могут изменять их состояние и влиять на движение других транзактов. К объектам этого типа относятся одноканальные устройства, памяти (многоканальные устройства) и логические ключи.
Одноканальные устройства(ОКУ) представляют собой оборудование, которое в любой момент времени может быть занято только одним транзактом. Например, один канал передачи данных, один станок изготовления деталей, одно транспортное средство.
|
|
Многоканальные устройства(МКУ) предназначены для имитации оборудования, осуществляющего параллельную обработку. Они могут быть использованы одновременно несколькими транзактами. МКУ можно использовать в качестве аналога, например, нескольких каналов связи.
Для моделирования такого оборудования, как переключатели, имеющие только два состояния (0 и 1), в GPSS используются логические ключи. Транзакты могут устанавливать их в эти состояния или инвертировать их.
Операционные объекты, т. е. блоки, задают логику функционирования модели системы и определяют пути движения транзактов между объектами аппаратной категории. В блоках могут происходить события четырех основных типов:
1. создание или уничтожение транзактов;
2. изменение числового атрибута объекта;
3. задержка транзакта на определенный период времени;
4. изменение маршрута движения транзакта в модели.
В GPSS содержится 53 типа блоков.
Вычислительная категория служит для описания таких ситуаций в процессе моделирования, когда связи между компонентами моделируемой системы наиболее просто и компактно выражаются в виде математических (аналитических и логических) соотношений. Для этих целей в качестве объектов вычислительной категории введены арифметические и булевы переменные и функции.
Переменные представляют собой сложные выражения, которые включают константы, системные числовые атрибуты (СЧА), библиотечные арифметические функции, арифметические и логические операции.
Выражения могут применяться в переменных и операторах GPSS. При применении в переменных выражения определяются командами GPSS. При применении в операторах GPSS выражения определяются как часть языка PLUS.
Каждому объекту соответствуют атрибуты, описывающие его состояние в данный момент времени. Они доступны для использования в течение всего процесса моделирования и называются системными числовыми атрибутами (СЧА).
Булевы переменныепозволяют разработчику проверять в одном блоке GPSS одновременно несколько условий, исходя из состояния или значения этих условий и их атрибутов.
С помощью функций разработчик может производить вычисления непрерывных или дискретных функциональных зависимостей между аргументом функции (независимая величина) и зависимым значением функции.
Кроме библиотечных арифметических функций GPSS World имеет 24 встроенных генератора случайных чисел.
Объекты запоминающей категорииобеспечивают обращения к сохраняемым значениям. Ячейки сохраняемых величин и матрицы ячеек сохраняемых величин используются для сохранения некоторой числовой информации. Любой активный транзакт может произвести запись информации в эти объекты. Впоследствии записанную в эти объекты информацию может считать любой транзакт.
К статистическим объектамотносятся очереди и таблицы. В любой системе движение потока транзактов может быть задержано из-за недоступности устройств. В этом случае задержанные транзакты ставятся в очередьеще один тип объектов GPSS. Учет этих очередей составляет одну из основных функций планировщика. Планировщик автоматически накапливает определенную статистику относительно устройств и очередей. Кроме этого разработчик может собирать дополнительную статистическую информацию, указав специальные точки в модели.
Для облегчения табулирования статистической информации в GPSS предусмотрен специальный объект - таблица. Таблицы используются для получения выборочных распределений некоторых случайных величин. Таблица состоит из частотных классов (диапазонов значений), куда заносится число попаданий конкретного числового атрибута в каждый, тот или иной, частотный класс. Для каждой таблицы вычисляется также математическое ожидание и среднеквадратическое отклонение.
|
|
К группирующей категорииотносятся три типа объектов: числовая группа, группа транзактов и списки.
При моделировании транзакты хранятся в списках. Существует пять видов списков, только в одном из которых в любой момент времени может находиться транзакт:
1. список текущих событий;
2. список будущих событий;
3. список задержки ОКУ или МКУ;
4. список отложенных прерываний ОКУ;
5. список пользователя.
Одноканальное устройство имеет:
1. список отложенных прерываний- список транзактов, ожидающих занятия ОКУ по приоритету;
2. список прерываний - список транзактов, обслуживание которых данным ОКУ было прервано;
3. список задержки- список транзактов, ожидающих занятия ОКУ в порядке приоритета;
4. список повторных попыток - список транзактов, ожидающих изменения состояния ОКУ.
Многоканальное устройство имеет:
1. список задержки- список транзактов в порядке приоритета, ожидающих возможность занять освободившиеся каналы МКУ;
2. список повторных попыток - список транзактов, ожидающих изменения состояния МКУ.
Список пользователясодержит транзакты, удаленные пользователем из списка текущих событий и помещенные в списокпользователя как временно неактивные. Списки пользователя используются для организации очередей с дисциплинами, отличными от дисциплины "первым пришел - первым обслужен".