Стандартные числовые атрибуты и параметры транзактов
В предыдущих разделах для определения операндов блоков (кроме тех, которые задавались по умолчанию) использовались константы (числовые значения операндов указывались непосредственно в тексте программы). Существует также возможность определения значений операндов косвенным образом.
Источники косвенной спецификации значений всех операндов могут быть разделены на две категории - атрибуты системы и атрибуты транзактов. Атрибуты системы - это параметры, которые описывают состояние модели. Такие количественные показатели, как например, «текущее содержимое очереди» или «число единиц времени, в течение которых занят прибор» являются типичными системными атрибутами. Атрибуты, подобные указанным, автоматически поддерживаются интерпретатором micro?GPSS. Их называют стандартными числовыми атрибутами (СЧА). Их значения доступны пользователю. Доступ осуществляется при использовании специальных наименований этих атрибутов. При использовании этих наименований в качестве операндов, значениями последних становятся соответствующие текущие значения атрибутов.
В табл.4.1 приведены стандартные числовые атрибуты для приборов, МНУ и очередей. На все эти атрибуты можно ссылаться в процессе моделирования, используя их имена. Имя стандартного числового атрибута состоит из двух частей. Первая часть указывает групповое имя (то есть прибор, МНУ или очередь). Вторая часть идентифицирует конкретного члена группы (то есть какой именно прибор, какое МНУ, какая очередь).
Параметр транзакта - это СЧА , связанный с транзактом. У каждого транзакта может быть определенное число параметров. B micro-GPSS каждый транзакт может иметь до 12 параметров, которые обозначаются Р1, Р2,...Р12. В процессе перемещения транзакта по модели его параметры могут устанавливаться и модифицироваться в соответствии с заданной пользователем логикой. Эти значения можно использовать в качестве операндов блоков или аргументов функций. Могут быть указаны следующие особенности параметров транзактов :
1. Число параметров транзакта задается операндом F блока GENERATE, через который транзакт входит в модель.
2. Параметры не могут иметь символических имен, то есть, например, запись Р$КОВ недопустима.
3. Параметр транзакта имеет внутренний номер (неизвестный пользователю) в этом случае параметр транзакта записывается , например, как Р(3,2) и это значение хранится в так называемой матрице параметров. Запись Р(3,2) означает параметр Р2 для 3-го генерируемого транзакта. Когда транзакт входит в блок TERMINATE , значение внутреннего номера параметра теряется и это значение может использовать другой транзакт.
Таблица 4.1
Стандартные числовые атрибуты приборов, МНУ и очередей
Наименование |
Значение |
C1 |
Относительное время |
F$n |
Содержимое (емкость) прибора n |
FN$n |
Значение функции n |
N$n |
Число транзактов, вошедших в блок с адресом n |
Pj |
Значение j-го параметра (j = 1...12) |
PR |
Величина приоритета |
Q$n |
Длина очереди |
R$n |
Емкость незаполненной части МНУ n |
RNj |
Случайное число, сгенерированное j-м генератором случайных чисел (j = 1...8) |
S$n |
Емкость заполненной части МНУ n |
V$n |
Значение переменного выражения n |
W$n |
Число транзактов, входивших блок с адресом n |
X$n |
Сохраняемая величина (С-величина) |
1. Значение j по умолчанию равно 1.
2. n - символическое имя не более чем из пяти знаков (трех букв и двух букв или цифр).
3. Сохраняемая величина (далее просто С-величина) - это величина, не связанная ни с транзактом, ни с блоком, которая используется как обычная переменная, аналогичная переменным в языках программирования высокого уровня.