Стандартные числовые атрибуты системы и транзактов, параметры транзактов. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стандартные числовые атрибуты системы и транзактов, параметры транзактов.



 

В процессе моделирования интерпретатор автоматически реги­стрирует и корректирует информацию, касающуюся различных эле­ментов, используемых в модели. Большая часть информации доступ­на только интерпретатору и используется для сбора статистической информации о работе модели. Однако к некоторым атрибутам (свой­ствам) объектов может обращаться и программист, управляя процес­сом моделирования в зависимости от их значений.

Рассмотрим несколько примеров зависимости функционирова­ния элементов модели от системных атрибутов, т.е. СЧА.

1. Интенсивность работы некоторого устройства зависит от дли­ны очереди. Для определения времени обслуживания при каждом по­ступлении транзакта на обслуживание необходимо знать значение та­кого системного атрибута, как длина очереди.

2. Интенсивность обслуживания некоторого устройства зависит от общей продолжительности его функционирования (проявление ус­талости – интенсивность со временем уменьшается, разогрев устройства – интенсивность со временем увеличивается). Время обслуживания – функция, которая зависит от времени, прошедшего c начала ра­боты.

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

Условно атрибуты можно поделить на две категории:

1) атрибуты системы;

2) атрибуты транзактов.

Атрибуты системы – это параметры, которые описывают со­стояние объектов модели. Такие количественные показатели, как «текущая длина очереди» или «коэффициент загрузки устройства» являются типичными системными атрибутами. Стандартный набор атрибутов, подобных указанным, автоматически поддерживается ин­терпретатором GPSS.

Транзакты также могут иметь некоторые числовые характери­стики (например, уровень приоритета). Кроме того, транзакт снаб­жается некоторым числом параметров.

В языке GPSS атрибуты (свойства) объектов – это СЧА. Каждый объект GPSS имеет свой набор СЧА. Доступ к СЧА осуществляется при использовании специальных обозначений этих атрибутов. Имя СЧА состоит из двух частей:

1) групповое имя – состоит из одной или двух букв, идентифи­цирует тип объекта и тип информации о нем;

2) имя конкретного члена группы.

Объекты могут идентифицироваться c помощью числовых и символьных имен. Если объект идентифицируется c помощью номера (числовое имя), то ссылка на его стандартный числовой атрибут за­писывается как CЧAj, где j – номер объекта (целое число). При сим­вольной идентификации объекта ссылка на его стандартный число­вой атрибут записывается, как СЧА$<имя объекта> (в приведенных ссылках под «СЧА» понимается групповое имя).

Стандартные числовые атрибуты. В табл. 4.26 показаны СЧА устройств, в табл. 4.27 – СЧА МКУ, в табл. 4.28 – СЧА очередей/

Таблица 4.26

 

Обозначение Значение
Fj или F $имя Показатель занятости устройства (0 – если не заня­то, 1 – если занято)
FCj или F С$имя Число занятий устройства
FRj или FR$имя Нагрузка устройства, выраженная в долях тысячи
FTj или FТ$имя Целая часть значения среднего времени задержки транзакта в устройстве
FVj или FV $имя Флаг готовности устройства к использованию (1 – готово, 0-в противном случае)

Таблица 4.27

 

Обозначение Значение
Rj или R $имя Емкость незаполненной части МКУ
Sj или S $имя Емкость заполненной части МКУ
SAj или SA $имя Целая часть среднего заполнения МКУ
SCj или S С$имя Счетчик числа входов в МКУ. (При каждом выпол­нении блока ENTER значение счетчика увеличива­ется на значение операнда В этого блока)
SMj или S М$имя Максимально занятая емкость МКУ. Запоминает максимальное значение Sj (S $имя)
SRj или SRS имя Нагрузка МКУ, выраженная в долях тысячи
STj или ST $имя Целая часть среднего времени пребывания транзактa в МКУ
SVj или SV $имя Флаг готовности МКУj к использованию (1 – готово, 0 – не готово)

Таблица 4.28

 

Обозначение                                               Значение

