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

         

"Логика работы интерпретатора"


В предыдущих параграфах мы описали операции, выполняемые интерпретатором. Это описание, тем не менее, не является достаточным. Например, нами был рассмотрен вопрос о движении транзактов от блока к блоку. Все еще не ясно, какой транзакт интерпретатор выберет следующим для продвижения в модели, когда другой транзакт прекратил двигаться, или в чем заключается cyть дисциплины обслуживания очереди "первым пришел - первым обслужен внутри одного приоритетного класса". На эти вопросы можно будет дать удовлетворительный ответ только после того, как будет рассмотрена логика, на которой основана работа интерпретатора.

В основном логика работы интерпретатора становится понятной из рассмотрения механизма отслеживания пути транзактов, движущихся в модели. Интерпретатор рассматривает каждый транзакт как элемент одной или нескольких цепей. Каждый транзакт может быть представлен как звено в цепи. Цепи являются открытыми, а не замкнутыми, следовательно, они имеют два конца, начальный и конечный. В качестве элемента цепи транзакт занимает определенное положение относительно начала цепи. Положение транзакта в цепи тесно связано с тем, как скоро транзакт должен снова вернуться в модель для продолжения движения. Последовательность обработки, в свою очередь, тесно связана с временем возникновений событий при выполнении моделирования.

Существуют цепи:

  • текущих событий;
  • будущих событий;
  • пользователя;
  • прерывания;
  • парности.

    Имеется только одна цепь текущих и одна цепь будущих событий. В общем случае может существовать более чем одна цепь пользователя, цепь прерывания и цепь парности.

    Изучение цепей текущих и будущих событий мы начнем здесь и далее будем продолжать его.

    Цепь текущих событий состоит из тех транзактов, для которых планируется их продвижение в одном или нескольких блоках в течение текущего значения модельного времени или в течение ближайшего времени. В цепь текущих событий входят те транзакты, движение которых заблокировано ввиду текущих условий в модели. (По желанию пользователя транзакты могут быть перенесены из цепи текущих событий в цепь пользователя.
    Это можно сделать для уменьшения времени моделирования, использования нетипичной дисциплины обслуживания или для того и другого.Например,транзакт может быть временно заблокирован ввиду планирования его входа в блок SEIZE, когда требуемый прибор находится в состоянии "занято". Цепь будущих событий состоит из таких транзактов, движение которых не планируется до наступления некоторого времени в будущем. Описанные действия интерпретатора сведены в блок-схемы рис.12.1 и 12.2. Далее будут описаны эти фазы и объяснено, как действует интерпретатор. Рис.12.1. Фаза коррекции таймера модельного времени интерпретатора GPSS.

    Рис.12.2. Фаза просмотра интерпретатора GPSS.
    Главная Содержание главы 1


    Содержание раздела