Основы моделирования в системе gpss 


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



ЗНАЕТЕ ЛИ ВЫ?

Основы моделирования в системе gpss



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

GPSS World основан на языке моделирования GPSS(от англ. - общецелевая система моделирования). Язык GPSS - это язык декларативного типа, построенный по принципу объектно-ориентированного языка. Проблемной областью GPSS являются системы массового обслуживания (системы с очередями). Основой имитационных алгоритмов в GPSS является, дискретно-событийный подход, разработанный Гордоном.

Основными элементами этого языка являются транзакты и блоки, которые отображают соответственно динамические и статические объекты моделируемой системы. Блоки имитируют различные параметры «устройств» в модели. Как то ожидание, выполнение работы и другие. Блок начинает выполняться при попадании в него транзактов — активных, неделимых элементов модели. К транзактам применяются различные правила описанные в блоках программы. Предназначение объектов системы различно. Выбор объектов в конкретной модели зависит от характеристик моделируемой системы. Каждый объект имеет некоторое число свойств, названых в GPSS стандартными числовыми атрибутами (СЧА). Часть СЧА доступна пользователю только для чтения, а на значение других он может влиять, используя соответствующие блоки.

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

Содержательное значение транзактов определяет разработчик модели. Именно он устанавливает аналогию между транзактами и реальными динамическими элементами моделируемой системы.

С точки зрения программы - транзакт это структура данных, которая содержит такие поля: имя или номер транзакта; время появления транзакта; текущее модельное время; номер блока, в котором находится транзакт; номер блока, куда он продвигается; момент времени начала продвижения; приоритет транзакта; параметры транзакта: Р1,Р2,...

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

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

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

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

2. Транзакт входит в блок, функцией которого является удаление транзакта из модели.

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

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

GENERATE - это блок, через который транзакты входят в модель., попадая в блок

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

Счетчик завершения - это ячейка в памяти ЭВМ, которая хранит целое положительное число. Начальное значение этого счетчика устанавливается в начале моделирования. Оно равняется значению операнда А команды START. В процессе моделирования транзакты попадают в блок TERMINATE [A] и, таким образом, уменьшают значение счетчика на величину операнда А. Моделирование заканчивается, когда значение счетчика становится равным нулю или отрицательному числу.

МОДЕЛИРОВАНИЕ ОДНОКАНАЛЬНЫХ УСТРОЙСТВ

SEIZE (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ)

ADVANCE - реализация задержки во времени

QUEUE, DEPART - сбор статистики об ожидании

TRANSFER - переход транзакта в блок, отличный от последующего

МОДЕЛИРОВАНИЕ МНОГОКАНАЛЬНЫХ УСТРОЙСТВ



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 328; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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