Использование операнда В в блоках QUEUE и DЕРАRТ.
В блоках
QUEUE и
DEРАRТ существует возможность использования операнда В. На рис. 8.3 повторен рис. 8.1, но с использованием операнда В. Операнд В указывает на какую величину должен быть модифицирован счетчик содержимого очереди. По умолчанию для этого операнда подразумевается значение 1.
Рис.8.3. Блоки
QUEUE и
DEPART с операндами А и В:
Блоки QUEUE и DEPART с операндами А и В:
Операнд | Значение | Значение или результат по умолчанию |
А | Имя (символическое или числовое) очереди | Ошибка |
В | Число элементов, на которое должно измениться значение счетчика содеожимого очереди | Еденица |
На рис.8.2 именно это значение и используется. Лучше всего проследить влияние операнда В при рассмотрении поведения интерпретатора во время выполнения подпрограмм блоков QUEUE и DЕРАRТ. При выполнении подпрограммы QUEUE происходит следующее:
- Увеличивается значение счетчика входов сооветствующей очереди на число, равное значению операнда В.
- Увеличивается значение счетчика содержимого очереди на число, равное значению операнда В.
- Транзакту приписывается имя очереди.
- Транзакту приписывается текущее значение модельного времени.
Пп. 3 и 4 были пояснены ранее. Пп. 1 и 2 показывают влияние использования операнда В на значение содержимого очереди. Очевидно, что если в блоке
QUEUE использован операнд В, отличный от 1, то значение счетчика входов не будет равно числу транзактов, вошедших в этот блок. Подобным образом, содержимое очереди не будет совпадать с числом транзактов, которые привязаны к данной очереди. Например, когда транзакт переходит в блок
"QUEUE LINE,2", то и счетчик входов и счетчик содержимого очереди, названной
LINЕ, увеличивается на 2, но суммарное число транзактов, присоединившихся к очереди, увеличивается только на 1,и число транзактов, находящихся в очереди, также увеличивается на 1.
Рассмотрим теперь выполнение подпрограммы DЕРАRТ.
- Значение счетчика содержимого очереди уменьшается на число, определяемое операндом В.
- Используя значение времени, приписанное транзакту при вхождении в блок QUEUE, определяют, является ли данный транзакт транзактом с нулевым вхождением.
Содержание Назад Вперед