Процедура просмотра списка текущих событий — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

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

Процедура просмотра списка текущих событий

2017-11-27 218
Процедура просмотра списка текущих событий 0.00 из 5.00 0 оценок
Заказать работу

 

Процесс движения транзактов в модели сопровождается просмотром содержимого списков, внесением в них изменений, а также перемещением транзактов из одного списка в другой.

Транзакты, находящиеся в списке текущих событий, расположены в порядке убывания приоритетов. Когда транзакт вводится в список текущих событий, он становится последним среди транзактов, имеющих тот же приоритет. Процедура просмотра списка текущих событий выполняет три основные действия:

 

1. Изменение момента условного времени. При этом момент времени устанавливается равным наименьшему времени выхода из блока для транзактов, находящихся в списке будущих событий. Все транзакты, имеющие такое время выхода, переводятся из списка будущих событий в список текущих событий;

2. Последовательный просмотр транзактов от начала списка к его концу с целью определения возможностей движения их в модели;

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

 

УСТРОЙСТВА

Устройства моделируют объекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в модели определенным блоком.

Захват и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE. Для проверки состояния устройств используют GATE. Прерывание моделирует блок PREEMPT, снятие прерывания - блок RETURN.

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

 

F$j - состояние устройства с номером j: О - если устройство свободно, и 1 - если

устройство занято;

FR$j - коэффициент использования устройства j;

FCSj - число входов в устройство j;

FT$j - среднее время использования устройства j одним транзактом.

 

Устройства имеют также стандартные логические атрибуты (СЛА), каждый из которых может принимать одно из двух значений: "ИСТИНА" или "ЛОЖЬ".

U - устройство занято; NU - устройство свободно;

1 - устройство прервано; NI - не прервано.

 

Проверка состояния устройства осуществляется блоком GATE, который в зависимости от значения проверяемого СЛА либо беспрепятственно пропускает транзакты (если СЛА = "истина"), либо задерживает их или направляет по другому маршруту (если СЛА = "ложь").

 

ПАМЯТИ

 

Памяти служат для моделирования объектов, обладающих определенной емкостью. Памяти моделируются блоками ENTER и LEAVE. Входящий в блок ENTER транзакт занимает определенную часть памяти. При входе транзакта в блок LEAVE память освобождается. Емкость памяти задают с помощью оператора STORAGE, который не является блоком GPSS и относится к числу служебных карт.

 

Памяти имеют следующие стандартные числовые атрибуты:

S$j - емкость памяти j;

R$j - свободный объем памяти j;

SR$j - коэффициент использования памяти j;

SM$j - максимальное заполнение памяти j;

SA$j - среднее заполнение памяти j;

SC$j - число входов в память j;

ST$j - среднее время пребывания транзакта в памяти j.

 

Памяти имеют также стандартные логические атрибуты, которые используются для проверки состояния памяти:

SE$j - память j пуста;

NE$j - память j не пуста;

SF$j - память j заполнена;

SNF$j - память j не заполнена.

Проверка состояния памяти осуществляется блоком GATE.

 

ЛОГИЧЕСКИЕ КЛЮЧИ

Для представления в модели коммутируемых объектов с двумя состояниями ("ВКЛЮЧЕНО" - "ВЫКЛЮЧЕНО") используют логические ключи, моделируемые блоками LOGIC и GATE. При входе транзакта в блок LOGIC происходит срабатывание соответствующего ключа. Ключ

может быть включен (S), выключен (R) или переключен (1). Ключи не имеют СЧА. Их состояние определяется стандартными логическими атрибутами:

LS$j - ключ j включен; LR$j - ключ j выключен.

Проверка состояния ключа осуществляется блоком GATE.

 

ОЧЕРЕДИ

Транзакты в процессе движения могут задерживаться перед блоками, вход в которые в данных условиях невозможен. Примерами таких блоков из числа рассмотренных выше являются SEIZE (если ранее вошедший в этот блок транзакт не вошел в блок RELEASE), ENTER (если текущий объем памяти равен первоначально заданному), GATE (если в этом блоке не указан альтернативный выход и проверяемое условие не выполняется). При поступлении транзактов на вход задерживающих блоков образуются очереди. Для сбора статистики об очередях в местах задержки ставят блоки QUEUE. Эти блоки сами по себе не создают очередь, а лишь являются средством ее регистрации. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Уход из очереди отображается блоком DEPART.

 

