Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Пучкова ( на печать).doc
Скачиваний:
32
Добавлен:
24.09.2019
Размер:
701.95 Кб
Скачать

Часы модельного времени

Реальные события происходят в течение некоторого периода времени, а в модели эти события происходят на фоне модельного времени. Интерпретатор автоматически обслуживает часы модельного времени.

В начале моделирования интерпретатор планирует появление первого транзакта. После этого часы модельного времени устанавливаются на значение времени, которое соответствует появлению первого транзакта в модели. Этот транзакт (или несколько транзактов, если они приходят в один и тот же момент времени) входит в модель. Далее он передвигается через все возможные блоки модели, которые ему встречаются. События, которые возникают вследствие перемещения транзакта через блоки, планируются на дальнейшие моменты времени, т.к. в отмеченный момент времени больше в системе ничего не происходит. Таким образом, смена модельного времени происходит от события к событию и т.д.

Особенности часов GPSS:

- Часы GPSS регистрируют целые значения. Для языка GPSS и С и могут регистрировать действительные значения для GPSS World.

- Единица модельного времени определятся разработчиком.

- Система GPSS является интерпретатором «следующего события», т.е. после того как модель скорректирована в данный момент дискретно изменяющегося времени, часы перемещаются к следующему моменту времени, на который запланированы следующие события.

Типы операторов

Операторы GPSS делятся на три типа:

  1. блоки;

  2. операторы описания данных;

3. команды GPSS.

В GPSS для ссылки на числа, блоки и объекты используются имена длиной до 250 символов, начинающихся с буквы.

Формат GPSS-блока:

[Номер строки] [<Метка>] <Операция> <Операнды>; <Комментарии>

Номер строки в GPSS World игнорируется.

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

Операция – название блока, т.е. глагол, отражающий его функциональное назначение.

Операнды – задают информацию специфичную для действия данного блока. В общем случае обозначаются символами: А, В, С, D, Е, F, G.

Блоки языка gpss

1. Внесение транзактов в модель. Формат блока:

generate [A], [B], [C], [D], [E]

А – среднее значение интеграла поступления числа СЧА (по умолчанию 0);

В – величина разброса возможных значений относительно среднего значения (СЧА по умолчанию 0);

С – смещение интегралов, т.е. момент времени, в который должен появиться первый транзакт;

D – ограничитель транзактов (по умолчанию ) указывает число транзактов, которые могут войти в модель через данный блок;

Е – уровень приоритета каждого из транзактов (по умолчанию 0, возможные значения 0 – 127).

Пример. Задание равномерного закона распределения

generate 6, 4

А = 6, В = 4

Интервал времени поступления является случайным числом со средним 6 и полем допуска 8, т.е. он может принимать значения {1, 2, 3, 4, 5, 6…10}

generate , , , 1

А = В = С = 0 – по умолчанию;

D = 1 – в любой момент времени входит один транзакт.

2. Удаление транзактов из модели

terminate [А]

А - величина уменьшения специального счетчика, называемого счетчиком завершения.

А задает величину, которая вычитается из счетчика каждый раз, когда транзакт входит в terminate. По умолчанию А=0. При А = 0 уменьшение счетчика завершения не происходит. Начальное значение счетчика устанавливается в начале моделирования и равно значению операнда команды Satrt A.

Моделирование заканчивается, когда значение счетчика становится равным 0 или отрицательному числу.

В модели может быть много блоков terminate, но счетчик завершения один со значением, указанным в команде start.

! Не путать ограничитель транзактов в блоке generate и счетчик завершения. Ограничитель задает число транзактов, которые войдут в модель, а счетчик - число транзактов, которые выйдут из модели (по окончанию моделирования транзакты могут оставаться в модели).