Каждый оператор относится к одному из четырёх типов:
- операторы-блоки (формируют логику модели),
- операторы определения объектов (описание параметров объектов),
- управляющие операторы (управление процессом моделирования),
- операторы-команды (управление интегрированной средой GPSS).
Операторы могут содержать операнды, которые уточняют и конкретизируют выполнение функции оператора.
Операторы GPSS/PC записываются и вводятся в ПК в следующем формате:
номер _ строки [имя] операция [операнды] [;комментарий]
Все операторы программы должны начинаться с номера _ строки - целого положительного числа от 1 до 9999999. После ввода операторов они располагаются в исходной программе в соответствии с нумерацией строк. Обычно нумерация производится с некоторым шагом, отличным от 1, чтобы иметь возможность добавления операторов в нужное место программы.
При вводе программы в интегрированной среде GPSS/PC размещение отдельных полей операторов с определенным количеством интервалов (пробелов) между ними производится автоматически.
|
|
В системе GPSS предоставляется возможность присвоить любому блоку символические имена. Они состоят из алфавитно-цифровых символов, причем их число не должно превышать пяти, к тому же первые три символа должны быть алфавитными.
Операторы могут содержать связанные с ними операнды, задающие информацию, специфичную для действия данного блока. Под значением операндов могут подразумеваться значения аргументов, используемых при обращениях к подпрограммам. Число операндов каждого блока зависит от типа блоков и не превышает 7. Операнды, в общем случае, обозначены символами A,B,C,D,E,F и G.
Рассмотрим основные операторы GPSS.
1. Создание транзактов (генерирование заявок):
GENERATE A, B, C, D, E
А – интервал (математическое ожидание) между поступлением транзактов; В – разброс (дисперсия) среднего значения между поступлениями транзактов; С - момент поступления первого транзакта в модель; D - число транзактов, которые должны быть созданы оператором; E - приоритет (по умолчанию 0 - самый низкий приоритет).
2. Присваивание и изменение значений параметров:
ASSIGN A, B, C
А - номер или имя параметра; В - значение, заносимое в А,
С - аналогично В в блоке GENERATE. Если в поле А после номера (имени) стоит знак + или -, то значение операнда В добавляется или вычитается из текущего содержимого параметра.
3. Запись текущего времени в заданный параметр транзакта:
MARK A
A - номер или имя параметра транзакта.
4. Изменение приоритета транзакта: