ИМЯ 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