Стандартными числовыми атрибутами (СЧА) называются атрибуты объектов, значения которых может использовать и изменять программист.
СЧА определяется следующим образом:
СЧА::= <прямая адресация> | <косвенная адресация>
прямая адресация::=
<мнемоническое обозначение типа элемента> <номер элемента> |
< мнемоническое обозначение типа элемента> $ <имя элемента>
косвенная адресация::= <мнемоническое обозначение типа элемента> * <номер параметра транзакта>
мнемоническое обозначение типа элемента::= F | Q | S | FN | …
номер параметра транзакта::= 1 | 2 | 3 | … | 100
Если объект идентифицирован с помощью номера, то ссылка на его СЧА записывается как CЧAj, где j – номер объекта (целое число). При символической идентификации объекта ссылка на его СЧА записывается как СЧА$<имя>.
Пример использования СЧА:
FN1 – прямая адресация объекта «функция» с помошью номера, обращение к данному СЧА позволяет получить значение функции с номером 1;
FN$PUASS – прямая адресация объекта «функция» с помошью имени, обращение к данному СЧА позволяет получить значение функции с именем PUASS;
FN*1 – косвенная адресация объекта «функция», обращение к данному СЧА позволяет получить значение функции, номер которой определяется содержимым 1-го параметра транзакта, поступающего в блок, в поле операндов которого используется обращение к функции.
Каждый объект GPSS имеет свой набор СЧА (Таблица 2). Кроме СЧА объектов, существуют системные СЧА (Таблица 3), к которым программист может обращаться в модели, но не может изменять их значение.
Таблица 2 – Стандартные числовые атрибуты объектов GPSS
Группы объектов | Типы объектов | СЧА | |
Мнемоническое обозначение | Содержание | ||
Основные объекты | Транзакт | Pj | Значение параметра j текущего транзакта |
MPj | Значение времени, равное разности абсолютного модельного времени и содержимого j-го параметра текущего транзакта | ||
Блок | Nj | Общее число входов транзактов в j-й блок | |
Wj | Текущее число транзактов, которые находятся в блоке j | ||
Объекты, имитирующие оборудование | Многоканальное устройство (накопитель) | Sj | Текущее содержимое многоканального устройства j |
Rj | Число свободных единиц многоканального устройства j | ||
SRj | Коэффициент использования многоканального устройства j в тысячных долях | ||
SAj | Среднее содержимое многоканального устройства j (целая часть) | ||
SMj | Максимальное содержимое многоканального устройства j | ||
SCj | Общее число входов в многоканальное устройство j | ||
STj | Среднее время пребывания транзактов в многоканальном устройстве j | ||
SEj | Признак пустоты многоканального устройства j: 1 – пусто | ||
SFj | Признак заполнения памяти j: 1- заполнена | ||
SVj | Признак доступности памяти j: 1- доступна | ||
Одноканальное устройство | Fj | Текущее состояние устройства j: 0 – устройство свободно | |
FIj | Признак прерывания устройства j: 1 – устройство находится в состоянии прерывания | ||
FVj | Признак доступности устройства j: 1 – доступно | ||
FRj | Коэффициент использования устройства j в тысячных долях | ||
FCj | Общее число входов в устройство j | ||
FTj | Среднее время использования устройства одним транзактом | ||
Логический ключ | LSj | Состояние логического ключа: 1 - установлен | |
Вычислительные объекты | Функция | FNj | Вычисленное значение функции j. От значения функции берется целая часть, за исключением использования в качестве модификатора в блоках GENERATE, ADVANCE или ASSIGN или в качестве аргумента другой функции |
Переменная | Vj | Вычисленное значение переменной j. При вычислении значения переменной с фиксированной точкой получается целое число. При вычислении значения переменной с плавающей точкой дробная часть результата отбрасывается | |
BVj | Вычисленное значение (1 или 0) булевской переменной | ||
Статистические объекты | Очередь | Qj | Длина очереди j |
QAj | Средняя длина очереди j | ||
QMj | Максимальная длина очереди j | ||
QCj | Общее число входов в очередь j | ||
QZj | Число нулевых входов в очередь j | ||
QTj | Среднее время пребывания транзакта в очереди j (включая нулевые входы) | ||
QXj | Среднее время пребывания транзакта в очереди j (без нулевых входов) | ||
Таблица | TBj | Вычисленное среднее значение таблицы j | |
TCj | Общее число включений в таблицу j | ||
TDj | Содержимое ячейки j | ||
Сохраняемые объекты | Ячейка сохраняемых величин | Xj | Содержимое ячейки j |
Матрица ячеек сохраняемых величин | MXj (a, b) | Содержимое элемента матрицы ячеек j, расположенного в строке a, столбце b | |
Списковые объекты | Списки пользователя | CHj | Текущее число транзактов в j–м списке пользователя |
CAj | Среднее число транзактов в j–м списке пользователя | ||
CNj | Максимальное число транзактов в j–м списке пользователя | ||
CCj | Общее число транзактов в j–м списке пользователя | ||
CTj | Среднее время пребывания транзакта в j–м списке пользователя |
|
|
Таблица 3 – Системные стандартные числовые атрибуты