Рассмотрим модель одноканальной системы обслуживания:
В этом случае статистика по устройствам имеет такой вид:
Используем оператор EQU:
Теперь статистика по устройствам имеет такой вид:
Кроме рассмотренных выше, к операторам описания объектов относятся:
BVARIABLE – определяет булеву переменную;
FUNCTION – определяет функцию;
FVARIABLE – определяет действительную переменную c фиксированной точкой;
MATRIX – определяет матрицу;
QTABLE – определяет таблицу для очереди;
STORAGE – определяет МКУ;
TABLE – определяет таблицу;
VARIABLE – определяет переменную. Все эти операторы были рассмотрены ранее. Отметим только, что в GPSS World возможности работы c матрицами расширены (увеличена максимальная размерность матрицы c 2-х до 6). Поэтому оператор MATRIX имеет следующий формат:
NAME MATRlX A,B,C,|D],[E],[F|[,G]
Метка NAME определяет имя матрицы.
Операнд А не используется (оставлен для совместимости c предыдущими версиями GPSS). Все остальные операнды должны быть только положительными целыми числами и задают размерность матрицы по соответствующему измерению:
|
|
В – задает максимальное значение индекса для первой размерности;
C – задает максимальное значение элементов для второй размерности:
D – задает максимальное значение элементов для третьей размерности;
E – задает максимальное значение элементов для четвертой размерности:
F – задает максимальное значение элементов для пятой размерности;
G – задает максимальное значение элементов для шестой размерности.
Только к первым двум размерностям матрицы можно обращаться в блоке MSAVEVALUE. В этом случае все отсутствующие размерности предполагаются равными единице. Процедуры PLUS могут обращаться ко всем элементам любой матрицы. Если необходимо использовать матрицу размерностью больше, чем 2, надо создать одну или несколько процедур PLUS для обращения к ним. Матрица, определенная в операторе MATRIX, имеет глобальную область действия, т.е. доступна всем процедурам PLUS. Кроме того, может быть создана временная матрица c локальной областью действия (доступна только в процедуре PLUS, в которой она объявлена).
Матрицы никогда не удаляются из модели, однако, они могут быть переопределены другим оператором MATRIX.
Когда матрица создается впервые или когда используется команда CLEAR ON, всем элементам задаются значения 0. При необходимости можно использовать оператор INITIAL для задания элемента матрицы неопределенного состояния – UNSPECIFIED. Это полезно для сохранения результатов эксперимента. Когда такая матрица результатов передается библиотечной процедуре ANOVA, элементы UNSPECIFIED будут обработаны как отсутствующие данные, вместо нулевых значений.
|
|
Максимальный размер памяти, выделяемый для матриц, определяется в настройках параметров системы GPSS World.
Команда EXIT (ВЫХОД). Предназначен для завершения работы c системой GPSS World. Имеет следующий формат:
EXIT [А]
В результате выполнения команды EXIT система немедленно завершает работу. Операнд А является необязательным и используется для управления сохранением модели и результатов моделирования. Он может принимать следующие значения:
0 или не указан – в окне сообщений появляется запрос на сохранение для каждого вновь созданного или измененного в сеансе моделирования файла;
1 – все файлы сохраняются без запроса;
– 1 – не сохраняются никакие файлы.
Диалоговые команды GPSS World. Могут быть включены в модель или введены в диалоговом окне команд – Command (в этом случае они называются диалоговыми командами). Любая имитация связана очередью команд. После трансляции модели при моделировании все команды выстраиваются в очередь команд и выполняются одна за другой, пока этот процесс не будет приостановлен или пока не будут выполнены все команды.
Команды могут быть немедленными или поставленными в очередь. Немедленные команды, как HALT и SHOW, выполняются, как только они получены в процессе моделирования, другие команды ставятся в очередь. Они помещаются в конце списка команд, которые еще не были выполнены. Если при моделировании нет немедленных команд, то выполняется следующая команда из очереди команд. Если имитация выполняется и получена немедленная команда, то моделирование временно приостанавливается для выполнения немедленной команды.
Команда HALT – особый случай. Мало того, что она немедленная команда, но она также удаляет все оставшиеся команды из очереди команд. После выполнения команды HALT моделирование прекращается.
Обычно удобно поместить список часто используемых команд в текстовый файл. Тогда можно использовать команду INCLUDE (ВКЛЮЧИТЬ) для посылки объекту моделирования целой последовательности команд. Еще проще, можно загружать в функциональную клавишу команду INCLUDE и выполнять целый список команд одиночным нажатием соответствующей клавиши.
Команда CONDUCT (ПРОВЕСТИ) начинает эксперимент. Ее формат:
CONDUCT |A|
Операнд А задает имя вызываемой процедуры эксперимента, написанной на языке PLUS. Операндом может быть только имя PLUS-процедуры. Данный операнд является необязательным.
Команда CONDUCT – немедленная команда, которая может быть послана только приостановленному процессу моделирования.
Эта команда запускает эксперимент и передает параметры к предварительно организованному эксперименту на языке PLUS для объекта моделирования. Если при моделировании используется тол: ко одиночный эксперимент без параметров, операнд А не требуется.