Для накопления выборочных значений случайных величин и статистической обработки этих выборок используются GPSS-таблицы. В модели может быть несколько таблиц. Каждую таблицу нужно сначала определить. Для определения таблицы необходимо указать: имя таблицы (числовое или символьное); имя случайной переменной, значение которой будет табулироваться; число, являющееся первым граничным значением (значения выборки, меньшие или равные этому числу, попадают в самый левый (нижний) интервал (частотный класс) таблицы); ширину интервала, общую для всех интервалов таблицы за исключением левого (нижнего) и правого (верхнего); общее число интервалов таблицы, включая нижний и верхний. Формат оператора [4]:
имя таблицы TABLE А,В,С,D,
где А – элемент данных, значение которого учитывается в таблице, может быть именем, выражением в скобках или СЧА;
В – первое граничное значение (число);
С – ширина всех промежуточных интервалов (число);
D – общее число интервалов таблицы, включая левый и правый (целое положительное число).
Для сбора данных транзакт должен войти в блок TABULATE с тем же именем таблицы, которое определено в блоке TABLE. Блок помещается в ту точку модели, которая соответствует исследуемому объекту. Выборочные значения помещаются в таблицу в моменты вхождения транзактов в блок TABULATE. Его формат:
TABULATE A,[B]
где А – имя (символьное или числовое) таблицы, в которой табулируется соответствующий СЧА;
В – весовой коэффициент, задает число единиц, которые должны быть занесены в тот частотный интервал, куда попало значение аргумента. Если операнд В отсутствует, то по умолчанию эта величина равна 1. Операнды А и В могут быть именем, выражением в скобках, СЧА или СЧА*параметр. Кроме того, операнд А может быть только положительным целым числом, а операнд В — положительным числом.
В нескольких блоках TABULATE модели допускается использовать одну таблицу. СЧА, по которому собирается статистика, в блоке TABULATE не указывается, так как он уже записан в операторе TABLE.
Для сбора статистических данных об очередях используется оператор QTABLE. Его формат совпадает c форматом оператора TABLE, за исключением того, что операнд А задает имя очереди. При прохождении транзакта через блоки QUEUE и DEPART его время ожидания фиксируется, и к счетчику частотного интервала таблицы, в который попало это время, добавляется 1. Одновременно в таблице накапливается информация для вычисления среднего значения и среднеквадратического отклонения времени ожидания. Следует обратить внимание, что при использовании QTABLE информация в таблицу заносится автоматически при входе транзакта в блоки QUEUE и DEPART и никаких специальных мер, т. е. блока TABULATE, при этом не требуется. По окончании моделирования собранная в таблице информация выводится в стандартном отчете CPSS. [1]
Расшифровка файла стандартной статистики при использовании в модели блоков TABLE и QTABLE приведена в прил. 2.
Пример.
MVP TABLЕ M1,100,100,20 – в данной таблице фиксируется время нахождения транзакта в модели.
Таблица имеет следующие стандартные числовые атрибуты:
TB<номep таблицы>, ТВ$<имя таблицы> – вычисленное среднее значение соответствующего СЧА;
TC<номep таблицы>, ТС$<имя таблицы> – общее число входов в таблицу;
TD<номep таблицы>, ТD$<имя таблицы> – вычисленное среднеквадратическое отклонение соответствующего СЧА.
Пример. Протабулировать значения СЧА МР3.
TIMSRV TABLE MP3,10,5,6; оператор определения таблицы
GENERATE 100,15
…
MARK 3
…
TABULATE TIMSRV; оператор табулирования
…
В таблице TIMSRV будет табулироваться частотное распределение случайной величины – времени пребывания транзакта между блоками MARK и TABULATE. B табл. 1.11 приведены интервалы регистрации времени пребывания транзакта между блоками MARK и TABULATE.
Т а б л и ц а 1.11. Интервалы регистрации времени пребывания транзакта
Левый (нижний) интервал | Первый интервал | -∞, < 10 |
Промежуточные интервалы | Второй интервал | ≥10, <15 |
Третий интервал | ≥15, <20 | |
Четвертый интервал | ≥20, <25 | |
Пятый интервал | ≥20, < 30 | |
Правый (верхний) интервал | Шестой интервал | ≥30, + ∞ |