очереди имеют следующие стандартные числовые атрибуты:

Q$j - текущая длина очереди j;

Q$Xj - максимальная длина очереди j;

QA$j - средняя длина очереди j;

QC$j - число входов в очередь j;

QZ$j - число входов в очередь с нулевым временем пребывания (транзакт прошел

через блок QUEUE, не задерживаясь в очереди);

QT$j - среднее время пребывания в очереди j, включая нулевые входы;

QX$j - среднее время пребывания в очереди j, без нулевых входов.

 

ТАБЛИЦЫ

Для сбора статистических данных о различных отчетах модели и их представления в стандартной табличной форме используют таблицы. Занесение информации в таблицу осуществляется блоком TABULATE в момент входа очередного транзакта в этот блок. описание структуры таблицы и типа заносимых данных (СЧА) осуществляется картой TABLE.

Стандартные числовые атрибуты таблиц:

TB$j - среднее значение фиксируемой в таблице j переменной;

TC$j - число входов в таблицу j;

TD$j - стандартное среднеквадратическое отклонение табулируемой переменной.

 

ЯЧЕЙКИ

Для записи в процессе моделирования текущих значений СЧА используют ячейки. Занесение информации в ячейку осуществляет блок SAVEVALUE. При входе транзакта в этот блок требуемое значение СЧА фиксируется в ячейке, номер которой определяется операндом блока SAVEVALUE. Ячейки имеют различные форматы (слово, полуслово, с плавающей точкой), которым соответствуют следующие СЧА:

X$j - текущее значение, записанное в ячейке j формата слово;

XH$j - текущее значение, записанное в ячейке j формата полуслова;

XL$j - содержимое ячейки с плавающей точкой.

Изменение содержимого ячеек может осуществляться блоками SDECREMENT и SINCREMENT. Блок SDECREMENT вычитает заданное значение из величины, содержащейся в ячейке. Блок SINCREMENT добавляет требуемое приращение к содержимому ячейки.

 

ФУНКЦИИ И ПЕРЕМЕННЫЕ

Функции служат для отображения зависимостей между двумя СЧА. В GPSS/PC имеется два типа функций: непрерывные (С) и дискретные (D). Функцию задают набором пар точек - координат. Непрерывная функция воспроизводится в виде ломаной кривой, отрезки которой соединяют соседние точечные значения. Дискретная функция имеет вид ступенчатой кривой. На рис.1.3 представлены непрерывная (а) и дискретная (б) функции, соответствующие одному и тому же набору точек X1,Y1; X2,Y2; X3,Y3; X4,Y4, где X означает аргумент, а Y - значение функции.

Функцию описывают картой FUNCTION. За ней помещают одну или Несколько карт, содержащих координатные точки.

Карта описания функции задает ее тип, количество пар точек(Х1, Yi) и СЧА, используемый в качестве аргумента. Формат этой карты имеет следующий вил:

 

НОМЕР FUN[CTION] А.В

где:

НОМЕР -номер функции, задаваемый программистом;

А - аргумент (любой СЧА);

В - тип функции.

Тип функции указывают как СП - для непрерывной и Do - для дискретной функции, где n - число пар точек (Xi, Yi).

Карты, содержащие точки (Х1, Yi), имеют следующий вид: XI,YI/X2,Y2/.../Xi,Yi/.../Xn,Yn причем обязательно X1 < Х2<..Xi <...<Хn.

В GPSS/PC существуют также операторы для описания переменных, составляемых из стандартных числовых атрибутов. Целочисленные переменные, а также булевы переменные описывают оператором VARIABLE. Переменные с плавающей точкой описывают оператором FVARIABLE.

Операторы переменной имеют следующий формат:

 


Поделиться с друзьями:

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.022 с.