Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обработка данных / Томашевский_Имитационное моделирование в среде GPSS_2003.doc
Скачиваний:
189
Добавлен:
31.05.2015
Размер:
13.56 Mб
Скачать

4.18. Проверка числовых выражений. БлокTest

Сравнение СЧА может быть выполнено cпомощью блокаTEST (ПРОВЕРИТЬ)

Его формат:

TEST Х A,B|,C|

Таблица 4.43

Операнд

Значение

Результат по умолча­нию

А

СЧА

Ошибка

В

СЧА

Ошибка

С

Имя блока, в который переходит транзакт при условии, что ответ на вопрос, подразумеваемый оператором отношения, отрицатель­ный

При отсутствии опе­ранда Спроверку вы­полняют в режиме отказа

X

Вспомогательный оператор, кото­рый представляет собой оператор отношения, использующийся при проверке

Значение оператора отношений:

Вопрос оператора отношения:

G

АбольшеВ?

GE

Абольше или равноВ?

Е

АравноВ?

NE

Ане равноВ?

LE

Аменьше или равноВ?

L

Аменьше В?

Операнды А иВ– имена СЧА, которые сравниваются. Вспомогательный оператор Х указывает способ сравнения этих двух СЧА дpyгcдругом.

Пример 4.40

Режим отказа

TEST LE Ql,Q2

Проверяющий транзакт будет задержан в предыдущем блоке до rexпор, пока длина первой очереди не станет меньше или равна длине второй очереди.

Пример 4.41

Режим условного перехода

TEST LE Ql,Q2,ZHVS

Проверяющий транзакт перейдет в следующий по порядку блок, если содержимое первой очереди меньше или равно содержи­мому второй очереди. Если это условие не выполняется, транзакт перейдет в блок cметкойZHVS.

Пример 4.42

TEST L KSSCANNER,XSMAX_lJTIL,LLL

SEIZE SCANNER

LLL QL'EL'E QSCANNER2

Если устройство SCANNERимеет коэффициент загрузки меньше, чем значение сохраняемой величиныMAX_UTIL, то транзакт идет на обслуживание этим устройством, в противном случае –переходит к блокуcметкойLLL.

Пример 4.43

Пусть в точке модели DISPATCHER необходимо удалить те транзакты, которые находились в модели больше, чем 100 ед. мо­дельного времени. Для этого в модели можно использовать такие блоки:

4.19. Определение и использование таблиц

Для накопления выборочных значений случайных величин и статистической обработки этих выборок используются GPSS-таблицы. Графическим аналогомGPSS-таблицы является гистограм­ма выборочных значений случайной величины, которую можно про­смотреть в окне таблицы. Прежде чем использовать таблицу, ее нуж­но определить, А потом задать собираемые выборочные значения.

Оператор TABLE (ТАБЛИЦА). В модели может быть не­сколько таблиц. Каждую таблицу нужно сначала определить и только потом использовать в модели. Для определения таблицы необходимо указать:

1) имя таблицы (числовое или символьное);

2) имя случайной переменной, значение которой будет табули­роваться;

3) число, являющееся первым граничным значением. (Значения выборки, меньшие или равные этому числу, попадают в самый левый (нижний) интервал (частотный класс) таблицы);

4) ширину интервала, общую для всех интервалов таблицы за исключением левого (нижнего) и правого (верхнего);

5) общее число интервалов таблицы, включая нижний и верхний. Формат оператора представлен в таблице.

Таблица 4.44

Поле

Информация поля

Метка

Имя таблицы

Операция

TABLE

Операнд А

СЧА, значение которого учитывается в таб­лице

Операнд В

Первое граничное значение (целое число)

Операнд С

Ширина всех промежуточных интервалов (целое положительное число)

Операнд D

Общее число интервалов таблицы, включая левый и правый (целое положительное число)

На рис. 4.11 показана ось действительных значений и ее разде­ление на ряд интервалов таблицы.

Рис. 4.11

Для сбора статистических данных об очередях используется оператор QTABLE. Его формат совпадаетcформатом оператораTABLE, за исключением того, что операнд А задает имя очереди.

Блок TABULATE (ТАБУЛИРОВАТЬ). Выборочные значения попадают в таблицу в моменты вхождения транзактов в блокTABU­LATE. Его формат:

TABULATE A

Таблица 4.45

Операнд

Значение

Результат по умолчанию

А

Имя (символьное или числовое) таблицы, в которой табулируется соответствующий СЧА

Ошибка

Операнд А задает имя таблицы, в которую попадают выбороч­ные значения. Одну таблицу можно использовать в нескольких блокахTABULATE модели. Отметим, что СЧА, по которому собирается статистика, в блокеTABULATE не указывается, так как он уже записан в оператореTABLE.

Если в модели используется блок TABLE илиQTABLE, в файле стандартной статистики информация будет представлена в таком виде:

Для получения этих данных была определена GPSS-таблицаMVP, в которой фиксировалось время нахождения транзакта в модели:

MVP TABLK Mi,100,100,20

Стандартные числовые атрибуты таблицы:

TB<номep таблицы>, ТВ$<имя таблицы> вычисленное среднее значение соответствующего СЧА;

TC<номep таблицы>, ТС$<имя таблицы> общее число вхо­дов в таблицу:

TD<номep таблицы>, ТО$<имя таблицы> вычисленное средне-квадратическое отклонение соответствующего СЧА.

Пример 4.44

В таблице TIMSERV будет табулироваться частотное распределение случайной величины – времени пребывания транзакта между блокамиMARK и TABULATE. Bтабл. 4.46 приведены интервалы регистрации времени пребывания между блокамиMARK и TABULATE.

Таблица 4.46

Левый (нижний) интервал

Первый интервал

-∞, < 10

Промежуточные интервалы

Второй интервал

≥10, <15

Третий интервал

≥15, <20

Четвертый интервал

≥20, <25

Пятый интервал

≥20, < 30

Правый (верхний) интервал

Шестой интервал

≥30, + ∞

Для того, чтобы данные, собираемые в таблицу, не попадали в один-два интервала, рекомендуется:

1) сначала сделать пробный прогон; по пробному прогону определить диапазон значений, в которых может колебаться анализируемая случайная величина (в GPSS/PCпе­рейти к окну таблицcпомощью клавиш [ALT+T]);

3) cучетом полученного диапазона скорректировать значения операндовВ,CиDсоответствующей таблицы.

Пример 4.45

В таблице SYSTIMEсобирается время пребывания транзакта в модели, которое предположительно принимает значения в интервале [100,2000].

При входе транзакта в блок SAVEVALUEсреднее значение СЧА (времени пребывания), соответствующего таблицеSYSTIME заносится в сохраняемую величинуcименемSTD.