Реферат: Моделирование на GPSS
Реферат: Моделирование на GPSS
ОСНОВЫ МОДЕЛИРОВАНИЯ НА GPSS/PC
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ
.................................................... 1 1. ОБЩИЕ СВЕДЕНИЯ О
GPSS/PC ................................. 2
2. ОСНОВНЫЕ БЛОКИ GPSS/PC И СВЯЗАННЫЕ С НИМИ ОБЪЕКТЫ
........ 6
2.1. Блоки, связанные с транзактами
.................... 6
2.2. Блоки, связанные с аппаратными объектами
.......... 13
2.3. Блоки для сбора статистических данных
............. 15
2.4. Блоки, изменяющие маршруты транзактов
............. 18
2.5. Блоки, работающие с памятью .......................
21
2.6. Блоки для работы со списками пользователя
......... 23
3. УПРАВЛЯЮШИЕ ОПЕРАТОРЫ GPSS/PC
............................ 25
4. НЕКОТОРЫЕ ПРИЕМЫ КОНСТРУИРОВАНИЯ GPSS-МОДЕЛЕЙ
............ 42
4.1. Косвенная адресация
............................... 42
4.2. Обработка одновременных событий
................... 44
5. КОМАНДЫ GPSS/PC И ТЕХНОЛОГИЯ РАБОТЫ С ПАКЕТОМ
............ 47
5.1. Загрузка интегрированной среды
.................... 47
5.2. Ввод новой модели
................................. 47
5.3. Редактирование текста модели
...................... 48
5.4. Запись и считывание модели с диска
................ 49
5.5. Прогон модели и наблюдение за моделированием
...... 49
5.6. Получение и интерпретация стандартного
отчета ..... 53
СПИСОК ЛИТЕРАТУРЫ
........................................... 58
ВВЕДЕНИЕ
Процессы функционирования различных систем и
сетей связи могут
быть представлены той или иной совокупностью
систем массового
обслуживания (СМО) -
стохастических, динамических, дискретно-непре-
рывных математических моделей. Исследование
характеристик таких мо-
делей может проводиться либо аналитическими
методами, либо путем
имитационного моделирования [1-6].
Имитационная модель отображает стохастический
процесс смены
дискретных состояний СМО в непрерывном времени в
форме моделирующе-
го алгоритма. При его реализации на ЭВМ
производится накопление
статистических данных по тем атрибутам модели,
характеристики кото-
рых являются предметом исследований. По окончании
моделирования на-
копленная статистика обрабатывается, и результаты
моделирования по-
лучаются в виде выборочных распределений исследуемых
величин или их
выборочных моментов. Таким образом, при имитационном
моделировании
систем массового обслуживания речь всегда идет о
статистическом
имитационном моделировании [5;6].
Сложные функции моделирующего алгоритма могут
быть реализованы
средствами универсальных языков программирования
(Паскаль, Си), что
предоставляет неограниченные возможности в
разработке, отладке и
использовании модели. Однако подобная гибкость
приобретается ценой
больших усилий, затрачиваемых на разработку и
программирование
весьма сложных моделирующих алгоритмов, оперирующих
со списковыми
структурами данных. Альтернативой этому является
использование спе-
циализированных языков имитационного моделирования
[5-7].
Специализированные языки имеют средства описания
структуры и
процесса функционирования моделируемой системы, что
значительно об-
легчает и упрощает программирование имитационных
моделей, поскольку
основные функциии моделирующего алгоритма при этом
реализуются ав-
томатически. Программы имитационных моделей на
специализированных
языках моделирования близки к описаниям
моделируемых систем на
естественном языке, что позволяет конструировать
сложные имитацион-
ные модели пользователям, не являющимся
профессиональными програм-
мистами.
Одним из
наиболее эффективных и распространенных языков моде-
лирования сложных
дискретных систем является в настоящее время язык
GPSS [1;4;7].
Он может быть с наибольшим успехом использован для
моделирования
систем, формализуемых в виде систем массового обслу-
живания. В
качестве объектов языка используются аналоги таких стан-
дартных
компонентов СМО, как заявки, обслуживающие приборы, очереди
и т.п. Достаточный
набор подобных компонентов позволяет конструиро-
вать сложные
имитационные модели, сохраняя привычную терминологию
СМО.
На
персональных компьютерах (ПК) типа IBM/PC язык GPSS реали-
зован в рамках
пакета прикладных программ GPSS/PC [8]. Основной мо-
дуль пакета
представляет собой интегрированную среду, включающую
помимо транслятора
со входного языка средства ввода и редактирова-
ния текста модели,
ее отладки и наблюдения за процессом моделирова-
ния, графические
средства отображения атрибутов модели, а также
средства
накопления результатов моделирования в базе данных и их
статистической
обработки. Кроме основного модуля в состав пакета
входит модуль
создания стандартного отчета GPSS/PC, а также ряд до-
полнительных модулей и файлов.
В данном
издании, состоящем из двух частей, излагаются основы
моделирования
систем и сетей связи с использованием пакета GPSS/PC.
В первой части
рассматриваются основные понятия и средства GPSS/PC,
приемы
конструирования GPSS-моделей и технология работы с пакетом.
Изложение
материала сопровождается небольшими учебными примерами.
Относительно
подробное рассмотрение языка GPSS/PC вызвано
отсутствием в
литературе учебного материала по данной версии языка.
Во второй
части рассматриваются примеры GPSS-моделей различных
систем и сетей
массового обслуживания, используемых для формализа-
ции процессов
функционирования систем и сетей связи. Приводится
также ряд примеров
моделирования систем и сетей связи с использова-
нием GPSS/PC.
Подробно комментируются тексты GPSS-моделей и резуль-
таты моделирования.
1. ОБЩИЕ
СВЕДЕНИЯ О GPSS/PC
Исходная программа
на языке GPSS/PC, как и программа на любом
языке
программирования, представляет собой последовательность опе-
раторов. Операторы
GPSS/PC записываются и вводятся в ПК в следующем
формате:
номер _строки имя операция
операнды ; комментарии
Все операторы
исходной программы должны начинаться с номе-
ра 0_строки - целого положительного
числа от 1 до 9999999. Пос-
ле ввода операторов они располагаются в исходной
программе в соот-
ветствии с нумерацией строк. Обычно нумерация
производится с неко-
торым шагом, отличным от 1, чтобы иметь
возможность добавления опе-
раторов в нужное место исходной
программы.Некоторые операторы удо-
бно вводить, не включая их в исходную программу.
Такие операторы
вводятся без номера строки. В настоящем
издании при описании формата операторов и в примерах
моделей номера строк будут опускаться для лучшей
читаемости текста. Отдельные операторы могут иметь имя для ссылки на
эти операторы
в других операторах. Если такие ссылки
отсутствуют, то этот элемент
оператора не является обязательным. В
поле операции записывается ключевое слово (название операто- ра),
указывающее конкретную функцию, выполняемую данным оператором.
Это поле
оператора является обязательным. У некоторых операторов
поле операции включает в себя также
вспомогательный операнд.
В полях
операндов записывается информация, уточняющая и конк-
ретизирующая
выполнение функции, определенной в поле операции. Эти
поля в зависимости
от типа операции содержат до семи операндов,
расположенных в
определенной последовательности и обозначаемых
обычно первыми
буквами латинского алфавита от A до G. Некоторые
операторы вообще
не имеют операндов, а в некоторых операнды могут
быть опущены, при
этом устанавливаются их стандартные значения (по
умолчанию). При
записи операндов используется позиционный принцип:
пропуск операнда отмечается запятой.
Необязательные комментарии в случае их
присутствия отделяются от
поля операндов точкой с запятой. Комментарии не
могут содержать букв русского алфавита. Операторы GPSS/PC
записываются, начиная с первой позиции, в свободном формате, т.е.
отдельные поля разделяются произвольным ко-
личеством
пробелов. При вводе исходной программы в интегрированной
среде GPSS/PC
размещение отдельных полей операторов с определенным
количеством интервалов между ними производится
автоматически.
Каждый оператор
GPSS/PC относится к одному из четырех типов:
операторы-блоки,
операторы определения объектов, управляющие опера-
торы и операторы-команды.
Операторы-блоки формируют логику
модели. В GPSS/PC имеется
около 50 различных
видов блоков, каждый из которых выполняет свою
конкретную
функцию. За каждым из таких блоков стоит соответствующая
подпрограмма
транслятора, а операнды каждого блока служат парамет-
рами этой подпрограммы.
Операторы определения объектов
служат для описания пара-
метров некоторых объектов GPSS/PC (о самих
объектах речь пойдет
дальше). Примерами параметров объектов могут
быть количество каналов в мно- гоканальной системе массового
обслуживания, количество строк и
столбцов матрицы и т.п.
Управляющие операторы служат для
управления процессом модели- рования (прогоном модели).
Операторы-команды позволяют управлять
работой интегрированной среды GPSS/PC.
Управляющие операторы и
операторы-команды обычно не включаются в исходную
программу, а
вводятся непосредственно
с клавиатуры ПК в процессе интерактив-
ного взаимодействия с интегрированной средой.
После трансляции исходной программы в памяти ПК создается так
называемая текущая модель, являющаяся
совокупностью разного типа
объектов, каждый из которых представляет
собой некоторый набор
чисел в памяти ПК, описывающих свойства и текущее
состояние объекта.
Объекты GPSS/PC можно разделить на семь
классов:
динамические, операционные, аппаратные,
статистические, вычислитель-
ные, запоминающие и группирующие.
Динамические
объекты, соответствующие заявкам в системах
массового обслуживания, называются в GPSS/PC
транзактами. Они
"создаются" и "уничтожаются"
так, как это необходимо по логике моде-
ли в процессе моделирования. С каждым транзактом
может быть связано
произвольное число параметров, несущих в себе
необходимую информа-
цию об этом транзакте. Кроме того, транзакты могут
иметь различные
приоритеты.
Операционные объекты GPSS/PC, называемые
блоками, соответствуют
операторам-блокам исходной программы. Они, как
уже говорилось,
формируют логику модели, давая транзактам
указания: куда идти и что
делать дальше. Модель системы на GPSS/PC можно
представить совокуп-
ностью блоков, объединенных в соответствии с
логикой работы реаль-
ной системы в так называемую блок-схему.
Блок-схема модели
может быть изображена графически, наглядно
показывая взаимодействие
блоков в процессе моделирования.
Аппаратные объекты GPSS/PC - это абстрактные
элементы, на ко-
торые может быть расчленено (декомпозировано)
оборудование реальной
системы. К ним относятся одноканальные и
многоканальные устрой-
ства и логические переключатели. Многоканальное
устройство иногда
называют памятью.
Одноканальные и многоканальные устройства
соответствуют обслу-
живающим приборам в СМО. Одноканальное
устройство, которое для
краткости далее будем называть просто
устройством, может обслужи-
вать одновременно только один транзакт.
Многоканальное устройство
(МКУ) может
обслуживать одновременно несколько транзактов. Логи-
ческие
переключатели (ЛП) используются для моделирования двоичных
состояний
логического или физического характера. ЛП может нахо-
диться в двух
состояниях: включено и выключено. Его состояние может
изменяться в
процессе моделирования, а также опрашиваться для при-
нятия определенных решений.
Статистические объекты GPSS/PC служат для
сбора и обработки
статистических данных о функционировании модели.
К ним относятся
очереди и таблицы .
Каждая очередь
обеспечивает сбор и обработку данных о транзак-
тах, задержанных в
какой-либо точке модели, например перед однока-
нальным
устройством. Таблицы используются для получения выборочных
распределений
некоторых случайных величин, например времени пребы-
вания транзакта в модели.
К вычислительным объектам GPSS/PC относятся
переменные (ариф-
метические и булевские) и функции. Они
используются для вычис-
ления некоторых величин, заданных арифметическими
или логическими
выражениями либо табличными зависимостями.
Запоминающие объекты GPSS/PC обеспечивают
хранение в памяти ПК
отдельных величин, используемых в модели, а
также массивов таких
величин. К ним относятся так называемые сохраняемые
величины и
матрицы сохраняемых величин.
К объектам группирующего класса относятся
списки пользователя
и группы. Списки пользователя используются для
организации очере-
дей с дисциплинами, отличными от дисциплины
"раньше пришел – раньше
обслужен". Группы в данном издании
рассматриваться не будут.
Каждому объекту того или иного класса
соответствуют числовые
атрибуты, описывающие его состояние в данный
момент модельного вре-
мени. Кроме того, имеется ряд так называемых
системных атрибутов,
относящихся не к отдельным объектам, а к модели в
целом.
Значения атрибутов всех объектов модели по
окончании моделирования
Выводятся в стандартный отчет GPSS/PC. Большая
часть атрибутов дос-
тупна программисту и составляет так называемые
стандартные число-
вые атрибуты (СЧА), 0которые могут
использоваться в качестве опе-
рандов операторов исходной программы. Все СЧА в
GPSS/PC являются це-
лыми числами.
Каждый объект GPSS/PC имеет имя и
номер. Имена объектам
даются в различных операторах исходной программы,
а соответствующие
им номера транслятор присваивает автоматически.
Имя объекта предста-
вляет собой начинающуюся с буквы
последовательность букв латинского
алфавита, цифр и символа
"подчеркивание". При необходимости имени
любого объекта, кроме имени блока, можно поставить
в соответствие
любой номер с помощью оператора описания EQU,
имеющего следующий
формат:
имя EQU номер
Блокам присваиваются их порядковые номера в
исходной программе
(непутать с номерами строк!).
Для ссылки 0на какой-либо стандартный
числовой атрибут некото-
рого объекта соответствующий операнд оператора
исходной программы
записывается одним из следующих способов:
СЧА $имя ;
СЧА
j ,
где СЧА - системное обозначение (название)
конкретного стандар-
тного числового атрибута данного объекта;
имя - имя объекта;
j - номер объекта; $ - символ-разделитель.
Прогон текущей модели, т.е. собственно
моделирование, выполня-
ется с помощью
специальной управляющей программы, которую называют
симулятором (от
английского SIMULATE - моделировать, имитировать).
Работа GPSS-модели
под управлением симулятора заключается в переме-
щении транзактов
от одних блоков к другим, аналогично тому, как в
моделируемой СМО перемещаются заявки,
соответствующие транзактам.
В начальный момент
времени в GPSS-модели нет ни одного тран-
закта. В
процессе моделирования симулятор генерирует транзакты в
определенные
моменты времени в соответствии с теми логическими пот-
ребностями,
которые возникают в моделируемой системе. Подобным же
образом транзакты
покидают модель в определенные моменты времени в
зависимости от
специфики моделируемой системы. В общем случае в мо-
дели одновременно
существует большое число транзактов, однако в
каждый момент
времени симулятор осуществляет продвижение только ка-
кого-либо одного транзакта.
Если транзакт
начал свое движение, он перемещается от блока к
блоку по пути,
предписанному блок-схемой. В тот момент, когда тран-
закт входит в
некоторый блок, на исполнение вызывается подпрограмма
симулятора,
соответствующая типу этого блока, а после ее выполне-
ния, при котором
реализуется функция данного блока, транзакт "пыта-
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|