В GPSS/PC имеется дополнительный тип списков сообщений, названных списками пользователя, которые дают возможность удалять сообщения из списков текущих событий и переводить их во временно неактивное состояние. Впоследствии эти сообщения возвращаются в список текущих событий. Использование таких списков позволяет обходить просмотр списка текущих событий, когда одно или более сообщений не могут продвинуться дальше. Все это приводит к значительному снижению времени счета модели.
Блок LINK имеет следующий формат записи:
LINK A,B,[C]
Блок LINK удаляет сообщение из списка текущих событий и помещает его в список пользователя.
Поле А задает номер списка пользователя, в который будет помещено вошедшее сообщение.
Поле В задает алгоритм упорядочивания списка пользователя. Операнд В может быть LIFO, FIFO, именем, целым, СЧА, СЧА*<параметр>.
Допустимые операнды:
- FIFO - вошедшее сообщение помещается в конец списка пользователя;
- LIFO - вошедшее сообщение помещается в начало списка пользователя;
- номер параметра - входящие сообщения располагаются в списке пользователя в соответствии со значением указанного параметра. Сообщения располагаются по возрастанию значения этого параметра. Чем меньше значение параметра, тем ближе сообщение к началу списка, чем больше значение параметра - тем ближе сообщение к концу списка. Если значение параметра сообщения, помещаемого в список, равно значению этого параметра сообщения (или несколько сообщений) уже находящегося в списке, то входящее сообщение помещается за последним из сообщений, имеющих одинаковые значения Рj.
Если вы не используете LIFO или FIFO в операнде В, можно использовать СЧА, такие как PR - приоритет сообщения, М1 - время нахождения сообщения в модели или СЧА класса Р. Если используется PR, то сообщение помещается в приоритетном порядке. Если номер параметра определен, сообщение помещается в список пользователя за сообщением, у которого номер параметра меньше.
Поле С, указывающее альтернативный выход, используется при описании различных ситуаций, возникающих в очередях.
Стандартными числовыми атрибутами, связанными с описываемым оператором являются:
CA<номер списка> - среднее число сообщений в списке пользователя с именем <номер списка>.
CC<номер списка> - общее число сообщений в списке пользователя с именем <номер списка>.
CH<номер списка> - текущее число сообщений в списке пользователя с именем <номер списка>.
CM<номер списка> - максимальное число сообщений в списке пользователя с именем <номер списка>.
CT<номер списка> - среднее время пребывания сообщения в списке пользователя с именем <номер списка>.
Блок UNLINK имеет следующий формат записи:
UNLINK [X] A,B,[C],[D],[E],[F]
Блок UNLINK удаляет сообщения из списка пользователя. Указатели отношения, записываемые во вспомогательном поле операции определяют, какое явное условие следует рассматривать. Если указатель отношения не задан, предполагается отношение равенства (Е). |