Qj или Q $имя QAj или QA $имя

Текущее значение длины очереди (текущее со­держимое)

   

Целая часть среднего значения длины очереди

QCj или QC $имя

Число входов в очередь. При каждом входе в блок QUEUE очереди значение QCj (QC $имя) увели­чивается на значение операнда В, при каждом входе в блок DEPART очереди значение QCj (QC $имя) уменьшается на значение операнда В

QMj или QM $имя

Максимальное значение длины очереди (макси­мальное значение Qj (С)$имя))

QTj или QT $имя

Целая часть среднего времени пребывания в оче­реди всех транзактов, которые входили в очередь (включая и те, которые не ждали – нулевые вхо­ды)

QXj или QX $имя

Целая часть среднего времени пребывания в оче­реди для транзактов, которые ждали в очереди (ненулевые входы)

QZj или QZ $имя

Число нулевых входов в очередь
     

СЧА блоков и системные СЧА. Блоки имеют два стандартных числовых атрибута (их подсчет ведется автоматически):

Wj (W $<метк a блока>) – счетчик текущего содержимого блока c номером j (c меткой блока);

Nj (N $<метка блока>) – счетчик входов, т.е. общее число транзактов, вошедших в блок j c момента последнего действия опера­торов RESET и CLEAR (от начала работы модели, если не было опе­раторов RESET и CLEAR).

Например, W $ BL 1 – это число транзактов, которые находятся в блоке c меткой BL 1; N $ QP – число транзактов, вошедших в блок c меткой QP; W 210 – значение текущего содержимого счетчика блока, который имеет 210-ю позицию в модели.

Важные системные СЧА:

C 1 – текущее значение относительного модельного времени; автоматически изменяется интерпретатором и устанавливается в 0 при выполнении операторов CLEAR и RESET;

AC 1 – текущее значение абсолютного модельного времени; ав­томатически изменяется интерпретатором и устанавливается в 0 при выполнении оператора CLEAR;

TG 1 – текущее значение счетчика завершения;

PR – приоритет транзакта, обрабатываемого в данный мо­мент;

Ml – время пребывания в модели транзакта, обрабатываемого интерпретатором в данный момент.

Пример 4.25

Использование СЧА в блоках ENTER и ADVANCE.

ENTER         3, R 3

При входе транзакта в блок ENTER, он занимает R3 каналов устройства c именем 3. Поскольку R3 – число доступных каналов МКУ 3, то транзакт занимает все каналы, которые остались свобод­ными до его входа.

ENTER         HS, R $ SH

Войдя в блок ENTER, транзакт занимает R$SH каналов МКУ c именем HS.

ADVANCE    FC $ PRIB

Задержка в этом блоке равна числу занятий устройства PRIB.

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

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

Особенности параметров транзактов:

1. Доступ к параметрам транзактов осуществляется таким образом:

P <номер> или Р$<имя>,

где      P – СЧА транзакта, определяющий его групповое имя, т.е. имя всех параметров транзакта.

2. Номера (имена) конкретных членов множества параметров задаются c помощью целых чисел 1, 2,... или символьных имен. На­пример, P 22 – это 22-параметр транзакта, P $ COLOR – параметр c именем COLOR.

3. При входе транзакта в модель начальное значение всех его параметров устанавливается в ноль.

4. Значения параметров транзактов и их изменение определяет пользователь.

5. Значениями параметров транзактов могут быть любые числа (в системе GPSS/PC – только целые числа). Параметры могут приоб­ретать отрицательные значения.

6. Транзакт может обращаться только к своим параметрам. Если необходимо получить доступ к параметрам других транзактов, то это можно сделать только через ячейки сохраняемых величин или используя группы транзактов.

7. Параметры можно использовать в качестве операндов блоков и в качестве аргументов функций.

8. Параметры позволяют организовать косвенную адресацию блоков. Это дает возможность агрегированного представления объек­тов моделирования в программе.


 

Вопрос 42 Блоки ASSIGN, MARK,LOOP (формат и примеры использования).

