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



             

Объяснение рис. 13.6. Состояния цепей - часть 2


Поскольку интерпретатор располагает транзакты в ЦБС в соответствии с временем движения, транзакт 2 ставится следом за транзактом 1.

После чтения блока 9 TERMINATE стоит карта START. Читая эту карту, интерпретатор определяет значение ее операнда А и помещает копию этого значения в счетчик завершений. Фаза ввода для нас закончена. Проверка цепи будущих событий в заключение фазы ввода (строка 2, рис. 13.6) показывает, что в ней находятся два транзакта, по одному для каждого из блоков GENERATE в модели. Транзакт 1 изображает первого клиента, идущего в парикмахерскую. Он появится в парикмахерской в момент модельного времени, равный 14. Планируемый вход транзакта 1 в блок 1 аналогичен приходу клиента к двери парикмахерской.

Транзакт 2 символизирует собой таймер, направляющийся в модель для того, чтобы завершить моделирование. Когда таймер модельного времени достигнет значения 480, транзакт-таймер, наконец, придет и, войдя в блок TERMINATE (блок 9), вызовет завершение моделирования. Напомним, что в качестве третьего элемента выступает номер блока, в котором находится транзакт. Но транзакты 1 и 2 не входят ни в один из блоков модели. Они еще находятся на пути в модель, поэтому на месте номера блока стоит слово "НЕТ".

Блок-схема на рис.13.7 описывает рассмотренные нами особенности фазы ввода. Вся логика работы интерпретатора на фазе ввода, представленная в блок-схеме, хорошо понятна из приведенного выше описания.


Рис. 13.7.

Как показано на рис.13.7, когда фаза ввода завершается интерпретатор переходит к фазе коррекции таймера. После первой коррекции выполняется первый раз фаза просмотра. Затем фаза коррекции таймера выполняется второй раз, фаза просмотра выполняется второй раз и т.д.

Первое выполнение корректировки таймера (от строки 2 к строке 3). Интерпретатор устанавливает таймер в значение 14 - значение времени движения транзакта (транзакт 1), находящегося в начале цепи будущих событий в строке 2. Затем он перемещает транзакт 1 в пустую прежде цепь текущих событий.


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