Практическое занятие №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 часов.Определить количество изделий прошедших обработку и характеристики очереди на обработку.