2.2.1. Операторы описания блоков

В исходном тексте модели блоки описываются спомощью операторов описания блоков. Каждому блоку соответствует определенный оператор описания блока. При обработке исходного текста модели ассемблер GPSS/PC присваивает последовательные номера блокам. Таким образом, скаждымблоком будет связан идентифицирующий номер. Если в модели к какому-либо блоку происходит обращение, то во избежание работы с номерами блоков можно идентифицировать его меткой (совокупностью алфавитно-цифровых символов), а ассемблер данной метке поставит в соответствие номер. В дальнейшем к данному блоку можно будет обращаться по метке.

Вполе операции пользователь   должен записать обозначение блока, например,

GENERATE, ASSIGN, MSAVEVALUE, TERMINATE, SPLIT, PRIORITY, ENTER. Задание

исходных данных, необходимых для выполнения операций, соответствующих блоку, производится вполеоперандов. Всего может быть семь операндов, эти операнды обозначаются буквами A,B,C,D ит.д. Значение каждого операнда определяется типом блока. Если ублока несколько операндов, они разделяются запятыми. Не все операнды являются обязательными, и если они опущены, то вместо пропущенного операнда ставится запятая.

Ниже приводится список блоков GPSS/PC идается их краткая характеристика: ADVANCE - задержка сообщения на определенное время, свключением его в список будущих событий;

ALTER - проверка и модификация сообщений в группе;

ASSEMBLE - вывод из модели одного  или нескольких сообщений; ASSIGN -

модификация параметров сообщений; BUFFER - размещение сообщения всписке текущих событий последним в своем приоритетном уровне;

COUNT - подсчет числа элементов заданного множества, удовлетворяющих указанному условию;

DEPART - вывод сообщения из очереди;

ENTER - захват сообщением всего или части многоканального устройства; EXAMINE - влияние на продвижение сообщения вследующий блок в зависимости от принадлежности сообщения к некоторому объединению;

EXECUTE - принудительная обработка сообщения некоторым блоком

модели;

FAVAIL - смена состояния устройства на "готово к использованию"; FUNAVAIL - смена состояние устройства на "не готово киспользованию"; GATE - проверка состояния объекта модели и изменение    направления движения потока сообщений;

GATER - накопление нескольких связанных друг с другом сообщений( ансамбль сообщений);

GENERATE - создание сообщения и размещение его всписке будущих событий; HELP - выполнение подпрограммы на Фортране или Ассемблере; INDEX - изменение параметров сообщения;

JOIN - размещение члена в числовой группе или в группе сообщений; LEAVE - освобождение всего или части многоканального устройства; LINK - пересылка сообщения всписокпользователя ; LOGIC - модификация логического ключа;

LOOP - организация цикла с уменьшением значения параметра сообщения; MARK - сохранение значения системного времени в параметре сообщения; MATCH - ожидание сообщением связанных сним сообщений вдругих блоках модели(синхронизация сообщений);

MOVE - активизация перемещения сообщения по позициям; MSAVEVALUE - присваивание значений элементам матриц;

PREEMPT - прерывание обработки обрабатываемого устройством сообщения и захват устройста активным сообщением;

PRIORITY - изменение приоритета сообщения;

QUEUE - включение сообщения в очередь;

RELEASE - освобождение сообщением устройства;

REMOVE - удаление члена из числовой группы или группы сообщений;

RETURN - освобождение захваченного устройства;

SAVAIL - изменение состояния многоканального устройства на "готово к использованию";

SAVEVALUE - присваивание значений ячейки сохраняемых величин; SCAN -просмотр членов группы до выполнения некоторого условия;

SEIZE - занятие устройства или ожидание его освобождения    для последующего

занятия;

SELECT - выбор блока для дальнейшего продвижения сообщения с использованием значения параметра сообщения;

SPLIT - создание копии сообщения с адресацией ее в некоторый блок;

SUNAVAIL - изменение состояния многоканального устройства на "не готово к использованию";

TABULATE - обновление данных таблицы;

TERMINATE   -  уничтожение   сообщения,   уменьшение   счетчика завершенных сообщений;

TEST - проверка арифметических условий и модификация   направления движения потока сообщений;

TRACE - установка флага трассировки для активного сообщения; TRANSFER -пересылка сообщения на указанный блок; UNLINK - вывод сообщения из списка пользователя ; UNTRACE - сброс флага трассировки для активного сообщения.