Пиши Дома Нужные Работы

Обратная связь

ФУНКЦИОНАЛЬНАЯ СТРУКТУРА GPSS

 

Система GPSS ориентирована на класс объектов, процесс функционирования которых можно представить в виде множества состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области. Примерами таких объектов являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины, предприятия и т.п. В качестве формальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети, сети Петри и макросети, агрегаты и т.п.

В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Любую модель на языке GPSS можно представить в виде комбинации компонентов, взятых из числа названных объектов. Модель имеет три уровня представления:

 

- верхний уровень,определяемый комбинацией функциональных основных объектов: устройств, памятей, ключей, очередей;

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

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


БЛОКИ

Разработчик конструирует модель из блоков, прибегая, как правило, к наглядной форме ее отображения в виде блок-схемы. Для удобства графического представления модели каждый блок GPSS имеет принятое стандартное обозначение. Построенная схема является одновременно программой на языке GPSS. Для ее ввода в ЭВМ необходимо последовательность блоков представить в виде списка операций, добавив к названиям блоков требуемые операнды.



Каждый блок GPSS имеет входы и выходы, с помощью которых осуществляется их связь в модели. Существуют два особых блока: GENERATE, имеющий только выход, и TERMINATE, имеющий только вход. Через блок GENERATE транзакты вводятся в модель. Блок TERMINATE удаляет транзакты из модели. Любую модель на языке GPSS можно представить в виде совокупности блоков (рис. 1.1).

Ниже дано описание функциональных основных объектов GPSS.


ТРАНЗАКТЫ

Функционирование объекта отображается в модели в виде перемещения транзактов от блока GENERATE в блок TERMINATE через промежуточные блоки. Транзакты, или сообщения являются абстрактными подвижными элементами, которые могут моделировать различные объекты реального мира: сообщения, программы, транспортные средства, людей и т.п. Перемещаясь между блоками модели, транзакты вызывают (и испытывают) различные действия. Возможны их задержки в некоторых точках модели, изменения маршрутов и направлений движения, расщепление транзактов на несколько копий и т.п. С каждым транзактом связан упорядоченный набор данных. Он включает номер транзакта; номер блока, в котором в данный момент находится транзакт; номер следующего блока; время перехода в следующий блок; приоритет, характеризующий очередность обработки транзактов в определенных случаях; а также набор параметров, с помощью которых каждому транзакту можно присвоить числовые значения, выражающие желаемые свойства или характеристики моделируемых объектов: вес, скорость, объем, цвет, время обработки и т.п.

Все объекты GPSS имеют числовые характеристики, называемые стандартными числовыми атрибутами (СЧА). Транзакты имеют четыре СЧА:

PRI - приоритет;

Plj - параметр с номером j;

M$1 - время прохождения транзактом участка модели;

MPSj - промежуточное время, записываемое в параметре Pj;

X$j - номер транзакта.

Блоки, влияющие на атрибуты транзактов и на их движение в модели

В GPSS существует ряд блоков, с помощью которых можно изменить значение параметров транзактов. Блок ASSIGN модифицирует значение параметра транзакта, входящего в этот блок.

Блок INDEX изменяет значение параметра номер 1.

Блок INCREMENT увеличивает значение параметра, блок DECREMENT уменьшает величину параметра.

Блок MARK записывает в указанный им параметр текущее значение таймера абсолютного времени или, если параметр не указан, заменяет значение отметки времени на текущее значение таймера.

С помощьюблока USINGосуществляется доступ текущего транзакта к параметрам другого транзакта модели.

Блок LOCATEопределяет и записывает в параметр текущего транзакта номер блока, в который должен войти определенный транзакт. Пересылка транзакта в требуемую точку модели осуществляется блоком TRANSFER.

Блок ТЕSТ проверяя выполнение определенного условия, может также направлять транзакты в заданную точку модели, если условие не выполняется. В этом его действия аналогичны блоку GATE. Для организации в модели циклов используют блок LOOP,с помощью которого можно предусмотреть многократное прохождение транзактом заданной цепочки блоков.

Изменение приоритета транзакта осуществляет

Блок BUFFER возобновляет просмотр списка текущих событий и используется, как правило, в качестве режима блока PRIORITY.

С помощью блоков TRACE и UNTRACE осуществляют трассировку движения транзактов в модели.

При этом по каждому транзакту выводятся данные следующего вида:

ТРАНЗ 1ИЗ 2В 3 ВРЕМЯ 54 TERMINATIONS ТО GO 1

которые означают: транзакт номер 1 выходит из блока 2 в блок 3 в момент времени 54 единиц, значение счетчика завершений равно 1 (см. 2.1.32, 2.3.6 )

СПИСКИ

1. Списки относятся к элементам внутренней организации системы GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующей системы.

2. Список будущих событий содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE.

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

4. В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT. После снятия прерывания в блоке RETURN транзакты вновь возвращаются в список будущих событий. На рис. 1.2 представлена структура списка GPSS

5. В список синхронизации помещаются транзакты, ожидающие объединения с другими транзактами в блоках GATHER и ASSEMBLE или находящиеся в блоках MATCH. После выполнения условий синхронизации транзакты возвращаются в список текущих событий. Кроме рассмотренных списков, обработка которых происходит без участия программиста, в GPSS/PC существуют списки пользователя, управление которыми осуществляется с помощью блоков LINK и UNLINK. Списки пользователя имеют стандартные числовые атрибуты, к которым можно обращаться внутри модели:

.1. СН$j - текущее число транзактов в списке j;

.2. CA$j - среднее число транзактов в списке j;

.3. CM$j - максимальное число транзактов в списке j;

.4. CCSj - общее число входов транзактов в список j;

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

.6.

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

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

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

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

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

УСТРОЙСТВА
Устройства моделируют объекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в модели определенным блоком. Захват и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE. Для проверки состояния устройств используют GATE. Прерывание моделирует блок PREEMPT, снятие прерывания - блок RETURN.

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

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

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

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

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

.7.4.

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

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

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

.7.8.

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

.7.10.

ПАМЯТИ

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

.7.10.2.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.7.10.16.4.

 

ОЧЕРЕДИ

.7.10.16.4.1.

 

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

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

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

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

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

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

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

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

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

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

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

.7.10.16.4.11.

 

ТАБЛИЦЫ

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

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

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

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

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

.7.10.16.4.11.6.

 

ЯЧЕЙКИ

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

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

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

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

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

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

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

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

.7.10.16.4.11.6.2.4.
НОМЕР FUN[CTION] А.Вгде:

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

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

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

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

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

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

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

.7.10.16.4.11.6.2.12.

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.