Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Общие сведения о GPSSW (язык имитационного моделирования GPSS в среде ОС WINDOWS).




Для моделирования сложных систем, формализуемых в виде систем массового обслуживания, наиболее широко применяется специальный язык программирования GPSS (General Purpose Simulation System). В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди, что позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.

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

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

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

 

 

Рисунок 3.3 Процесс моделирования в GPSSW.

 

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

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

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

• Динамические объекты, соответствующие заявкам в системах массового обслуживания, называются в GPSSW транзактами. Они «создаются» и «уничтожаются» так, как это необходимо по логике модели в процессе моделирования. С каждым транзактом может быть связано произвольное число параметров, несущих в себе необходимую информацию об этом транзакте. Кроме того, транзакты могут иметь различные приоритеты.

• Операционные объекты GPSSW, называемые блоками, соответствуют операторам-блокам исходной программы. Они формируют логику модели, давая транзактам указания: куда идти и что делать дальше. Модель системы на GPSSW можно представить совокупностью блоков, объединенных в соответствии с логикой работы реальной системы.

• Аппаратные объекты GPSSW — соответствуют обслуживающим приборам (устройствам) в СМО. К ним относятся одноканальные и многоканальные устройства. Одноканальное устройство, которое для краткости далее будем называть просто устройством, может обслуживать одновременно только один транзакт. Многоканальное устройство (МКУ) может обслуживать одновременно несколько транзактов. Многоканальное устройство иногда называют памятью.

• Статистические объекты GPSSW служат для сбора и обработки статистических данных о функционировании модели. К ним относятся очереди и таблицы. Каждая очередь обеспечивает сбор и обработку данных о транзактах, задержанных в какой-либо точке модели, например перед одноканальным устройством.

• К вычислительным объектам GPSSW относятся переменные (например, арифметические) и функции. Они используются для вычисления некоторых величин, заданных арифметическими или логическими выражениями либо табличными зависимостями.

• Запоминающие объекты GPSS/PC обеспечивают хранение в памяти ПК отдельных величин, используемых в модели, а также массивов таких величин. К ним относятся так называемые сохраняемые величины и матрицы сохраняемых величин.

Каждому объекту того или иного класса соответствуют числовые атрибуты, описывающие его состояние в данный момент модельного времени. Кроме того, имеются системные атрибуты, относящиеся не к отдельным объектам, а к модели в целом. Значения атрибутов всех объектов модели по окончании моделирования выводятся в стандартный отчет GPSSW.

3.2.2 Управление последовательностью выполнения программы GPSS: понятие симулятора и таймера модельного времени.

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

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

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

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

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

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

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

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

Таймер GPSS/PC имеет следующие особенности:

1) регистрируются только целые значения (все временные интервалы в модели изображаются целыми числами);

2) единица модельного времени определяется разработчиком модели, который задает все временные интервалы в одних и тех же, выбранных им единицах;

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

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

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

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

Симулятор GPSS/PC помещает транзакты в зависимости от условий в модели в тот или иной список и переносит транзакты из списка в список, просматривает списки, выбирая следующий транзакт для обработки, корректирует таймер модельного времени после обработки всех транзактов в списке текущих событий.


Поделиться:

Дата добавления: 2014-11-13; просмотров: 104; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты