Смекни!
smekni.com

Методические указания по курсовому проектированию по курсу «Исследование систем управления» кафедра информационных технологий в экономике и бизнесе (стр. 9 из 20)

СЧА Описание
Q(qname), Q(j) Текущая длина очереди
QA(qname), QA(j) Средняя длина очереди
QC(qname), QC(j) Полное число транзактов, вошедших в очередь
QM(qname), QM(j) Максимальное число транзактов в очереди на данный момент
QT(qname), QT(j) Среднее время пребывания транзакта в очереди
QX(qname), QX(j) Среднее время пребывания транзакта в очереди (за исключением тех, которые прошли без задержки)
QZ(qname), QZ(j) Количество транзактов, которые не задерживались в очереди

TRANSFER (передать)

Этот оператор предназначен для движением транзактов по модели; он применяется в тех случаях, когда необходимо нарушить обычный порядок движения - по прямой, с последовательным прохождением блоков.

Формат: <TRANSFER [A],B,[C]>, где

А - вероятность перехода на метку блока, записанного в поле С;

В и С - метки блоков, между которыми предстоит выбирать.

Существуют 4 следующие основные варианты применения ОБ:

1. Безусловный переход:

< TRANSFER , B >

А - по умолчанию 0, заменяется обязательной запятой

В — не имеет значения по умолчанию, характеризует имя (адрес) блока, к которому направляется транзакт.

2. Условный переход с одним альтернативным адресом (режим "BOTH"):

< TRANSFER BOTH, B, C >

А - не имеет значения по умолчанию, операнд заменяется словом BOTH, указывающим тип режима;

В — по умолчанию обозначает, что Хакт следует в первый последовательный блок, при именовании операнда В характеризует имя (адрес) блока, к которому направляется транзакт(основной адрес);

С — не имеет значения по умолчанию, характеризует собой альтернативный адрес (при невозможности войти в блок с адресом В).

3. Условный переход со многими альтернативами (режим "ALL"):

<TRANSFER ALL, B, C, D >

А – не имеет значения по умолчанию, операнд заменяется словом ALL, указывающим тип режима;

В — по умолчанию обозначает, что Х акт следует в первый последовательный блок, при именовании представляет собой первый адрес;

С — не имеет значения по умолчанию, определяет последний адрес;

D —не имеет значения по умолчанию, представляет собой константу М, используемую для вычисления возмож­ных адресов движения транзактов: адрес в поле В, затем — В+М, В+2М, ..., адрес в поле С.

4. Статистический переход (переход с заданной вероятно­стью):

<TRANSFER А, В, С >

А —не имеет значения по умолчанию, характеризует вероятность перехода транзакта по адресу С или часть времени используемую ОБ С;

В —по умолчанию является следующим последовательным ОБ, при именовании представляет собой альтернативный адрес.

В GPSS/H удобно использовать так называемую относительную адресацию, т.е. обращение к какому-либо блоку, не имеющему метки, осуществляется с помощью его относительного адреса. Для примера рассмотрим три варианта записи блока безусловного пе­рехода.

Примеры.

1. TRANSFER ,CPU2

2. TRANSFER ,*+3

3. TRANSFER ,CPU1+2

В первом примере ОБ (прямая адресация) направляет транзакт к блоку с именем CPU2. Два остальных — примеры отно­сительной адресации. Второй ОБ посылает транзакт к треть­ему по счету блоку после рассматриваемого ОБ. Блок, к кото­рому направляется транзакт последним ОБ, является вторым по счету от блока CPU1.

Далее приводятся примеры для варианта BOTH

1. TRANSFER BOTH,KASS1,KASS2,

2. TRANSFER BOTH,,TWO.

В примере 1 транзакт первоначально направляется к блоку с отметкой KASS1. При невозможности войти в этот блок транзакт направляется к блоку с меткой KASS2. В примере 2 транзакт дела­ет попытку войти в следующий блок, если ему это не удается, он направляется к блоку с именем TWO.

Пример для варианта ALL, приведём фрагмент программы :

TRANSFER ALL,FIRST,LAST,3

FIRST GATE LS AAA

ADVANCE 5

GATE LR BBB TRANSFER ,LAST+2

ADVANCE 2

TRANSFER ,LAST+2

LAST GATE LS CCC

ADVANCE 3,1

Транзакт последовательно пытается войти в следующие бло­ки: FIRST, FIRST+3, FIRST+6 (LAST).

Вариант вероятностного перехода

1. TRANSFER .370,THIS,THAT

В примере с вероятностью 0,37 транзакт перейдет к блоку ТНАТ (37% транзактов), а с вероятностью 0,63 - к блоку ТНIS (63% транзактов).

TEST (проверить)

