Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитац.мод.учеб.пос.docx
Скачиваний:
262
Добавлен:
21.05.2015
Размер:
530.5 Кб
Скачать

Глава 3. Имитационное моделирование в среде gpss

Технологии имитационного моделирования и различные подходы к моделированию начали бурно развиваться в прошлом столетии, сначала для систем массового обслуживания, затем для технических систем и сетей. Существуют разные среды моделирования, отличающиеся подходами, средствами, функциональными возможностями. Некоторые из них имеют хороший графический интерфейс, позволяющий наблюдать за процессом моделирования. Из наиболее известных в настоящее время GPSS, Micro Saint, Arena, Anylogic и др. Рассмотрим наиболее распространённую и относительно несложную в освоении среду GPSS [2,5,7].

3.1. Общие сведения о языке gpss

Язык моделирования GPSS/PC (General Purpose Simulation System – общецелевая система моделирования) был разработан компанией Minuteman (США) в 1962 году изначально для моделирования дискретных систем и был предназначен для работы в операционной среде DOS. Язык получил широкое распространение и был включён в учебные курсы по моделированию систем у нас в стране и во многих университетах США и других стран. В последнее десятилетие появилась новая версия языка Gpss World, разработанная под Windows, в которой можно моделировать не только дискретные, но и непрерывные процессы. Эти возможности обеспечиваются как новыми объектами языка, так и включением в состав Gpss World языка PLUS – языка программирования низкого уровня, позволяющего взаимодействовать с другими приложениями и создавать собственные библиотеки процедур. Также эта среда обеспечивает высокую интерактивность и визуальное представление информации.

Студенческая версия GPSS/World бесплатная, имеет ограничения лишь на количество используемых в программе блоков (не более 170). Учебную версию можно получить бесплатно на портале www/minutemansoftware.com/download. Не требует установки, для запуска программы достаточно запустить на выполнение файл GPSSW.exe. После этого откроется среда моделирования GPSS/World. Далее необходимо выбрать пункт меню File/Open и в открывшемся диалоговом окне Новый документСоздать Model. В результате будет открыто окно Untitled Model1, в котором необходимо набрать текст программы. Файл с программой можно сохранить в файле с расширением .gps (пункты меню File/Save; File/Save As).

Для запуска программы на выполнение необходимо выбрать пункт меню Command/Create Simulation.

В среде моделирования различают объекты: модель – разрабатывается на языке GPSS, состоит из блоков, создаётся при помощи встроенного текстового редактора; процесс моделирования – результат трансляции модели, получаемый после команды Create Simulation, при наличии ошибок транслятор выдаёт список сообщений об ошибках в окне JOURNAL; отчёт по моделированию – автоматически создаваемый файл, содержащий статистическую информацию об объектах, накопленную в процессе моделирования.

    1. Основные объекты языка gpss

Язык основан на схеме транзактов. Транзакт – это объект, который «путешествует» по системе, перемещаясь от блока к блоку, согласно логике передвижений, предписанной в модели. По пути он может задерживаться на определённое время вследствие своей обработки или занятости того или иного оборудования, создавать очереди, пропускать вперёд другие транзакты, согласно их приоритету и т. д. Транзакты имеют прямую аналогию с заявками в СМО. Каждый транзакт может обладать параметрами (до 100), которые могут меняться в соответствии с логикой модели. Параметры нумеруются или им даются имена. Транзактам может присваиваться приоритет, определяющий предпочтение, который может меняться в программе.

Язык GPSS связан с пошаговым выполнением операторов, называемых блоками (фактически, каждый блок – это отдельная подпрограмма). Каждое продвижение транзакта является событием в модели. Комплекс программ, обеспечивающих выполнение событий, называется симулятором (планировщиком). Его функции:

  • обеспечить продвижение транзактов по заданным маршрутам;

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

  • регистрировать статистическую информацию о функционировании модели;

  • продвигать модельное время в процессе моделирования.

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

Условно все объекты можно разделить на 7 категорий (табл. 3.1).

Таблица 3.1

Объекты языка GPSS

Категории

