Практическое занятие №8. Стандартные числовые атрибуты

Каждый транзакт может иметь любое число параметров. Каждый параметр имеет номер – положительное целое число. Значение любого параметра активного транзакта может быть возвращено через стандартный числовой атрибут (Standard Number Attribute, SNA) P<номер параметра> или P$<имя параметра>. Необходимо создать параметры транзакта и присвоить им значения до того, как они будут использоваться. Это осуществляется с помощью оператора. ASSIGN A,B,C

A -имя параметра или номер параметра или СЧА, B –присваемое значение, С – используемая функция.

При входе транзакта в блокASSIGNзначение параметраAустанавливается в соответствии с операндами BиCили параметр создается.

Можно присвоить, прибавить или вычесть из числового значения параметра. Если операндCотсутствует, то операндBвычисляется и используется в качестве нового значения, или же его числовой эквивалент в качестве инкремента или декремента. Сложение и вычитание задаются знаками «+» или «-», следующими сразу за операндомA.Если знаки отсутствуют, тоBвычисляется и результат присваивается значению параметра транзакта.Если задан операндС,то вычисляется функция, которая затем умножается на числовой эквивалент операндаB,и результат прибавляется, вычитается или присваивается значению параметра транзакта в зависимости от знака в операндеA.

Примеры.

ASSIGN 1000,130.5Значение130.5присваивается параметру1000входящего транзакта.Если такой параметр (с таким номером) не существует, то он создается.

ASSIGN 1000+, -2к величине содержащейся в параметре с номером 1000прибавляется-2.Если такого параметра нет, то он создается и перед сложением ему присваивается значение0.

Значения параметров транзактов можно изменять блокамиPLUSиINDEX.Форматы блоков имеют вид:

PLUS A,B – A –выражение, B –номер параметра транзакта. INDEX A,B – A-номер параметра транзакта, B –числовое значение прибавляемое к значению параметра.Результат присваивается параметру номер один транзакта. Скобки в выражении обязательны.

Следующие СЧА являются стандартными:

- A1 –определяет объединенный набор активных транзактов;

- MB$<имя>илиMB<номер> –возвращает1,если имеется транзакт в блоке, которое находится в том же самом наборе, что и активный транзакт.Иначе возвращается0;

- MP$<имя>илиMP<номер> –определяет время прохождения транзакта с заданным параметром, то есть текущее абсолютное время моделирования системы;

- M1 –время прохождения транзакта. M1возвращает абсолютное время моделирования системы минус метка времени транзакта;

- P$<имя>, P<номер> ,*<имя> –возвращает значение параметра активного транзакта;

- PR –приоритет активного транзакта;

- XN1 –возвращает номер активного транзакта;

- C1 –значение относительного модельного времени;

- AC1 –значение абсолютного модельного времени.

- MX$имя(a,b) –возвращает значение элемента матрицы;

- Q$<имя очереди> –возвращает текущую длину очереди к прибору или устройству;

- QA$<имя очереди> -возвращает среднюю длину очереди;

- QX$<имя очереди> –возвращает среднее время пребывания в очереди к прибору или устройству ,без учета нулевых входов;

- QZ<имя очереди> –возвращает число нулевых входов;

- V$<имя переменной>– возвращает значение арифметической переменной;

- X$<имя переменной> –возвращает значение сохраняемой переменной;

- FN$<имя функции> –возвращает значение функции

- RN<имя или номер> -возвращает случайное целое число от 0 до 999, при использовании аргументом функции от 0.0 до 0.999999.

На рисунке 8-1 приводится пример использования операторовASSIGN, PLUSиINDEX.

GENERATE ,,,1 ASSIGN www,10 ASSIGN www+,2 SEIZE JOB ADVANCE P$www RELEASE JOB PLUS (2.5+3.5),www SEIZE JOB1 ADVANCE P$www RELEASE JOB1 INDEX www,(12.5-2.5) SEIZE JOB2 ADVANCE P1 RELEASE JOB2 TERMINATE 1

Рисунок 8-1. Пример использования операторовASSIGN, PLUSиINDEX

ОператорыASSIGNприсваивают параметру www транзакта сначала10,а затем прибавляют2.На полученное значение осуществляется задержка, затем оператором PLUSзначение параметраwwwувеличивается на6.Результат используется в следующей задержке.Наконец операторомINDEX wwwувеличивается на10и результат присваивается параметру номер один транзакта. На это величину выполняется задержка. Результат используется в следующей задержке. Наконец операторомINDEX wwwувеличивается на 10и результат присваивается параметру номер один транзакта. На это величину выполняется задержка.

Выполнение работы.

Задача 8-1

Изделия поступают равновероятно 5±3 минуты. Операция выполняется за 9±4 минуты. Моделировать 8 часов.Определить количество изделий прошедших обработку и характеристики очереди на обработку.