Этот ОБ определяет направление движения транзакта в зависимости от выполнения условия, заданного алгебраическим соотношением. Оператор имеет расширенное поле операции, включающее общепринятые обозначения логических операций: L(меньше), LE(меньше или равно), E (равно ), NE (не равно ), G ( больше ), GE ( больше или равно ).

Формат записи имеет вид :

< TEST XX A, B, C >

XX - дополнительный код логической операции (L, LE, E, NE, G, GE.);

А - не имеет значения по умолчанию, представляет собой выражение, левая часть которого сравнивается с требуемой операцией, если сравнение истинно, то Хакт продвигается в следующий последовательный ОБ.

В - не имеет значения по умолчанию, представляет собой выражение, правая часть которого сравнивается с операндом А;

С - не имеет значения по умолчанию и представляет собой имя или номер ОБ к которому направляется Хакт, если результат сравнения ложный ( альтернативный адрес). Если операнд С отсутствует, а результат сравнения ложный, Хакт запрещён вход в ОБ TEST и сравнение проводится каждый раз, пока Хакт находится в СТС. Такое обстоятельство приводит к избыточному использованию памяти, в этом случае ( операнд С не определён ) следует пользоваться ОБ GATE. Рассмотрим примеры использования ОБ

1. ТESТ LE Q1,10

2. ТЕST NE S1,PF2

3. TEST GE PF1,PF2,CPU

В первом примере транзакт задерживается, если длина очереди 1 больше 10;

Во втором примере транзакт задерживается, если текущее содержимое памяти 1 равно значению 2-го параметра транзакта форматом "слово";

В третьем примере транзакт переходит к следующему блоку, если PF1

PF2, либо, в противном случае, направляется к блоку СPU.

ASSIGN (задать)

Этот ОБ изменяет атрибуты транзактов. К числу таких атрибутов относятся значения, записываемые в полях операндов F- I ОБ GENERATE. операнды F,G,H,I, относящиеся к параметрам транзакта, задаются по умолчанию в виде листов параметров и с помощью ОБ ASSIGN могут быть видоизменены.

Формат ОБ ASSIGN имеет вид:

< ASSIGN A,B,C,D >

A - не имеет значения по умолчанию , определяет имя или номер параметра, которому назначается значение. Если последний символ в операнде А + или -, то параметр уменьшается или увеличивается на значение, определяемое операндом В.

В - не имеет значения по умолчанию, представляет собой замещаемое значение, которое вычитается или прибавляется к значению операнда А, если модифицируется параметр, представляемый числом с плавающей точкой, то операнд В то же должен иметь такой вид.

С – не имеет значения по умолчанию, определяет имя или номер оцениваемой функции, значение операнда В умножается на значение функции, предварительно определив знак функции.

D - не имеет значения по умолчанию, определяет формат параметра PF(fullword), PH(halfword), PB(byte), PL(floating point) (по умолчанию PH ). Если функция отсутствует ( операнд С), то формат параметра сдвигается влево на место операнда С.

Рассмотрим несколько примеров :

1. ASSIGN 3+,5,,PB

2. ASSIGN 1-7,3

3. ASSIGN 5,2.5,,PL

В первом примере производится прибавление к значению параметра 3 5 единиц. Во втором примере параметрам с 1 по 7 приписывается значение 3 форматом полуслово. В третьем примере задаётся значение параметру форматом «плавающая точка».

PRIORITY

В процессе моделирования иногда приходится менять как дисциплину обслуживания, так и приоритет транзакта. Для этой цели используется ОБ PRIORITY, формат ОБ имеет вид :

< PRIORITY A >,

A - не имеет значения по умолчанию, определяет новое значение приоритета для Хакт. Транзакты удаляются при этом из СТС и возвращается обратно с новым приоритетом, становясь последним в список данного приоритета. Уровень приоритета в последней версии GPSS/H может изменяться от - 2147483632 до + 2147483632 .

Приведём пример использования ОБ

1. PRIORITY 5

В примере у транзакта переназначается приоритет.

TABULATE (Создать таблицу )

Этот ОБ используется для сбора дополнительной информации, которая не выводится в стандартном отчёте. Структура таблицы задаётся ОУ TABLE (см. параграф 3.3.2). МФ может содержать несколько таблиц, которые описываются в отчёте и каждая содержит размер выборки, стандартное выборочное отклонение, относительные и накопленные частоты Каждая таблица имеет свои СЧА, формат ОБ имеет вид:

< TABULATE A,[B] >

A - не имеет значения по умолчанию, определяет имя или номер таблицы, в которую вносятся желаемые наблюдения, описание таблицы даётся в модуле описания с помощью ОУ TABLE .

В - по умолчанию равен 1, является не обязательным и служит в качестве весового коэффициента при создании взвешенных таблиц.

Рассмотрим примеры применения ОБ