Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чтоесть / Мое / Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
Скачиваний:
249
Добавлен:
24.03.2015
Размер:
3.83 Mб
Скачать

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

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

Его формат:

TEST X А,В[,С]

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

Пример 4.40

Режим отказа

TEST LE Q1,Q2

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

Пример 4.41

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

TEST LE Qt,Q2,ZHVS

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

Пример 4.42

TEST L FSSCANNER,X$MAX_UTIL,LLL SEIZE -SCANNER

LLL QUEUE Q_SCANNER2

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

Пример 4.43

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

GENERATE 18,6

DISPATCHER TESTL M1,100,KILL KILL TERMINATE

Задание для самостоятельной работы:

1. В отделе универсама есть две кассы. Покупатели становятся в очередь в ту кассу, у которой меньше очередь. Напишите фрагмент программы для этой ситуации.

2. Первые четыре часа работы парикмахерской клиенты обслу­живаются одним мастером, следующие четыре - другим. Напишите фрагмент модели для этой ситуации.

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

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

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

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

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

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

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

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

Таблица 4.44

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

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

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

TABULATE A

Таблица 4.45

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

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

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

MVP TABLE Ml,100,100,20

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

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

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

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

Пример 4.44

TIMSERV TABLE МРЗ,10,5,б ; Оператор определения таблицы GENERATE 100,15

MARK 3

TABULATE TIMSERV ; Оператор табулирования

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

Таблица 4.46

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

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

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

Пример 4.45

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

SYSTIME TABLE М1,100,12,10 SAVEVALUE STD,TB$SYSTIME

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

Соседние файлы в папке Мое