logo
Обработка данных / Томашевский_Имитационное моделирование в среде GPSS_2003

4.6. Элементы, отображающие одноканальные обслуживающие устройства

Рассмотрим элементы, которые используются для представле­ния обслуживания. Аналогами обслуживающих элементов могут быть люди, механизмы, линии связи и другие объекты реальных систем. В GPSSтакие объекты моделируютсяcпомощью устройств, МКУ, логических ключей.

Устройство характеризируется двумя основными свойствами:

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

1) либо подождать своей очереди,

2) либо направиться в другое место,

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

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

Всем устройствам необходимо задавать имена. Они могут быть или числовыми (числа должны быть положительными целыми), или символьными. Во время трансляции символьным именам сам транслятор присваивает числовые значения.

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

Первый шаг. Ждать своей очереди, если это необходимо. Ожи­дание длится в течение некоторого интервала времени.

Второй шаг. Когда подходит очередь, занять устройство. Собы­тие «занятие устройства» происходит в некоторый момент модельно­го времени.

Третий шаг. Устройство находится в состоянии занятости до тех пор, пока не закончится обслуживание. Для обслуживания необ­ходим некоторый интервал времени.

Четвертый шаг. Когда обслуживание закончится, освободить устройство. Событие «освобождение устройства» происходит в неко­торый момент модельного времени.

Эта последовательность шагов выполняется GPSSпри модели­ровании использования устройства. Второй и четвертый шаги реали-5уются блокамиSEIZE (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ).

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

SEIZE A

Таблица 4.3

Операнд

Значение

Результат по умолчанию

А

Имя (символьное или число­вое) занимаемого устройства

Ошибка

Этот блок имеет следующие свойства:

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

2. Если устройство свободно, транзакт может войти в блок. Вход транзакта в блок вызывает выполнение подпрограммы обработ­ки этого блока. Состояние устройства изменяется со СВОБОДНОЕ на ЗАНЯТОЕ.

Предварительного объявления устройства в модели не требует­ся, так как тот факт, что блок SElZE используется, свидетельствует о существовании данного устройства.

Предназначением блока RELEASE является изменение состоя­ния ранее занятого устройстваcЗАНЯТОГО на СВОБОДНОЕ. БлокRELEASEникогда не запрещает вход транзакта.

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

RELEASE А

Таблица 4.4

Операнд

Значение

Результат по умолчанию

А

Имя (символьное или числовое) освобождаемого устрой­ства

Ошибка

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

Статистическая информация о работе устройства при моделиро­вании собирается автоматически.

Если в модели используются объекты типа «устройство», то в файле стандартной статистики будет представлена информация об использованных устройствах.

Таблица 4.5

FACILITY

Номер или имя устрой­ства

ENTRIES

Количество входов

UTIL

Коэффициент использования

AVE, TIME

Среднее время пребывания транзакта в устройстве

AVAIL.

Состояние готовности

1

50

0,07

74,06

2

51

0,10

100,29

OWNER

Номер последнего транзакта, занявшего устройство

PEND

Количество прерванных в устройстве транзактов

INTER

Количество прерывающих устройство транзактов

RETRY

Количество транзактов, ожидающих специальных ус­ловий

DELAY

Количество транзактов, ожидающих за­нятия устрой­ства

Статистику работы устройств в процессе моделирования можно наблюдать в окне устройств для GPSS/PC(перейдя в это окноcпо­мощью клавиш [ALT+F]) или в окнеFacilitiesWindowдляGPSSWorld.

1. После блока SEIZE может сразу же следовать другой блокSEIZE, если транзакт должен одновременно занять два или более устройств (например, рабочего и инструмент).

2. Транзакт не может освободить устройство, которое он занимал.