Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример моделирования на языке моделирования GPSS




УТВЕРЖДАЮ

Ректор университета

__________О.Н. Федонин

«____»___________ 2017г.

 

 

Системы имитационного моделирования

 

Основные возможности СИСТЕМЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ GPSS WORLD

Методические указания

К выполнению лабораторной работы №2 для студентов очной формы обучения по направлению подготовки 09.03.02 –Информационные системы и технологии

 

Брянск 2017


УДК 004.94

 

Системы имитационного моделирования. Основные возможности системы имитационного моделирования GPSS WORLD [Текст] + [Информационный ресурс]: методические указания к выполнению лабораторной №2 для студентов очной формы обучения по направлению подготовки 09.03.02 – Информационные системы и технологии. Брянск: БГТУ, 2016.– 16 с.

Разработал:

Ю.М. Казаков,

канд. техн. наук, доц.

 

Рекомендовано кафедрой «Компьютерные технологии и системы» БГТУ(протокол № 2 от 25.10.16)

 

Методические указания публикуются в авторской редакции

 

Научный редактор Р.А. Филиппов

Компьютерный набор Ю.М.Казаков

 

Подписано в печать. Формат 60х84 1/16. Бумага офсетная. Офсетная печать. Усл. печ.л. 0,92. Уч.-изд.л. 0,93. Тираж 1 экз.

Брянский государственный технический университет

Кафедра «Компьютерные технологии и системы», тел. 56-49-90

241035, Брянск, бульвар 50лет Октября, 7, БГТУ


 

1. Цель работы

Изучение общих принципов имитационного моделирования систем и освоение навыков работы в среде GPSS WORLD

Продолжительность работы 2 часа.

 

Общие положения.

Общие сведения об имитационном моделировании и языке

Моделирования GPSS

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

· ∙исследования параметров и структур систем с целью решения конкретных проблем;

· ∙определения и анализа критических элементов, компонентов, и режимов в исследуемых системах и процессах;

· ∙синтеза и оценки предполагаемых решений;

· ∙прогнозирования и планирования будущего развития исследуемых систем.

Модель в GPSS (General Purpose Simulation System – система моделирования общего назначения) представляет собой программу на специальном языке. GPSS-модельсодержит объекты двух видов блоки и транзакты. Каждый объект имеет набор свойств, называемых в GPSS стандартными числовыми атрибутами (СЧА).

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

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

Основными блоками в GPSS являются:

· ∙устройство (facility),

· ∙многоканальное устройство (storage),

· ∙логический ключ (logicswitch),

· ∙очередь (queue),

· ∙матрица (matrix),

· ∙сохраняемое значение (savevalue),

· ∙таблица (table),

· ∙переменная (variable),

· ∙поток данных (data stream).

 

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

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

Логические ключи используются для моделирования объектов, имеющих два состояния “включен” и “выключен”. Они могут использоваться для управления потоками транзактов.

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

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

Сохраняемые значения предназначены для сохранения значений, полученных во время моделирования. По выполняемой функции они соответствуют термину “переменная” алгоритмических языков программирования.

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

Переменная в GPSS описывает выражение, которое вычисляется при обращении к переменной. В некотором смысле переменная в GPSS соответствует термину “функция” алгоритмических языков программирования.

Поток данных – это последовательность строк текста. Они могут использоваться для записи данных в файл и чтения данных из файла.

 

Пример моделирования на языке моделирования GPSS

 

Рассмотрим принципы построения имитационных моделей на примере процесса обслуживания клиентов в парикмахерской. Данный пример является одним из демонстрационных примеров, поставляемых вместе с GPSS World.

Каждые 3±1 минуты в парикмахерскую приходит новый посетитель. Если в очереди не более трех человек, то пришедший посетитель остается ждать стрижки, в противном случае – сразу уходит. Парикмахер стрижет одного клиента за 6±2 минуты. После стрижки посетитель покидает парикмахерскую. Нужно определить, распределение времени ожидания посетителя парикмахерской в очереди.

Данный процесс обслуживания клиентов в парикмахерской описывается следующей программой на GPSS:

; GPSS World Sample File - BARBER.GPS.

************************************************************************

* Моделирование парикмахерской *
* *
*   *

 

Waittime QTABLE Barber,0,2,15 ;Объявление таблицы для гистограммы
      ;распределения времен ожидания
  GENERATE 3,1 ;клиентов в очереди
  ;Создание новых посетителей
  TEST LE Q$Barber,3,Finis ;Если в очереди больше 3 человек,
  SAVEVALUE Custnum+,1 ;то клиент покидает парикмахерскую
  ;Общее число оставшихся клиентов
  ASSIGN Custnum,X$Custnum ;Присвоение клиенту номерка
  QUEUE Barber ;Начало ожидания в очереди
  SEIZE Barber ;Ожидание парикмахера или; начало стрижки
  DEPART Barber  
  ;Конец ожидания в очереди
  ADVANCE 6,2 ;Стрижка занимает несколько минут
Finis RELEASE Barber ;Стрижка завершена
  TERMINATE   ;Посетитель уходит

 

Строка, начинающаяся со звездочки, или окончание строки после точки с запятой являются комментариями.

Здесь присутствуют следующие блоки языка GPSS:

Waittime QTABLE Barber, 0, 2, 15 – описание таблицы Waittime для сбора данных о распределении времени ожидания транзактов в очереди Barber;

GENERATE 3, 1 – данный блок моделирует ввод транзактов в модель, что соответствует приходу нового посетителя в парикмахерскую;

TEST LE Q$Barber, 3, Finis – проверка пришедшим посетителем числа человек в очереди, если она больше трех, то транзакт переходит на метку Finis;

SAVEVALUE Custnum+, 1 – сохранение порядкового номера обслуживаемого клиента;

QUEUE Barber, DEPART Barber – данные блоки моделируют вход транзакта в очередь и выход транзакта из очереди (где Barber – имя очереди), что соответствует ожиданию клиентом начала стрижки;

SEIZE Barber, RELEAZE Barber – данные блоки моделируют вход транзакта в устройство и выход транзакта из устройства, что соответствует началу и концу стрижки;

ADVANCE 9, 2 – данный блок моделирует задержку транзакта в устройстве на время стрижки;

TERMINATE 1 – вывод транзакта из модели.

 

Основные команды GPSS

 

Для запуска и управления моделированием предназначены команды GPSS. Доступ к командам реализуется через меню Command или через диалоговые окна. Рассмотрим основные команды GPSS.

START A, B. Запускает моделирование. Операнд A содержит начальное значение счетчика завершения (число транзактов, которые должны быть выведены из модели для завершения моделирования). Если в B задано значение NP, то после моделирования не выводится стандартный отчет.

HALT. Завершает моделирование.

STOP A, B, C. Задает останов моделирования при входе в блок B транзакта с номером A. Если операнд A не задан, то останов производится при входе любого транзакта. При C равном OFF все остановы с условиями A и B отменяются.

STEP A. Выполняет A последовательных входов в блоки и возвращается в состояние останова.

CONTINUE. Продолжает моделирование после останова.

CLEAR A. Сбрасывает статистику о моделировании и удаляет все транзакты из модели. Параметр A может принимать значения ON (по умолчанию) или OFF. Если параметр A равен OFF, то сбрасывается вся статистика кроме значений матриц и сохраняемых значений.

RESET. Сбрасывает статистику о моделировании.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...