Пример 4. 64 release device

Mechanic EQU 1

Mechanic STORAGE 100

В СЧА и операндах блоков этого МКУ теперь может использо­ваться число 1 или имя Mechanic.

Пример 4.65

Рассмотрим модель одноканальной системы обслуживания:

GENERATE 30,6

SEIZE DEVICE

ADVANCE 25,4

RELEASE DEVICE

TERMINATE

GENERATE 24000

TERMINATE 1

START 1

В этом случае статистика по устройствам имеет такой вид:

FACILITY ENTRIES UTIL AVE.TIME AVAIL. OWNER PEND INTER RETRY DELAY

DEVICE 802 0.830 24.86 1 803 0 0 0 0

Используем оператор EQU:

GENERATE 30,6

SEIZE DEVICE

ADVANCE 25,4

RELEASE DEVICE

TERMINATE

GENERATE 24000

TERMINATE 1

DEVICE EQU 1

START 1

Теперь статистика по устройствам имеет такой вид:

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 802 0.830 24.86 1 803 0 0 0 0

Кроме рассмотренных выше, к операторам описания объектов относятся:

ВVARIABLE - определяет булеву переменную;

FUNCTION - определяет функцию;

FVARIABLE - определяет действительную переменную с фик­сированной точкой;

MATRIX - определяет матрицу;

QTABLE - определяет таблицу для очереди;

STORAGE - определяет МКУ;

TABLE - определяет таблицу;

VARIABLE - определяет переменную.

Все эти операторы были рассмотрены ранее. Отметим только что в GPSS World возможности работы с матрицами расширены (уве-личена максимальная размерность матрицы с 2-х до 6). Поэтому оператор MATRIX имеет следующий формат:

NAME MATRIX A,B,C,[D],[E],[F][,G]

Метка NAME определяет имя матрицы.

Операнд А не используется (оставлен для совместимости с предыдущими версиями GPSS). Все остальные операнды должны быть только положительными целыми числами и задают размерность мат­рицы по соответствующему измерению:

В - задает максимальное значение индекса для первой размерности;

С - задает максимальное значение элементов для второй раз­мерности:

D - задает максимальное значение элементов для третьей раз­мерности;

Е - задает максимальное значение элементов для четвертой раз­мерности;

F - задает максимальное значение элементов для пятой размер­ности;

G - задает максимальное значение элементов для шестой раз­мерности.

Только к первым двум размерностям матрицы можно обращать­ся в блоке MSAVEVALUE. В этом случае все отсутствующие раз­мерности предполагаются равными единице. Процедуры PLUS могут обращаться ко всем элементам любой матрицы. Если необходимо ис­пользовать матрицу размерностью больше, чем 2, надо создать одну или несколько процедур PLUS для обращения к ним. Матрица, опре­деленная в операторе MATRIX, имеет глобальную область действия, т.е. доступна всем процедурам PLUS. Кроме того, может быть созда­на временная матрица с локальной областью действия (доступна только в процедуре PLUS, в которой она объявлена).

Матрицы никогда не удаляются из модели, однако, они могут быть переопределены другим оператором MATRIX.

Когда матрица создается впервые или когда используется ко­манда CLEAR ON, всем элементам задаются значения 0. При необходимости можно использовать оператор INITIAL для задания элементамиматрицы неопределенного состояния - UNSPECIFIED. Это полезно для сохранения результатов эксперимента. Когда такая матрица результатов передается библиотечной процедуре ANOVA, эле­менты UNSPECIFIED будут обработаны как отсутствующие данные, вместо нулевых значений.

Максимальный размер памяти, выделяемый для матриц, опреде­ляется в настройках параметров системы GPSS World.

Команда EXIT (ВЫХОД). Предназначен для завершения рабо­ты с системой GPSS World. Имеет следующий формат:

EXIT [A]

В результате выполнения команды EXIT система немедленно завершает работу. Операнд А является необязательным и использует­ся для управления сохранением модели и результатов моделирования. Он может принимать следующие значения:

0 или не указан - в окне сообщений появляется запрос на сохра­нение для каждого вновь созданного или измененного в сеансе моде­лирования файла;

1 - все файлы сохраняются без запроса;

-1 - не сохраняются никакие файлы.

Диалоговые команды GPSS World. Могут быть включены в модель или введены в диалоговом окне команд - Command (в этом случае они называются диалоговыми командами). Любая имитация связана очередью команд. После трансляции модели при моделиро­вании все команды выстраиваются в очередь команд и выполняются одна за другой, пока этот процесс не будет приостановлен или пока не будут выполнены все команды.

Команды могут быть немедленными или поставленными в очередь. Немедленные команды, как HALT и SHOW, выполняются, как только они получены в процессе моделирования, другие команды ставятся в очередь. Они помещаются в конце списка команд, которые еще не были выполнены. Если при моделировании нет немедленных команд, то выполняется следующая команда из очереди команд. Если Имитация выполняется и получена немедленная команда, то модели­рование временно приостанавливается для выполнения немедленной команды.

Команда HALT - особый случай. Мало того, что она немедленная команда, но она также удаляет все оставшиеся команды из очереди команд. После выполнения команды HALT моделирование прекращается.

Обычно удобно поместить список часто используемых команд в текстовый файл. Тогда можно использовать команду INCLUDE (ВКЛЮЧИТЬ) для посылки объекту моделирования целой последовательности команд. Еще проще, можно загружать в функциональ­ную клавишу команду INCLUDE и выполнять целый список команд одиночным нажатием соответствующей клавиши.

Команда CONDUCT (ПРОВЕСТИ) начинает эксперимент. Ее формат:

CONDUCT [A)

Операнд А задает имя вызываемой процедуры эксперимента, написанной на языке PLUS. Операндом может быть только имя PLUS-процедуры. Данный операнд является необязательным.

Команда CONDUCT - немедленная команда, которая может быть послана только приостановленному процессу моделирования.

Эта команда запускает эксперимент и передает параметры к предварительно организованному эксперименту на языке PLUS для объекта моделирования. Если при моделировании используется толь­ко одиночный эксперимент без параметров, операнд А не требуется.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: