Моделирование систем / lec6
.pdfСтандартные числовые атрибуты (продолжение)
В GPSS могут использоваться числа и переменные, значениями которых являются числовые характеристики состояния модели и ее элементов.
Общее название СЧА
Системные СЧА
AС1 – абсолютное модельное время;
С1 – относительное модельное время;
TG1 – значение счетчика завершений
СЧА транзакта
M1 – время нахождения в системе,
MP1 – транзитное время
PR – приоритет.
Pимя – значение параметра имя
СЧА устройства
Fимя – состояние занятости устройства имя 1 – занято, 0 – свободно
FVимя – состояние доступности устройства имя 1 – доступно, 0 – недоступно
СЧА многоканального устройства
Rимя – число свободных каналов Sимя – число занятых каналов
SEимя – состояние незанятости устройства имя 1 – свободно, 0 – иначе
SFимя – состояние занятости устройства имя 1 – занято, 0 – иначе
СЧА очереди
Qимя – текущая длина очереди имя QMимя – максимальная длина очереди имя
QTимя – среднее время пребывания в очереди имя
СЧА логического переключателя
LSимя – состояние переключателя имя 1 – установлен, 0 – сброшен
СЧА генератора случайных чисел
GNимя – случайное целое число от 0 до 999 при
при использовании в качестве аргумента функции – дробное число от 0 до 0.999999
СЧА функции
FNимя – значение функции имя
СЧА переменной
Vимя – значение арифметической переменной имя BVимя – значение логической переменной имя
СЧА сохраняемой величины
Xимя – значение сохраняемой величины имя
имя - имя объекта; номер;
$символьное имя.
Перемещение транзактов. Оператор TEST
служит для задержки или изменения маршрутов транзактов в зависимости от соотношения двух СЧА
TEST X A,B,C
A, B - сравниваемые СЧА.
X - условие сравнения СЧА
oL (меньше);
oLE (меньше или равно);
oE (равно);
oNE (не равно);
oGE (больше или равно);
oG (больше).
Если проверяемое условие выполняется, то TEST пропускает транзакт в следующий блок. Если же это условие не выполняется, то транзакт переходит к блоку, указанному в
поле C, а если оно пусто, то задерживается перед блоком
TEST.
Например
TEST LE P$TIME,C1
не пропускает транзакты, у которых значение параметра с именем TIME больше текущего модельного времени.
TEST L Q$LINE,5,OUT
направляет транзакты в блок с именем OUT, если текущая длина очереди LINE больше либо равна 5.
Пример 4
Управляющая ЭВМ обрабатывает пакеты сигналов, поступающие с контроллера каждые 20 мсек. Время обработки равномерно распределено в интервале от 10 до 40 мсек. Максимальное количество пакетов, которое можно сохранить в ожидании обработки – 2, максимальное время ожидания пакетом начала обработки – 40 мсек.
нет |
место в буфере? |
да
Буфер
нет
ЭВМ свободна? время превышено? нет
да
да
ЭВМ
transit |
TABLE |
M1,8,4,20 |
|
GENERATE |
20 |
|
TEST L |
Q$wait,2,out1 |
|
QUEUE |
wait |
again |
GATE U |
proc,work |
|
TEST LE |
M1,40,out2 |
|
ADVANCE |
1 |
|
TRANSFER |
,again |
work |
SEIZE |
proc |
|
DEPART |
wait |
|
ADVANCE |
25,15 |
|
RELEASE |
proc |
|
TABULATE |
transit |
|
TERMINATE |
1 |
out1 |
TERMINATE |
|
out2 DEPART wait TERMINATE
start 10000
1 |
GENERATE |
12758 |
2 |
TEST |
12758 |
3 |
QUEUE |
12242 |
4 |
GATE |
247490 |
5 |
TEST |
237490 |
6 |
ADVANCE |
235249 |
7 |
TRANSFER |
235248 |
8 |
SEIZE |
10000 |
9 |
DEPART |
10000 |
10 |
ADVANCE |
10000 |
11 |
RELEASE |
10000 |
12 |
TABULATE |
10000 |
13 |
TERMINATE |
10000 |
14 |
TERMINATE |
516 |
15 |
DEPART |
2241 |
16 |
TERMINATE |
2241 |