Составители:
Рубрика:
32
ENTER ( войти), LEAVE (отпустить)
Эта пара операторов выполняет те же функции, что и SEIZE и RELEASE,
но не для устройств, а для STORAGE - «хранилищ», то есть для ресурсов, к
которым может обращаться более одного транзакта. Такие объекты могут быть
полезны при моделировании, например, распараллеленного процесса:
обработки потока деталей на нескольких одинаковых станках, выхода публики
из театра через несколько дверей и т.д. Эти «хранилища», или устройства
параллельной обработки, должны быть предварительно описаны в программе
при помощи оператора описания STORAGE (см. ниже). По логике своей
работы связки операторов SEIZE – ADVANCE – RELEASE; ENTER-
ADVANCE- LEAVE; абсолютно одинаковы, но употребляются для разных
объектов.
QUEUE ( образовать очередь), DEPART (выйти из очереди)
Помимо устройств, в которых происходит
обработка заявок (задержка
транзактов), необходимо собирать сведения о таких объектах, как очереди,
образующиеся на входах устройств. В языке GPSS/H по умолчанию очередь
образуется и функционирует нормально, но никаких сведений о ней не
аккумулируется. Для организации сбора таких данных используется пара
связанных операторов: QUEUE, который отмечает постановку заявки-транзакта
в «хвост» очереди (в
терминах модели это называется «конец очереди»), и
DEPART, собирающий статистику об уходе транзактов из очереди при
освобождении устройства. Эти два оператора ставятся по желанию
пользователя, не влияют на основные статистические результаты листинга и
могут быть поставлены для получения интересующей пользователя
информации с любого объекта модели, где может происходить образование и
накопление
очереди. Они не препятствуют входу транзактов и имеют нулевое
время входа. Последовательность постановки операторов:
QUEUE(имя)- SEIZE…. RELEASE- DEPART (то же самое имя).
Можно создавать несколько вложенных друг в друга очередей, при этом
вначале выходят из более короткой очереди, затем из длинной (см. 3.7).
Формат:< QUEUE А,[B]>, где
А - имя очереди (имена такого рода используются не
только для удобства
идентификации в процессе работы с моделью, но и для указания необходимых
сведений при работе в оболочке);
В - число добавляемых в очередь элементов.
Строго говоря, оператор QUEUE увеличивает текущее содержимое
очереди, определенной в поле А, на величину, указанную в поле В.
При прохождении оператора DEPART транзакт покидает указанную
очередь, причем счетчик
длины очереди уменьшается.
Формат: <DEPART A,[B]>, где
А - имя очереди,
В - число удаляемых из очереди элементов.
Обычно описанные выше операторы применяются в программах языка
GPSS/H в традиционном порядке, обеспечивающем моделирование работы
устройства (простейшей СМО) с учетом образующейся очереди и со сбором
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
