Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Opisanie_yazyka_GPSS_World.rtf
Скачиваний:
44
Добавлен:
16.03.2015
Размер:
1.52 Mб
Скачать

2.1.2.2 Блок уничтожения транзактаTerminate

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

TERMINATE<A>

Транзакты, попадающие в этот блок, выводятся из модели и больше не участвуют в процессе моделирования. В поле операнда <A> записывается либо целое число, либо ничего. Каждый раз, когда транзакт входит в блок TERMINATE, целое число, стоящее в поле операнда <A> вычитается из счетчика завершений, который устанавливается управляющей командойSTART. Как только значение счетчика завершений обнулится, моделирование закончится. Например, конструкция

TERMINATE1

START100

обеспечивает такую длительность моделирования, при которой через программу модели пропускается 100 транзактов.

Если в поле операнда <A> ничего не указано, счетчик завершений не уменьшается и моделирование продолжается бесконечно.

2.1.2.3 Блок задержки движения транзактаAdvance

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

ADVANCE<A>,<B>

Задержка движения транзакта во времени имитируется при попадании транзакта в блок ADVANCE, для которого в полях операндов <A> и <B> указываются соответственно среднее время задержки и модификатор времени, использование которого аналогично блокуGENERATE. Например,

ADVANCE9, 2

ADVANCE2,FN$EXPON

2.1.3 Управление продолжительностью моделирования. Организация таймеров

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

  1. Определить в управляющей команде STARTколичество транзактов, которые необходимо обработать в модели (этот способ используется для простых моделей, содержащих единственный процесс):

GENERATE…

<программа модели>

TERMINATE 1

START 100

  1. С помощью процесса-таймераопределить отрезок модельного времени, в течение которого должно осуществляться моделирование. Процесс-таймер должен быть единственным на всю модель, поэтому только в нем в блокеTERMINATEзадается непустое поле операнда <A>. Во всех остальных процессах поле операнда <A> в блокеTERMINATEдолжно быть пустым:

; 1-й процесс

GENERATE…

<программа модели>

TERMINATE

; n-й процесс

GENERATE…

<программа модели>

TERMINATE

; процесс-таймер

GENERATE,,,1

ADVANCE100

TERMINATE1

START1

Процесс-таймер реализуется транзактом, который вводится в модель в начале моделирования, задерживается на 100 единиц модельного времени, затем выводится из модели, что приводит к завершению всех процессов модели.

    1. Группа элементов, имитирующих оборудование

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

2.2.1 Одноканальное устройство

Одноканальное устройство (далее: устройство) используется для имитации любого элемента системы, функционирование которого во времени можно представить сменой двух состояний: «свободно» и «занято». Устройство характеризуется следующими свойствами:

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

  • новый транзакт должен подождать своей очереди;

  • новый транзакт должен направиться в другое место;

  • если вновь пришедший транзакт имеет больший приоритет, устройство прерывает текущее обслуживание и начинает обслуживать новый транзакт.

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

  • занять устройство – блок SEIZE,

  • освободить устройство – блок RELEASE,

  • прервать обслуживание на устройстве – блок PREEMPT,

  • снять прерывание – блок RETURN.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]