Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5mzQtxCL1a.doc
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
3.06 Mб
Скачать

11.9. Управление движением транзактов

Под управлением движением транзактов будем понимать их движение по операторам модели в порядке, отличающемся от последовательного расположения операторов в тексте модели. Это требуется практически во всех реальных задачах моделирования (например, для имитации обслуживания заявок разных типов).

Простейший оператор управления движением транзактов - оператор TRANSFER. Он может работать в нескольких режимах. Основные из них рассматриваются ниже.

Безусловный режим:

TRANSFER ,A

где A - метка оператора, на который передается транзакт.

Статистический режим:

TRANSFER .A,B,C

где A - трехзначное число (NNN);

B - метка оператора, на который передаются 100-NN,N процентов транзактов;

C - метка оператора, на который передаются NN,N процентов транзактов.

Например, оператор TRANSFER .300,MET1,MET5 вызывает передачу 70% транзактов на оператор с меткой MET1, а 30% - в оператор с меткой MET5.

Операнд B необязателен. Если он не указан, то 100-NN,N% транзактов передаются на оператор, следующий за оператором TRANSFER, а NN,N% - на оператор с меткой C.

Режим BOTH:

TRANSFER BOTH,B,C

Этот оператор работает следующим образом: транзакт передается на оператор с меткой B; если он занят (т.е. в нем уже находится транзакт) - то на оператор с меткой C; если и он занят, то повторяется попытка передачи транзакта на оператор с меткой B, затем - с меткой C, и т.д., до освобождения одного из них.

Как и для статистического режима, операнд B необязателен.

Для управления движением транзактов в зависимости от некоторых условий используются операторы TEST и GATE. Оператор GATE будет рассмотрен в разделе 11.18.

Структура оператора TEST следующая:

TEST о_с A,B,C

где о_с - обозначение операции сравнения: L - "меньше", LE - "меньше или равно", E - "равно", NE - "не равно", G - "больше", GE - "больше или равно";

A,B - некоторые величины, между которыми выполняется заданная операция сравнения;

C - метка оператора, на который передается транзакт, если результат операции сравнения величин A и B - "ложь" (если результат сравнения - "истина", то транзакт передается на оператор, следующий за оператором TEST).

11.10. Дополнительные средства сбора информации о модели

Система моделирования GPSS/PC автоматически собирает и выводит большой объем информации о результатах моделирования (см. раздел 11.7.2). Однако в языке GPSS/PC имеются разнообразные средства для получения дополнительной информации о модели. Простейшее из таких средств - сохраняемые величины, рассчитываемые в ходе работы модели. Для работы с ними предназначен оператор SAVEVALUE:

SAVEVALUE A,B

где A - имя сохраняемой величины (символьное или числовое) и (необязательно) знак + или -;

B - числовая величина, на которую изменяется значение сохраняемой величины.

Пример В первом из приведенных ниже операторов SAVEVALUE к сохраняемой величине VEL прибавляется число 8, во втором - вычитается число 2. В третьем операторе сохраняемой величине KOL присваивается значение 10.

SAVEVALUE VEL+,8

SAVEVALUE VEL-,2

SAVEVALUE KOL,10

На значения сохраняемых величин можно ссылаться в других операторах. Ссылка на сохраняемую величину имеет следующий вид: Xимя, если имя сохраняемой величины числовое, и X$имя, если оно символьное.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]