Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бычков Программирование в системе моделирования ГПСС-2010

.pdf
Скачиваний:
61
Добавлен:
16.08.2013
Размер:
562.49 Кб
Скачать

Федеральное агентство по образованию Национальный исследовательский ядерный университет «МИФИ»

С.П. Бычков А.А. Храмов

ПРОГРАММИРОВАНИЕ

В СИСТЕМЕ МОДЕЛИРОВАНИЯ GPSS

Учебное пособие

Москва 2010

УДК 004.4 (075)

ББК 32.973.26-018.2я7 Б 95

Бычков С.П.

, Храмов А.А. Программирование в системе

 

моделирования GPSS. Учебное пособие. М.: НИЯУ

 

МИФИ, 2010. - 60с.

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

Пособие является основой для проведения занятий по дисциплине «Теория игр и исследование операций. Моделирование систем» по специальности «Прикладная математика и информатика».

Рецензент с.н.с. ИПМ им. М.В. Келдыша РАН, канд. физ.-мат. наук В.А. Фисун

Рекомендовано редсоветом НИЯУ МИФИ к изданию в качестве учебного пособия.

ISBN 978-5-7262-1298-2

© Национальный исследовательский ядерный университет «МИФИ», 2010

ОГЛАВЛЕНИЕ

1.Основные средства системы GPSS…………………………..….4

1.1.Общая характеристика GPSS…………………………….…4

1.2.Типы объектов в GPSS.........................…………………..…6

1.2.1.Динамические объекты.................……………..…….….6

1.2.2.Объекты типа "оборудование".............………..…….….7

1.2.3.Статистические объекты...............…………..…….…....8

1.2.4.Операционные объекты.....................………..………....8

1.2.5.Операторы управления моделью…………………….…9

1.3.Организация работы модели в системе GPSS……………9

1.4.Изображение блоков в GPSS - модели........……………..12

2.Основные блоки системы GPSS………………………………….14

2.1.Задержка транзактов. Блок ADVANCE.....………………...14

2.2.Блоки, описывающие работу устройств.....……………….15

2.2.1.Блоки SEIZE и RELEASE....................………………….16

2.2.2.Блоки PREEMPT и RETURN...................………………17

2.3.Накопители. Блоки ENTER и LEAVE..........……………….19

2.4.Очереди. Блоки QUEUE и DEPART............……………….22

2.5.Логические ключи. Блоки LOGIC и GATE.....……………..25

2.6.Создание и уничтожение транзактов. Блоки

GENERATE и TERMINATE........…………..………..……………………27

2.7.Размножение транзактов. Блок SPLIT......………………..30

2.8.Синхронизация транзактов. Блоки ASSEMBLE,

MATCH и GATHER........................…………..………………….……….31

2.9. Изменение значений параметров транзактов.

Блок ASSIGN................................……………………………..…………33

2.10.Отметка времени. Блок MARK..................……………….34

2.11.Приоритеты транзактов. Блок PRIORITY……….……….35

2.12.Изменение маршрутов движения

транзактов в модели. Блок TRANSFER...................………………….35

2.13.Таблицы. Блоки TABULATE и TABLE......…….....……….37

2.14.Пример модели. Модель порта.................…………….…39

3.Дополнительные возможности системы GPSS ……………….40

3.1.Организация цикла. Блок LOOP.................……………….40

3.2.Обработка прерываний с приоритетами......……………..41

3.3.Сравнение значений. Блок TEST................…………..…..43

3.4.Переменные...................................……………………..…..44

3.5.Хранимые значения............................……………..……… 48

3.6.Функции......................................…………………….……... 50

3.7.Пример модели………………………………..……………... 53

3.7.1.Модель вычислительного центра…….……………….53

3.7.2.Модель многоканальной СМО………………………….54

Список литературы............................…....………………………….57

3

1.ОСНОВНЫЕ СРЕДСТВА СИСТЕМЫ GPSS

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

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

сдискретными событиями.

Для моделирования СМО может использоваться язык Симула-67 /6/. Симула-67 – это язык программирования, ориентированный на широкий класс задач. В плане моделирования Симула-67 позволяет разрабатывать модели как систем с дискретными событиями, так и модели непрерывных систем.

Симула-67 является одним из первых языков программирования (наряду со Smalltalk), в котором используется подход, названный позднее объектноориентированным.

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

1.1. Общая характеристика GPSS

Система GPSS (General Purpose System Simulator)

предназначена для написания имитационных моделей систем с дискретными событиями. Наиболее удобно в

4

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

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

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

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

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

Большая часть необходимой статистики собирается в GPSS автоматически и не требует поэтому дополнительных

5

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

