Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Стандартные числовые атрибуты системы и транзактов, параметры транзактов.
В процессе моделирования интерпретатор автоматически регистрирует и корректирует информацию, касающуюся различных элементов, используемых в модели. Большая часть информации доступна только интерпретатору и используется для сбора статистической информации о работе модели. Однако к некоторым атрибутам (свойствам) объектов может обращаться и программист, управляя процессом моделирования в зависимости от их значений. Рассмотрим несколько примеров зависимости функционирования элементов модели от системных атрибутов, т.е. СЧА. 1. Интенсивность работы некоторого устройства зависит от длины очереди. Для определения времени обслуживания при каждом поступлении транзакта на обслуживание необходимо знать значение такого системного атрибута, как длина очереди. 2. Интенсивность обслуживания некоторого устройства зависит от общей продолжительности его функционирования (проявление усталости – интенсивность со временем уменьшается, разогрев устройства – интенсивность со временем увеличивается). Время обслуживания – функция, которая зависит от времени, прошедшего c начала работы. 3. Имеются два устройства и диспетчер, который распределяет работы между ними таким образом, чтобы загрузка устройств была равномерной. Для этого в пункте диспетчеризации необходимо иметь информацию о коэффициентах загрузки устройств и возможность выбора пути перемещения транзакта в зависимости от этих двух величин. Условно атрибуты можно поделить на две категории: 1) атрибуты системы; 2) атрибуты транзактов. Атрибуты системы – это параметры, которые описывают состояние объектов модели. Такие количественные показатели, как «текущая длина очереди» или «коэффициент загрузки устройства» являются типичными системными атрибутами. Стандартный набор атрибутов, подобных указанным, автоматически поддерживается интерпретатором GPSS. Транзакты также могут иметь некоторые числовые характеристики (например, уровень приоритета). Кроме того, транзакт снабжается некоторым числом параметров. В языке GPSS атрибуты (свойства) объектов – это СЧА. Каждый объект GPSS имеет свой набор СЧА. Доступ к СЧА осуществляется при использовании специальных обозначений этих атрибутов. Имя СЧА состоит из двух частей:
1) групповое имя – состоит из одной или двух букв, идентифицирует тип объекта и тип информации о нем; 2) имя конкретного члена группы. Объекты могут идентифицироваться c помощью числовых и символьных имен. Если объект идентифицируется c помощью номера (числовое имя), то ссылка на его стандартный числовой атрибут записывается как CЧAj, где j – номер объекта (целое число). При символьной идентификации объекта ссылка на его стандартный числовой атрибут записывается, как СЧА$<имя объекта> (в приведенных ссылках под «СЧА» понимается групповое имя). Стандартные числовые атрибуты. В табл. 4.26 показаны СЧА устройств, в табл. 4.27 – СЧА МКУ, в табл. 4.28 – СЧА очередей/ Таблица 4.26
Таблица 4.27
Таблица 4.28
СЧА блоков и системные СЧА. Блоки имеют два стандартных числовых атрибута (их подсчет ведется автоматически): 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
Когда транзакт входит в блок LOOP, параметр, указанный в операнде А, уменьшается на единицу, А затем проверяется его значение на равенство нулю. Если значение не равно нулю, то транзакт переходит в блок, указанный в операнде В. Если значение параметра равно нулю, транзакт переходит в следующий блок. Переменная блока LOOP может только уменьшаться.
Пример 4.30
Цикл организован по первому параметру транзакта. Его начальное значение равно 3. После освобождения устройства проверяется значение первого параметра. Если оно не равно нулю, го транзакт возвращается к блоку, помеченному меткой SIS, т.е. занимает устройство c именем PC. Всего каждый транзакт будет занимать это устройство три раза.
Вопрос 44
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-01-08; просмотров: 411; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.228.88 (0.036 с.) |