Краткое практическое руководство по GPSS



Использование операнда В в блоках QUEUE и DЕРАRТ.


В блоках QUEUE и DEРАRТ существует возможность использования операнда В. На рис. 8.3 повторен рис. 8.1, но с использованием операнда В. Операнд В указывает на какую величину должен быть модифицирован счетчик содержимого очереди. По умолчанию для этого операнда подразумевается значение 1.


Рис.8.3. Блоки QUEUE и DEPART с операндами А и В:

Блоки QUEUE и DEPART с операндами А и В:
ОперандЗначениеЗначение или результат по умолчанию
АИмя (символическое или числовое) очередиОшибка
ВЧисло элементов, на которое должно измениться значение счетчика содеожимого очередиЕденица

На рис.8.2 именно это значение и используется. Лучше всего проследить влияние операнда В при рассмотрении поведения интерпретатора во время выполнения подпрограмм блоков QUEUE и DЕРАRТ. При выполнении подпрограммы QUEUE происходит следующее:

  1. Увеличивается значение счетчика входов сооветствующей очереди на число, равное значению операнда В.
  2. Увеличивается значение счетчика содержимого очереди на число, равное значению операнда В.
  3. Транзакту приписывается имя очереди.
  4. Транзакту приписывается текущее значение модельного времени.
Пп. 3 и 4 были пояснены ранее. Пп. 1 и 2 показывают влияние использования операнда В на значение содержимого очереди. Очевидно, что если в блоке QUEUE использован операнд В, отличный от 1, то значение счетчика входов не будет равно числу транзактов, вошедших в этот блок. Подобным образом, содержимое очереди не будет совпадать с числом транзактов, которые привязаны к данной очереди. Например, когда транзакт переходит в блок "QUEUE LINE,2", то и счетчик входов и счетчик содержимого очереди, названной LINЕ, увеличивается на 2, но суммарное число транзактов, присоединившихся к очереди, увеличивается только на 1,и число транзактов, находящихся в очереди, также увеличивается на 1.

Рассмотрим теперь выполнение подпрограммы DЕРАRТ.

  1. Значение счетчика содержимого очереди уменьшается на число, определяемое операндом В.
  2. Используя значение времени, приписанное транзакту при вхождении в блок QUEUE, определяют, является ли данный транзакт транзактом с нулевым вхождением.


    Содержание  Назад  Вперед