Статистические данные, которые выводятся системой моделирования GPSS после завершения работы модели или после очередного прогона модели, являются итоговыми, статическими.

Стандартные числовые атрибуты (СЧА) и стандартные логические атрибуты (СЛА) обеспечивают доступ к динамической статистике – характеристикам объектов модели в процессе моделирования. Эти характеристики могут использоваться блоками модели в процессе моделирования.

Описание модели должно начинаться описательным блоком SIMULATE.

Завершает описание модели описательный блок END. Система моделирования GPSS читает блоки модели до

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

В следующем разделе рассмотрим общую характеристику основных типов объектов в GPSS и статистику, которая связана с этими блоками.

1.2. Типы объектов в GPSS

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

Объекты разделяются на блоки и динамические объекты.

Блоки в GPSS подразделяются на:

выполняемые, через которые проходят транзакты; описательные на этапе выполнения отсутствуют.

Выполняемые блоки разделяются на блоки типа

“оборудование”, статистические и операционные.

1.2.1. Динамические объекты

Динамические объекты, называемые в GPSS транзактами, служат для моделирования заявок на обслуживание

6

(корабли, посетители кинотеатра, покупатели). Транзакты могут порождаться во время моделирования и уничтожаться (покидать систему). Порождение и уничтожение транзактов выполняется специальными объектами (блоками) GENERATE и TERMINATE, работа которых будет рассмотрена ниже.

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

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

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

1.2.2.Объекты типа "оборудование"

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

В системе GPSS имеются три типа объектов типа

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

можно представить пристани, портальные краны. Устройство может находиться в свободном состоянии или

может быть занято транзактом, причем только одним в каждый момент времени.

В системе GPSS с устройствами" работают" блоки SEIZE, RELEASE, PREEMPT, RETURN.

7

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

Используются блокиSTORAGE, ENTER, LEAVE.

“Логические ключи” – это объекты, каждый из которых может находиться в одном из двух состояний: " включен" или "выключен". Транзакт, проходя через логический ключ, может в зависимости от его состояния изменять маршрут движения по модели, а также менять состояние самого логического ключа. Управляет состоянием ключей блок LOGIC. Проверяет состояние ключа блок TEST.

1.2.3. Статистические объекты

Статистические объекты применяются для сбора и обработки данных, характеризующих работу моделируемой системы.

В системе GPSS имеются два типа статистических объектов: "очередь" и "таблица".

Каждый объект типа "очередь" (в дальнейшем просто "очередь") содержит список транзактов, задержанных в одном или нескольких пунктах системы, и ведет в процессе моделирования подсчет среднего числа задержанных транзактов, среднего времени задержки каждого транзакта и других статистических характеристик соответствующей очереди. Используются блокиQUEUE и DEPART, QTABLE.

Объекты типа "таблица" используются для получения гистограмм случайных величин, распределение которых интересует исследователя. Построение таблиц выполняется блоками TABULATE, TABLE, QTABLE.

1.2.4.Операционные объекты

Коперационным объектам, называемым также блоками, относятся объекты нескольких типов, которые служат для задания логики работы системы путем определения

8

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

Основные операционные объекты (SPLIT, ASSEMBLE, TEST, TRANSFER, GATE, LOOP, GATHER) будут подробно рассмотрены после описания общей схемы работы моделей в системе GPSS.

Правила функционирования операционных объектов составляют основную часть семантики моделиGPSS.

1.2.5. Операторы управления моделью

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

Система моделирования GPSS читает блоки модели до описательного блока START и начинает работу модели.

Между блоками START и END могут быть размещены другие блоки START, а также блоки CLEAR, INITIAL, REPORT /5/. Система моделирования опять читает блоки модели до очередного блока START и начинает работу модели.

1.3. Организация работы модели в системе GPSS

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

GPSS.

На рис. 1.1 изображена общая схема проведения имитационного моделирования в системе GPSS.

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

9

Модель на GPSS

 

Модель

 

 

 

на

 

 

 

ассемблере

 

 

 

GPSS

Программа

 

 

 

перевода

 

 

 

 

 

 

 

 

 

модели

 

 

 

 

 

 

на

 

 

 

 

Интерпретатор

ассемблер

 

GPSS

 

GPSS

 

 

 

 

 

 

 

 

 

 

Результаты

работы

модели

Рис. 1.1. Моделирование в системе GPSS

Модель на ассемблере передается интерпретатору модели, который выполняет моделирование.

Во внутренней форме все объекты, описанные в модели, получают последовательные номера в порядке поступления. Последовательности номеров выстраиваются отдельно по типам объектов: среди устройств, накопителей, очередей и т.д. Эти номера могут быть напрямую указаны в тексте модели программистом.

Интерпретатор модели является основной частью системы моделирования GPSS.

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

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

10