Рассмотрим элементы, которые используются для представления обслуживания. Аналогами обслуживающих элементов могут быть люди, механизмы, линии связи и другие объекты реальных систем. В GPSS такие объекты моделируются c помощью устройств, МКУ, логических ключей.
Устройство характеризируется двумя основными свойствами:
1. Каждое устройство в любой момент времени может обслуживать только один транзакт. Если в процессе обслуживания появляется новый транзакт, то он должен:
1) либо подождать своей очереди,
2) либо направиться в другое место,
3) либо, если вновь пришедший транзакт имеет больший приоритет, устройство прерывает текущее обслуживание и начинает обслуживать новый транзакт.
2. Когда транзакт поступает в устройство, он должен пробыть там необходимое для обслуживания время.
Всем устройствам необходимо задавать имена. Они могут быть или числовыми (числа должны быть положительными целыми), или символьными. Во время трансляции символьным именам сам транслятор присваивает числовые значения.
|
|
Для того, чтобы использовать одноканальное обслуживающее устройство (прибор), транзакту необходимо выполнить следующие шаги.
Первый шаг. Ждать своей очереди, если это необходимо. Ожидание длится в течение некоторого интервала времени.
Второй шаг. Когда подходит очередь, занять устройство. Событие «занятие устройства» происходит в некоторый момент модельного времени.
Третий шаг. Устройство находится в состоянии занятости до тех пор, пока не закончится обслуживание. Для обслуживания необходим некоторый интервал времени.
Четвертый шаг. Когда обслуживание закончится, освободить устройство. Событие «освобождение устройства» происходит в некоторый момент модельного времени.
Эта последовательность шагов выполняется GPSS при моделировании использования устройства. Второй и четвертый шаги реали-5уются блоками SEIZE (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ).
Формат блока:
SEIZE A
Таблица 4.3
Операнд | Значение | Результат по умолчанию |
А | Имя (символьное или числовое) занимаемого устройства | Ошибка |
Этот блок имеет следующие свойства:
1. Если в текущий момент времени устройство используется, то гранзакт не может войти в блок и должен ожидать своей очереди.
2. Если устройство свободно, транзакт может войти в блок. Вход транзакта в блок вызывает выполнение подпрограммы обработки этого блока. Состояние устройства изменяется со СВОБОДНОЕ на ЗАНЯТОЕ.
Предварительного объявления устройства в модели не требуется, так как тот факт, что блок SElZE используется, свидетельствует о существовании данного устройства.
Предназначением блока RELEASE является изменение состояния ранее занятого устройства c ЗАНЯТОГО на СВОБОДНОЕ. Блок RELEASE никогда не запрещает вход транзакта.
Формат блока: