Применение: стопка документов, ожидающих освобождения
ресурса; место для собирания частей, ожидающих упаковки
(группировки).
Таблица 3.12
Параметры модуля Queue
Уникальное имя модуля, которое будет отражено в
блок-схеме
Имя атрибута, значение которого будет
учитываться, если тип = Lowest Attribute Value или
Highest Attribute Value
Правило расстановки сущностей в очереди: First in
First out – первый вошел, первый вышел; Last in first
out – последний пришел, первый вышел; Lowest
Attribute Value – первый выйдет из очереди тот,
значение атрибута у которого низшее; Highest
Attribute Value – первый выйдет из очереди тот,
значение атрибута у которого наивысшее
Более подробно хотелось бы остановиться на параметре Type, т. к.
именно с помощью него можно определить, что такое «приоритет
очереди» и как его необходимо задавать. Рассмотрим несколько
изменный наш пример.
На прием к доктору приходят пациенты двух типов: взрослые и
дети. Доктор (наш ресурс) – один. Он ведет прием и детей, и взрослых,
причем время приема одинаково (около 30 минут), но у детей приоритет
при обслуживании выше, чем у взрослых.
Каким образом мы это можем реализовать? Во-первых, в модуле
Process задается ресурс «доктор»; с помощью параметра Action,
который устанавливаем Seize Delay Release для назначения ресурса.
Таким образом, когда сущность «пациент» зайдет в модуль процесс, то
она захватит ресурс «доктор» на определенное время (около 30 минут).
Во-вторых, у нас по условию время обслуживания пациентов
одинаковое, таким образом, мы процесс обслуживания пациентов
доктором смоделируем в виде одного блока Process, с временной
задержкой в 30 минут. Но здесь возникает вопрос: каким образом
задать приоритет? В данном случаем, мы рассматриваем ситуацию,
когда ресурс задан в одном блоке, т. е. нет смысла менять параметр
Priority модуля Process. В этом случае, возникает ситуация, когда
приоритет не ресурса, а приоритет очереди. И задается он в модуле
Queue. Необходимо выбрать, у какого типа сущности он выше. Это