ИМЯ VARIABLE SNA(oper) SNA(oper).

(FVARIABLE)

где:

SNA - стандартные допустимые числовые атрибуты;

(орег) - арифметические и логические операции:

сложить (+); вычесть (-); разделить (/); разделить по модулю (@); скобки ( );

логическое "И"; логическое "или"; равенство (=); не равно; меньше (<); больше чем

или равно (>=); меньше чем или равно (<=); больше (>).

В табл. 1 представлены объекты GPSS, их блоки и служебные карты.

ФОРМАТЫ ОПЕРАТОРОВ GPSS/PC

Операторы GPSS/PC имеют следующий формат:

Метка__ Операция__Операнды; комментарии

Знак " " указывает пробел, знак ";" объявляет начало поля комментариев.

Метка, если она имеется, должна начинаться с первой колонки и содержать не более пяти алфавитно-цифровых символов, начинающихся с буквы.

Звездочка (*) в первой колонке означает строку комментариев.

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

Поле операндовотделяют от поля операции пробелом. Между операндами должны стоять запятые.

Пример: * FACILITY DESCRIPTION

FAC SEIZE I; CPU

ADVAN 10,5; MSEC

RELEASE I

.

.

.

MАС TRANSFER .3,FAC

Карты описания таблиц, функций, переменных и памятей должны иметь в поле метки число от 1 до 32767 (215 - 1) или предварительно определенный символ.

Примеры:

* ENTITIES DESCRIPTION

1 STORAGE 1280; MAIN

4 TABL M1,0,10,10

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

Константа -целое число от 1 до 32767(2*-1)или предварительно определенная последовательность символов.

СЧА $ coast-стандартный числовой атрибут, номер которого определяется константой const.

' coast-значение параметра, номер которого определяется константой canst

СЧА *СЧА2 $ coast- косвенная адресация с использованием стандартного числового атрибута 1 (СЧА1), номер которого задан значением стандартного числового атрибута * (СЧА2), определяемого константой const.

СЧА%СЧА $ coast- косвенная адресация через стандартные числовые атрибуты.

Примеры

1. XF*V$2 Содержимое полнословной ячейки, номер которой определяется значением

переменной 2.

2. FN*P$2 Значение функции.номер которой определяется содержимым параметра 1.

3. ХН$2 Содержимое полусловной ячейки номер два.

4. *TERM

Значение параметра, номер которого определен константой TERM. В описательной части программы значение константы TERM должно быть определено оператором EQU, например: TERM EQU 10, при этом *TERM означает содержимое десятого параметра.

Ниже дано полное описание форматов блоков, а также служебных и управляющих операторов GPSS/PC.

БЛОКИ

2.1.1. ADVANCE (ЗАДЕРЖАТЬ) ADVANCE -задерживает транзакт.

Формат: ADVA[NCE] А,В

А - среднее время задержки (константа, если В не задано);

В - разброс относительно среднего значения, должен быть меньше или равен А.

Блок ADVANCE моделирует временною задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, т время задержки является случайным числом, распределенным равномерно на интервале от (; + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.

Примеры:

1. ADVANCE 75 Транзакт будет оставаться в блоке ADVANCE в течение 75 единиц модельного времени.

2. ADVANCE 12,5 Транзакт будет оставаться в блоке от 7 до 17 единиц времени.

2. ADVANCE 5,FN$l Время задержки равно произведению значения функции FN$1 на число пять.

См.также: GENERATE

ASSEMBLE (СОЕДИНИТЬ)

ASSEMBLE- объединение транзактов, принадлежащих одному семейству (или ансамблю).

Формат: ASSE[MBLE] А

А - число объединяемых транзактов.

Первый транзакт семейства, достигнув блока ASSEMBLE, задерживается в нем до тех пор, пока остальные члены семейства не поступят в этот блок. Когда транзакты, число которых указано в поле А, поступят в этот блок, они будут удалены из модели, а первый прибывший транзакт продолжит движение.

Пример ASSEMBLE 3

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

См-также: GATHER MATCH SPLIT

ASSIGN (ПРИСВОИТЬ)

2.1.4.

ASSIGN - изменяет значение параметра транзакта.

Формат: ASSI[GN] А.В

А - номер изменяемого параметра (+, -);

В - новое значение параметра.

Если за полем А следует знак + или -, то значение поля В соответственно добавляется или вычитается из А. Если знаки - или + не указаны, то значение поля В становится текущим значением параметра.

Примеры

1. ASSIGN 2,8 Присваивает параметру 2 значение 8.

2. ASSIGN 3+,V$5 Добавляет значение переменной 5 к параметру 3.

См-также:

DECREMENT

INCREMENT

BUFFER (ВОЗОБНОВИТЬ ПРОСМОТР СПИСКА)

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

Формат: BUFF[ER]Не имеет операндов.

Останавливает процесс движения транзакта и заново начинает просмотр списка текущих событий. Не связан с временем задержки.

Пример

BUFFER Возобновляет просмотр списка текущих событий.

См.также: PRIORITY

Наши рекомендации