Цель работы: познакомиться и изучить рабочую среду системы GPSS World.
План выполнения работы:
- 1) зарегистрируйтесь в системе,
- 2) выполните практическую часть лабораторной работы,
- 3) выйдите из системы, сохранив листинги программы и отчета.
Теоретическая часть
Язык моделирования систем GPSS
Общие сведения о языке GPSS
Язык моделирования GPSS (General Purpose System Simulation) разработан фирмой IBM в США и с 1962 года входит в стандартное математическое обеспечение машин серии IBM 360/370. По сравнению с другими языками моделирования язык GPSS получил наиболее широкое распространение. Он включен в учебные курсы вузов по моделированию систем у нас в стране и изучается в аналогичных курсах во многих колледжах и университетах США и других стран. В учебном пособии рассматривается одна из версий языка GPSS, реализованная в среде MS DOS для компьютеров класса IBM XT и выше.
Язык GPSS ориентирован на решение задач статистического моделирования на ЭВМ процессов с дискретными событиями. Такими процессами описывается прежде всего функционирование систем массового обслуживания произвольной структуры и сложности: систем обработки данных, систем транспорта и связи, технологических процессов, а также функционирование вычислительных систем и разного рода автоматизированных систем.
РК6. Имитационное моделирование. Основы работы в среде GPSS World
Язык основан на схеме транзактов (сообщений). Под транзактом понимается формальный объект, который “путешествует” по системе (перемещается от блока к блоку), встречая на пути всевозможные задержки, вызванные занятостью тех или иных единиц оборудования. Транзакты имеют прямую аналогию с заявками в системах массового обслуживания.
В качестве транзакта может выступать программа обработки информации, телефонный вызов, отказ системы при исследовании надежности и т.д. Каждый транзакт обладает совокупностью параметров (до100), которые называются атрибутами транзакта. В процессе имитации атрибуты могут меняться в соответствии с логикой работы исследуемой системы.
Язык GPSS — язык интерпретируемого типа, он связан с пошаговым выполнением операторов, называемых блоками. Совокупности блоков описывают функционирование самой моделируемой системы либо содержат информацию о порядке моделирования (о продвижении транзактов). Каждое продвижение транзакта (сообщения) является событием в модели.
Комплекс программ, планирующий выполнение событий, реализующий функционирование блоков моделей, регистрирующий статистическую информацию о продолжении транзактов, называется симулятором. Симулятор регистрирует время наступления каждого из известных на данный момент событий и выполняет их с нарастающей временной последовательностью. Симулятор обеспечивает отсчет модельного времени в принятых единицах, называемых абсолютным условным временем. С каждым сообщением связано относительное условное время, отчет которого начинается при входе сообщения в моделируемую систему и заканчивается при выходе сообщения из системы. Оcновными функциями управляющих операторов/блоков языка являются:
Язык GPSS, изменение маршрутов транзактов. Имитационное моделирование лекция 3.
- 1) создание и уничтожение транзактов,
- 2) изменение их атрибутов,
- 3) задержка транзактов,
- 4) изменение маршрутов транзактов в системе:
Основные группы объектов языка:
- 1) объекты, имитирующие единицы оборудования системы (устройство, память и логические переключатели);
- 2) статистические объекты (очередь, таблица),
- 3) вычислительные объекты (ячейка, арифметическая и логические переменные),
- 4) списки,
- 5) прочие объекты.
В рассматриваемой версии языка реализованы следующие объекты языка: устройство, память, очередь, таблица, ячейка, арифметическая переменная.
Устройство имитирует единицу оборудования, которое может одновременно обрабатывать только один транзакт. Устройство аналогично обслуживающему прибору в системе массового обслуживания (СМО). Оно служит для моделирования таких средств обработки элементов потоков, как устройства ЭВМ, каналы связи, станки, и т.п. На устройствах можно реализовать самые различные дисциплины обслуживания транзактов, включающие учет требуемого времени обслуживания, значения приоритетов, возможности прерывания и т.д.
Память (накопитель) имитирует единицу оборудования, в которой может обрабатываться (храниться) несколько транзактов одновременно. Память позволяет легко моделировать средства обработки с ограниченной емкостью (стоянки автотранспорта, портовые причалы, устройства памяти ЭВМ, каналы телекоммуникаций, конвейеры и т.п.)
Очередь — объект, связанный со сбором статистики о задержках, возникающих на прохождения транзакта. Чаще всего очередь помещают перед устройством либо памятью. Следует учитывать, что естественно образующиеся в процессе моделирования очереди транзактов обрабатываются стимулятором автоматически, а описываемый объект языка служит лишь для обеспечения вывода на печать соответствующих статистических данных.
Таблица обеспечивает накопление в процессе моделирования статистики о каком-либо заданном случайном параметре модели. По окончании прогона модели эта статистика автоматически обрабатывается и выводится на печать, в частности, в виде таблицы относительных частот попадания значений случайного параметра (аргумента таблицы) в указанные частотные интервалы. Печатаются также среднее значение и среднее квадратное отклонение аргумента.
Ячейки используются для записи, накопления и хранения численных значений различных входных и выходных параметров моделируемой системы. Эти значения могут быть использованы для организации счетчиков числа проходящих транзактов, для вывода значений варьируемых параметров модели, для временного хранения значений стандартных числовых атрибутов (СЧА). Значения ячеек всегда выводятся на печать.
Арифметическая переменная позволяет выполнить заданную последовательность арифметических операций над любыми СЧА модели для вычисления значения зависимости от них параметра.
Любая программа на GPSS связана с созданием транзактов, проведением их через последовательность блоков и уничтожением транзактов. При этом создание или генерация транзактов основывается на знании закономерностей информационных потоков, циркулирующих в моделируемой системе, а путь прохождения транзакта через блоки определяется спецификой работы оборудования исследуемой системы.
Источник: studwood.net
Запуск первый программы на GPSS World — Урок 1
GPSS World student version можно скачать бесплатно с официального сайта minutemansoftware.
Запускаем программу, переходим на вкладку File -> New
Далее выбираем Model, жмём Ок
Пишем самую простенькую программу
GENERATE 1 ; Время генерирования одной транзакции
TERMINATE 1 ; Удаляем одну транзакцию
START 10 ; время моделирования 10 ед. времени (минут)
Чтобы запустить программу, переходим на вкладку Command -> Create Simulation
В итоги должно появится два окна — журнал ошибок и листинг отчёта.
Журнал ошибок (ошибок нет)
02/01/19 14:56:13 Model Translation Begun.
02/01/19 14:56:13 Ready.
02/01/19 14:56:13 Simulation in Progress.
02/01/19 14:56:13 The Simulation has ended. Clock is 10.000000.
02/01/19 14:56:14 Reporting in Untitled Model 1.6.1 — REPORT Window.
Листинг отчёта — Report
2651
Источник: www.matematicus.ru
НАСТРОЙКА, ЗАПУСК И ИСПОЛЬЗОВАНИЕ ИМИТАЦИОННОГО ПРИЛОЖЕНИЯ
После завершения разработки и проверки всех форм можно считать, что вы создали имитационное приложение, и можно, используя его, проводить полноценное исследование. Перед началом исследования необходимо настроить приложение под конкретный эксперимент с моделью, ваш компьютер и выбрать способ запуска приложения.
ЗАПУСК И НАСТРОЙКА ИМИТАЦИОННОГО ПРИЛОЖЕНИЯ
Запустить созданное приложение можно двумя способами:
- 1) с использованием команды тестирования «Проверить форму»;
- 2) созданием исполняемого модуля командой «Создать ЕХЕ модуль».
В первом случае на панели инструментов редактора форм необходимо выбрать команду «Проверить форму». После нажатия на команду мышью приложение стартует в виде отдельного окна. Такой запуск необходим разработчику при отладке приложения и в случае необходимости его корректировки, так как запуск осуществляется в рамках всего имитационного проекта и можно в случае необходимости быстро изменять модель и формы. А такая необходимость действительно существует на первоначальной стадии жизненного цикла приложения, пока проект находится у разработчика и постоянно им дорабатывается.
Второй способ запуска используется, когда приложение полностью отлажено, удовлетворяет вас по дизайну и функциональности, и далее необходимо только провести имитационное исследование или передать приложение заказчику. Тогда для запуска необходимо использовать команду «Создать ЕХЕ модуль». Эта команда также доступна с панели инструментов редактора форм.
После выполнения данной команды GPSS STUDIO сформирует в отдельной папке исполняемый модуль (файл с расширением, ехе) и небольшой дополнительный набор файлов, необходимых для работы приложения, который будет независим от среды разработки. Далее, чтобы запустить приложение, необходимо будет зайти в эту папку и запустить исполняемый модуль, т.е. для его запуска не нужна среда моделирования GPSS STUDIO. Это, действительно, важно, когда вы хотите передать приложение заказчику, а исходный проект оставить у себя. Чаще всего заказчику и не нужна среда моделирования, и на этом он даже может сэкономить средства. Так как в приложении происходит запуск GPSS- моделей, то для проведения экспериментов в приложении будет необходима только система моделирования GPSS World.
Первоначальный вид окна имитационного приложения на примере модели «Железнодорожный участок» после его запуска приведен на рис. 6.1.
Рис. 6.1. Первоначальный вид окна имитационного приложения после запуска
Из рисунка видно, что пользователю для дальнейшей работы с приложением и проведения имитационного исследования доступен ряд вкладок — «Ввод данных», «Планирование», «Моделирование» и «Результаты».
Рис. 6.2. Вкладка имитационного приложения «Планирование»
Используя вкладку «Планирование», пользователь может планировать каждую серию экспериментов либо проводить одиночный эксперимент с исходными данными, указанными на вкладке «Ввод данных». Методы и инструменты планирования были подробно описаны при создании формы «Планирование экспериментов», в полной мере они доступны при работе с этой вкладкой.
После подготовки эксперимента или серии экспериментов можно запускать их на исполнение. Для этой цели используется вкладка «Моделирование», которая изображена на рис. 6.3.
Данная вкладка является новой для нас, и поэтому остановимся на ней более подробно. Ее предназначение подготовить (настроить) модель к запуску моделирования, выбрать метод планирования эксперимента, запустить моделирование, а затем, если нужно, остановить его.
Все диалоги на вкладке организованы посредством ввода команд через четыре световые кнопки и одно выпадающее меню. Для настройки модели, метода сбора статистики и самого приложения существуют световые кнопки (команды), которые показаны на рис. 6.3.
Рассмотрим каждую из этих команд, хотя некоторые из них повторяют настройки, рассмотренные нами ранее при изложении основных инструментов среды GPSS STUDIO. Многие настройки уже установлены правильно. Но в любом случае нужно все перепроверить, используя возможности приложения. Ведь любая
Рис. 6.3. Вкладка имитационного приложения «Моделирование»
ошибка в настройках может привести к ошибочным результатам экспериментов и ввести в заблуждение. В частности, если вы перепутаете единицу модельного времени, например, поставив секунду вместо минуты. В этом случае моделирование пройдет в другом масштабе времени и результаты будут искажены.
Если пользователь нажмет на световую кнопку «Настройка модели», то будет выведен диалог настройки модели, показанный на рис. 6.4.
Рис. 6.4. Диалог настройки параметров модели
С помощью данного окна доступны диалоги настройки ряда параметров модели — единицы модельного времени, начала моделирования по календарной дате, периода моделирования и способа завершения прогона.
Для задания минимальной единицы модельного времени имеется диалоговая секция и выпадающее меню. Сначала с помощью меню определяется масштаб времени (секунда, минута, час, день, месяц и т.д.), а затем через диалоговую секцию уточняется, скольким единицам равен минимальный квант хода часов в модели. Например, можно установить его 15 с, или 3 мес (квартал).
Дата начала моделирования может быть определена с помощью специального календаря с точностью до года, месяца и дня, а затем уточнена с помощью цифровых часов — до конкретного часа, минут и секунд. Конечно, во многих моделях не требуется такой установки, но наличие таких возможностей существенно расширяет количество задач, решаемых с помощью имитационного моделирования.
Следующим действием при работе с данным окном является установка специального указателя. Он определяет, каким образом должен завершаться имитационный эксперимент. Возможны два способа: 1) по истечении значения установленного модельного времени, либо 2) по обнулению счетчика транзактов, установленного командой «START». Как известно, в этом случае разработчик должен предусмотреть в модели блоки TERMINATE с ненулевым значением операнда А. При выборе первого способа необходимо задать соответственно длительность периода моделирования по процедуре, аналогичной заданию единицы модельного времени. Во втором случае в диалоговой секции можно задать значение счетчика — количество реализаций (транзактов), требуемых для завершения модели.
Далее необходимо проверить существующие настройки мониторинга и, если есть необходимость, изменить их. Для этого существует световая кнопка «Настройки динамики». Ваше задание параметров модели должно быть обязательно подтверждено или отменено командами «Ок»/«Отмена». В результате исполнения данной команды будет выведено окно «Настройки мониторинга модели», которое приведено на рис. 6.5.
Основным функционалом настроек является определение пользователем, как и с какой периодичностью будут собираться и сохраняться в базе данных результаты моделирования (ранее определенные пользователем в процедуре идентификации имен объектов мониторинга) при проведении данного эксперимента или серии
Рис. 6.5. Окно «Настройки мониторинга модели»
экспериментов с моделью. Интервал сбора данных задается с помощью диалога, аналогичного тому, который мы описывали в предыдущем окне для задания единицы модельного времени и периода моделирования. Кроме того, имеется возможность посредством установления специального указателя определить, будет ли вообще собираться динамика изменения показателей или данных для анимации.
Возможен вариант отказа от того и другого или, наоборот, задания обеих опций. Ваше задание по мониторингу данных также должно быть обязательно подтверждено или отменено командами «Ок»/«Отмена». В качестве рекомендации можно сказать, что не следует нагружать приложение сбором ненужных для вас данных, так как это приводит к значительной вычислительной нагрузке и может существенно замедлить исполнение экспериментов. Всегда нужно семь раз отмерить, прежде чем уменьшить, например, дискретность сбора данных. Сначала собирайте результаты по минимуму и только при обнаружении критических мест в системе можете увеличить объем мониторинга.
Последней процедурой настройки является указание пути доступа к моделирующему ядру приложения — системе GPSS World. На рис. 6.6 приведены варианты настройки, возможные в приложении.
В среде GPSS STUDIO моделирующее ядро может располагаться на вашем компьютере, сервере в рамках локальной сети и на любом доступном сервере в сети Интернет. Все зависит от типа лицензии, которой вы пользуетесь. Установка режима настройки осуще-
Рис. 6.6. Настройка пути доступа к системе GPSS World
ствляется выбором мышью специального указателя «Выполнять моделирование на этом компьютере» и «Выполнять моделирование на сервере». В первом случае нужно будет указать и путь доступа к GPSS World на вашем компьютере. На данном рисунке приведены два примера — установка пути доступа на вашем компьютере (на рисунке справа) и выбор конкретного сервера в сети Интернет (на рисунке слева).
Источник: studref.com