Типы объектов

Динамическая

Транзакты

Операционная

Блоки

Аппаратная

Одноканальные устройства, многоканальные устройства (памяти), логические ключи

Вычислительная

Функции, переменные, СЧА, генераторы случайных чисел

Статистическая

Очереди, таблицы

Запоминающая

Сохраняемые ячейки, матрицы ячеек

Группирующая

Списки, группы транзактов

Операционные объекты – блоки задают логику функционирования модели системы и определяют пути продвижения транзактов между объектами других категорий. В блоках происходят события четырёх основных типов:

  • создание и уничтожение транзактов;

  • задержка транзакта на определённое время;

  • изменение маршрута движения транзакта, группировка транзактов;

  • изменение числового атрибута (параметра) транзакта.

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

Одноканальное устройство (ОКУ) – оборудование, которое может быть занято только одним транзактом. Например, один узел связи, один мастер, один пункт приёма услуг.

Многоканальные устройства (МКУ) – памяти предназначены для имитации оборудования, осуществляющего параллельную обработку, либо моделирования устройств ограниченной ёмкости (буферы, стоянки транспорта, складские помещения, конвейеры).

Логический ключ – объект, имеющий два состояния «включён» или «выключен», в зависимости от которых другие транзакты определяют пути их дальнейшего следования.

К статистическим объектам относятся очереди и таблицы. В любой системе движение потока заявок может быть задержано из-за недоступности устройства. В этом случае транзакты становятся в очередь. Учёт очередей составляет одну из основных функций планировщика, который автоматически накапливает статистику относительно устройств и очередей. Пользователь может собирать эту информацию в определённых точках модели. Для облегчения табулирования статистической информации предусмотрен объект – таблица, которая используется для получения выборочных распределений, в неё заносится число попаданий конкретного СЧА в некоторый диапазон, а также вычисляется автоматически математическое ожидание и среднеквадратичное отклонение, распределение может быть представлено графически гистограммой.

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

Переменные представляют собой сложные арифметические выражения, которые включают константы, системные числовые атрибуты (СЧА), библиотечные арифметические функции, арифметические и логические операции.

Каждому объекту в GPSS соответствуют атрибуты, описывающие его состояние в данный момент. Они автоматически регистрируются и доступны для использования в течение всего процесса моделирования, называются системными числовыми атрибутами (СЧА). Всего существует более 50 СЧА, наиболее часто используемые приведены в табл. 3.2.

Таблица 3.2

Таблица основных СЧА

Объект

СЧА

Назначение

Генераторы случайных чисел

RNi

Случайное число в диапазоне 0-999, при использовании в качестве аргумента функции в диапазоне [0;0.999]

Транзакт

Рi

PR

M1

MPi

Значение i-го параметра,

Значение приоритета

Время пребывания в модели активного транзакта (от MARKдо текущего времени)

Время прохождения транзактом некоторого участка модели (вычисляется как разность текущего абсолютного времени и значения i-ого параметра транзакта, определяемого блокомMARKi)

Очередь

Qi, Q$имя

Текущая длина i-ой очереди

Переменные

V$имя

Значение арифметической переменной

Сохраняемые ячейки

X$имя

Значение ячейки памяти

Функции

FN$имя

Значение функции

Памяти

S$имя

Количество занятых каналов в МКУ

Окончание таблицы 3.2

Объект

СЧА

Назначение

R$имя

SF$имя

Количество свободных каналов в МКУ

Занятость МКУ: 1– заполнена, 0 – нет

Одноканальные устройства

F$имя

Занятость МКУ: 1– занято, 0 – нет

Логический ключ

LS$имя

Состояние ключа: 1– установлен, 0 – нет

Например, Р1 – СЧА, обозначающий значение первого параметра транзакта; Q$och – СЧА, обозначающий длину очереди с именем och. Если используется символьное имя, то между СЧА и именем ставится знак $.

К группирующей категории относятся группы транзактов и списки. Существует 5 видов списков: текущих событий, будущих событий, задержки ОКУ или МКУ, отложенных прерываний и пользователя.