Изменение значений параметров. Блок ASSIGN (НАЗНАЧИТЬ). При входе транзакта в этот блок значения парамет­ров могут задаваться или изменяться.

Формат блока:

Таблица 4.29

 

Операнд Значение Результат по умолча­нию
А Номер или имя модифицируе­мого или задаваемого пара­метра Ошибка
В Величина, используемая для модификации (число или СЧА) Ошибка
С Имя функции Не используется

 

Блок ASSIGN может быть использован как в режиме замещения значения параметра (начальное значение всех параметров транзактов равно 0), так и в режиме увеличения и уменьшения. В режиме увели­чения предшествующее значение параметра увеличивается на значе­ние, стоящее в операнде В. В режиме уменьшения оно уменьшается на величину, стоящую в операнде В. Режимы увеличения и уменьше­ния определяются введением соответственно знаков «плюс» и «ми­нус» перед запятой, которая разделяет операнды А и В.

При использовании операнда C значение операнда В умножает­ся на значение функции, указанной в операнде C. Параметр, задан­ный в операнде А, изменяется на величину полученного произведе­ния (в режиме увеличения и уменьшения) или приобретает значение результата (в режиме замещения).

Пример 4.28

Блок ASSIGN в режиме присваивания:

ASSIGN         MEST,36

Параметру транзакта c именем MEST присваивается значение 36.

ASSIGN        3,25

Параметру P 3 присваивается значение 25.

ASSIGN         P 4, FR $ BB

Параметру транзакта c номером, записанным в параметре P 4, присваивается значение величины загрузки устройства BB (оба опе­ранда заданы косвенным образом).

Блок ASSIGN в режимах накопления и уменьшения:

ASSIGN         4+, Q 5

Параметр 4 увеличивается на значение, равное текущей длин очереди 5.

ASSIGN        P 2-,7

От значения параметра, номер которого задан параметром P 2 вычитается 7.

Транзитное время. Блок MARK (ОТМЕТИТЬ). Стандартный числовой атрибут M 1 измеряет время, которое прошло c момента входа транзакта в модель. Однако очень часто требуется знать время, затраченное на перемещение транзакта между двумя произвольными точками модели. Для этого используется блок MARK.

При входе транзакта в блок MARK значение таймера абсолют­ного времени записывается в качестве одного из его параметров. Та­кую запись называют отметкой транзакта. Формат блока MARK:

MARK            A

Таблица 4.30

 

Операнд Значение Результат по умолчанию
А Номер параметра, в кото­рый записывается значе­ние абсолютного времени (целое число, СЧА) При отсутствии операнда А от­метка времени заменяется те­кущим значением абсолютного времени

 

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

1) в точку Т1 поместить блок MARK j, где j – номер параметра, в который записывается значение абсолютного времени в момент за­писи;

2) в точке Т2 обратиться к СЧА c именем MPj, где j – номер па­раметра, в котором сделана отметка времени транзакта; СЧА MPj будет иметь такое значение:

 

Организация циклов. Блок LOOP (ЦИКЛ). C помощью пара­метров транзактов в программе можно организовать циклы. Для этого используется блок LOOP. Он управляет количеством повторных прохождений транзактом определенной последовательности блоков модели.

Формат блока:

LOOP           A [, B ]

Таблица 4.31

 

Операнд Значение Результат по умолча­нию
А Параметр транзакта, используемый для органи­зации цикла (переменная цикла). Он может быть именем, положительным целым числом, СЧА, C4A*CЧA (косвенная адресация). Ошибка
В Метка (имя блока) начального блока цикла Ошибка

 

Когда транзакт входит в блок LOOP, параметр, указанный в операнде А, уменьшается на единицу, А затем проверяется его значе­ние на равенство нулю. Если значение не равно нулю, то транзакт переходит в блок, указанный в операнде В. Если значение параметра равно нулю, транзакт переходит в следующий блок.

Переменная блока LOOP может только уменьшаться.

 

Пример 4.30

 

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


 

 

Вопрос 44



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 411; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.228.88 (0.036 с.)