Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
43
Добавлен:
14.05.2015
Размер:
264.89 Кб
Скачать

Основной алгоритм работы интерпретатора.

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

Для создания временной последовательности событий, интерпретатор использует таймер модельного времени.

Последовательность событий интерпретатор определяет, используя списки (цепи) событий

Список текущих событий - (CEC - Chain of Current Events) транзакты, планируемое время продвижения которых равно или меньше текущего модельного времени (к последним относятся транзакты, движение которых было заблокировано ранее). Этот список организуется в порядке убывания приоритетов транзактов, а в пределах каждого уровня приоритета - в порядке поступления транзактов

Список будущих событий - (FEC - Chain of Future Events) транзакты, планируемое время продвижения которых больше текущего времени, Этот список организуется в порядке возрастания планируемого времени продвижения транзактов

Список задержки

Другие

«Активный» транзакт перемещается от блока к блоку по маршруту, предписанному в модели.

В тот момент, когда транзакт входит в некоторый блок, на исполнение вызывается подпрограмма интерпретатора, соответствующая типу этого блока, а после ее выполнения транзакт «пытается» войти в следующий блок.

Такое продвижение транзакта продолжается до тех пор, пока не произойдет одно из следующих возможных событий:

1)транзакт входит в блок, функцией которого является удаление транзакта из модели;

2)транзакт входит в блок, функцией которого является задержка транзакта на некоторое определенное в модели время;

3)транзакт "пытается" войти в следующий блок, однако блок "отказывается" принять его. В этом случае транзакт остается в том блоке, где находился, и позднее будет повторять свою попытку войти в следующий блок.

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

Системные числовые атрибуты

В GPSS имеются системные переменные, значениями которых являются числовые характеристики состояния модели и ее элементов. В том числе:

С1 – текущее системное время, отсчет которого начинается с момента запуска модели;

M1 – время нахождения текущего транзакта в системе, отсчет которого начинается с момента генерации этого транзакта;

PR – приоритет текущего транзакта.

Приоритет транзакта

Задается оператором GENERATE

Может быть изменен оператором PRIORITY

PRIORITY K

K Устанавливаемый приоритет (0 – 127)

Занятие и освобождение многоканального устройства

Для моделирования работы многоканальных устройств (МКУ) в GPSS используется объект, описываемый оператором STORAGE.

имя STORAGE A o имя - имя МКУ

o A – емкость (количество каналов обслуживания) МКУ.

Для занятия и освобождения каналов обслуживания МКУ используется пара операторов ENTER и LEAVE

ENTER имя[,B]

LEAVE имя[,B]

B - количество занимаемых/освобождаемых каналов (единиц емкости, по умолчанию 1)

Соседние файлы в папке Моделирование систем