Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИМ_с_помощью_GPSS.doc
Скачиваний:
7
Добавлен:
03.05.2019
Размер:
1.36 Mб
Скачать

Queue a, b

Операнды:

  • А – имя или номер очереди. Обязательный операнд. Допустимые значения: Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

  • В – количество элементов, на которые увеличивается длина очереди. Значение по умолчанию – 1. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

Действие

Когда транзакт входит в блок QUEUE, операнд А вычисляется, округляется и используется в качестве номера очереди. Если необходимо, очередь создается. Операнд В определяет значение, которое используется для увеличения длины очереди. Если операнд В был задан, он вычисляется, округляется и используется в качестве инкремента. Если В не был задан, используется значе- ние 1.

В завершении обновляется накапливаемая по данной очереди статистика.

  1. Блок SEIZE. Когда активный транзакт пытается войти в блок SEIZE, он ожидает возможности занять или занимает устройство:

Seize a

Операнд:

  • А – имя или номер устройства. Обязательный операнд. Допустимые значения – Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

Действие

Блок дает возможность транзакту монопольно использовать канал обслуживания. Если канал обслуживания простаивает, транзакт немедленно приобретает монопольное использование его, и пытается ввести следующий блок. Если канал обслуживания уже занят, транзакт ожидает, исходя из своего приоритета.

  1. Блок DEPART регистрирует статистику при уменьшении содержимого очереди:

Depart а, в

Операнды:

  • А – имя или номер очереди. Обязательный операнд. Допустимые значения: Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

  • В – количество элементов, на которое уменьшается содержимое очереди. По умолчанию равно 1. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, String, ParenthesizedExpression, SNA или SNA'Parameter.

Действие

Когда транзакт входит в блок DEPART, операнд А вычисляется, округляется и используется для поиска очереди. Если необходимо, очередь создается. Если очередь создается, попытка уменьшить ее содержимое приведет к остановке по ошибке. Для интерактивного изменения содержимого очереди может использоваться режим ручного моделирования.

Операнд В определяет величину, на которую уменьшается содержимое очереди Если операнд В задан, он численно вычисляется, округляется и используется в качестве результата. Если операнд В не задан, величина уменьшения по умолчанию равна 1.

  1. Блок ADVANCE задерживает продвижение транзакта на заданный отрезок модельного времени:

Advance a, b

Операнды:

  • А – среднее значение приращения времени. Обязательный операнд. Допустимые значения: Name, Number, String, ParenthesizedExpression, SNA или SNA'Parameter.

  • В – временной полуинтервал или, если функция, модификатор функции. Необязательный операнд. Допустимые значения – Null, Name, Number, String, ParenthesizedExpression, SNA или SNA'Parameter.

Действие:

Блок ADVANCE вычисляет приращение времени и помещает входящий транзакт в список будущих событий на вычисленный отрезок модельного времени.

Приращение времени может вычисляться нескольким способами. Если определен только операнд А, он вычисляется и используется в качестве приращения времени. Если присутствуют операнды А и В, и В не определяет функцию, оба операнда численно вычисляются, в качестве приращения времени выбирается случайное число, лежащее в диапазоне от А – B до А + В включительно. Можно задать генератор случайных чисел, который должен использоваться в качестве источника.

  1. Блок RELEASE освобождает занятое устройство или исключает вытесненный транзакт из состязания за устройство: