Часы модельного времени в GPSS




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

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

 

Формат программы на языке GPSS

Разработка GPSS-модели состоит из двух этапов:

1. В соответствии с принципом функционального соответствия между элементами моделируемой системы (реальной) и элементами модели устанавливается взаимно однозначное соответствие, которое оформляется в виде таблицы. Единица модельного времени (МВ), соответствующая единичному изменению показаний часов реального времени, определяется программистом, который должен задавать все интервалы времени в выбранных им единицах. Пример таблицы функционального соответствия приведен в Таблица 1.

 

Таблица 1 – Таблица функционального соответствия

 

Эл-т моделируемой системы (реальной) Элемент модели
1 сек 10 единиц МВ

 

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

2.1. Описание вычислительных, статистических, ссылочных элементов и элементов, имитирующих оборудование (т.е., описание статики). В простых программах эта часть может отсутствовать.

2.2. Описание процессов, развивающихся в системе, в форме абстрактных действий над элементами языка (т.е., описание динамики).

 

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

 

Формат инструкции GPSS

 

[<метка>] <операция> <операнды> [<;комментарий>]

 

Каждая инструкция языка записывается в отдельной строке и содержит следующие поля:

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

­ поле операций, в котором указывается наименование действия над элементами языка, т.е. обозначение соответствующего блока;

­ поле операндов, в котором записываются СЧА элементов; поле операндов состоит из подполей <A>, <B>, <C>, <D>, <E>, <F>, G>, содержимое которых отделяется друг от друга запятыми; если одно из подполей операндов необходимо опустить, пробел не ставится, вместо него ставится запятая.

 

 

Группы элементов GPSS

 

Группа основных элементов

 

Группу основных элементов GPSS образуют транзакт и блок.

 

Транзакт

 

Транзакт – основное понятие динамическогопроцесса функционирования модели системы, единственный тип элемента, который существует в модели временно. Любой трназакт характеризуется набором параметров, которые являются множеством СЧА, принадлежаших транзакту. Параметры транзакта не имеют никаких ограничений на их физический смысл. Конкретный физический смысл транзакта и его параметров определяется предметной областью решаемой задачи. Транзактом может быть заявка, пришедшая на обслуживание в систему массового обслуживания (СМО), автомобиль при моделировании работы автостоянки, отказ системы при моделировании надежности системы и т.п. Параметры транзакта – единственная разновидность атрибутов, значения которых устанавливаются и модифицируются только в соответствии с логикой программы модели, заданной программистом. СЧА всех остальных элементов изменяются как под влиянием программы, так и под влиянием симулятора, т.к. их семантика заранее однозначно определена в языке. Параметры транзакта – единственный вид СЧА, существующих в модели временно.

 

Блок

 

Блок – тип элемента, который определяет действия над всеми остальными элементами GPSS. Блок ассоциируется с названием действия, которое определяет тип блока, например, блок «задержать транзакт», блок «занять устройство». С точки зрения кодировки программы модели алгоритм определяется последовательностью блоков, т.к. блок – основная инструкция языка GPSS. Действие, связанное с любым блоком, выполняется, когда этому блоку передается управление, т.е. когда в этот блок входит транзакт. Т.к. в модели одновременно могут находиться несколько транзактов, одновременно в модельном времени могут выполняться действия, связанные с различными блоками, но в реальном времени в каждый момент может обрабатываться только один транзакт. Перемещение транзакта от блока к блоку называется движением транзакта по программе модели. Это движение разворачивается во времени. Множество движущихся транзактов определяет протекание в системе паралелльных процессов.

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

­ ввести транзакт в модель – блок GENERATE,

­ вывести транзакт из модели – блок TERMINATE,

­ задержать транзакт – блок ADVANCE.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-01-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: