Технология имитационного моделирования в системе моделирования GPSS World
Система GPSS (General Purpose System Simulator) World предназначена для написания имитационных моделей систем с дискретными событиями. Наиболее удобно в системе GPSS описываются модели систем массового обслуживания, для которых характерны относительно простые правила функционирования составляющих их элементов.
В системе GPSS World моделируемая система представляется с помощью набора абстрактных элементов, называемых объектами. Каждый объект принадлежит к одному из типов объектов.
Объект каждого типа характеризуется определенным способом поведения и набором атрибутов, определяемыми типом объекта. Например, если рассмотреть работу порта, выполняющего погрузку и разгрузку прибывающих судов, и работу кассира в кинотеатре, выдающего билеты посетителям, то можно заметить большое сходство в их функционировании. В обоих случаях имеются объекты, постоянно присутствующие в системе (порт и кассир), которые обрабатывают поступающие в систему объекты (корабли и посетители кинотеатра).
В теории массового обслуживания эти объекты называются приборами и заявками. Когда обработка поступившего объекта заканчивается, он покидает систему. Если в момент поступления заявки прибор обслуживания занят, то заявка становится в очередь, где и ждет до тех пор, пока прибор не освободится. Очередь также можно представлять себе как объект, функционирование которого состоит в хранении других объектов.
Каждый объект может характеризоваться рядом атрибутов, отражающих его свойства. Например, прибор обслуживания имеет некоторую производительность, выражаемую числом заявок, обрабатываемых им в единицу времени. Сама заявка может иметь атрибуты, учитывающие время ее пребывания в системе, время ожидания в очереди и т.д. Характерным атрибутом очереди является ее текущая длина, наблюдая за которой в ходе работы системы (или ее имитационной модели), можно определить ее среднюю длину за время работы (или моделирования). В языке GPSS определены классы объектов, с помощью которых можно задавать приборы обслуживания, потоки заявок, очереди и т.д., а также задавать для них конкретные значения атрибутов.
На рис.1 изображена общая схема проведения имитационного моделирования в системе GPSS World.
Модель, дополненная необходимыми управляющими предложениями операционной системы, вводится в ЭВМ и поступает на обработку ассемблером GPSS, который проводит синтаксический контроль модели и преобразует ее во внутреннюю форму, удобную для проведения моделирования. Модель во внутренней форме передается с помощью программы ввода интерпретатору модели, который выполняет моделирование. Во внутренней форме все объекты, описанные в модели, получают последовательные номера в порядке поступления. Последовательности номеров выстраиваются отдельно по типам объектов: среди устройств, накопителей, очередей и т.д. Эти номера могут быть напрямую указаны в модели программистом.
Главной функцией интерпретатора является создание транзактов и проводка их через блоки модели с одновременным выполнением действий, связанных с каждым блоком. Движение транзактов в модели соответствует движению отображаемых ими объектов в реальной системе.
Всякое изменение состояния модели, например, переход транзакта от одного блока к другому, можно рассматривать как некоторое событие., происходящее в определенный момент условного (системного) времени., задаваемого "часами" системы, работа которых организуется интерпретатором. Фактически, "часы" в интерпретаторе GPSS - это целая переменная, значение которой соответствует текущему моменту условного времени модели.
При построении модели пользователь должен задаться соотношением единицы системного времени, используемого в модели, к реальному времени, в котором происходит функционирование моделируемой системы.
В процессе моделирования интерпретатор автоматически определяет правильную очередность наступления событий. В случае, если нужные действия в намеченный момент времени выполнены быть не могут (например, занято устройство, к которому обращается транзакт), интерпретатор временно прекращает обработку "застрявшего" транзакта, о продолжает следить за причиной, которая вызвала блокировку его обработки. Как только эта причина исчезает (например, освобождается занятое устройство), интерпретатор возвращается к обработке задержанного транзакта.
При продвижении транзактов через блоки могут происходить события следующих 4-х основных типов:
1) создание или уничтожение транзакта;
2) изменение значения атрибута объекта;
3) задержка транзакта на некоторый промежуток системного времени;
4) изменение маршрута движения транзакта по блокам модели.
Пример модели. Модель вычислительного центра из 5 ЭВМ, которые обрабатывают поступающие по линии связи сигналы. Производительность ЭВМ одинаковая. Сигналы распределяются на ЭВМ последовательно: на первую, на вторую, на третью и т.д. по мере поступления. Номер ЭВМ, которая будет обрабатывать данный сигнал, записывается в первый параметр транзакта. Если очередная ЭВМ занята, то для того, чтобы не потерять сигнал, делается попытка прервать работу данной ЭВМ и обработать сначала вновь пришедший для данной ЭВМ сигнал, а потом возобновить обработку прерванного сигнала. Для этого делается проверка того, не находится ли данная ЭВМ уже в режиме прерывания для обработки предыдущего приоритетного сигнала. Если данная ЭВМ еще не завершила обработку предыдущего подобного события, то только в этом случае вновь пришедший сигнал теряется. Цель моделирования может состоять в том, чтобы найти такое время обработки сигналов (производительность ЭВМ) при заданных параметрах входного потока сигналов, при котором не будет потери сигналов.
GENERATE 60,30 (поступление сигнала через 30-90 секунд)
SAVEVALUE 1,V3 (запись в Х1 номера ЭВМ, который вычисляется как значение переменной V3),
VARIABLE X1@5+1 (выражение для вычисления номера ЭВМ с использованием хранимого значения Х1; значение переменной V3 изменяется следующим образом: 1,2,3,4,5,1,2,3,4,5,...),
ASSIGN 1,X1 (запись в Р1 номера ЭВМ из Х1,
GATE NU P1,PRIO (проверка занятости устройства, номер которого записан в параметре Р1 транзакта),
SEIZE P1 (занятие устройства), ADVANCE 210,70 (обработка сигнала), RELEASE P1 (освобождение устройства),
TABULATE TAB (запись в таблицу времени пребывания сигнала на вычислительном центре),
TERMINATE (сигнал обработан),
PRIO GATE NI P1,LOSS (проверка прерывания устройства),
PREEMPT P1 приоритетное обслуживание нового сигнала,
требующего устройства, номер которого в P1), ADVANCE 210,70 (обработка сигнала),
RETURN P1 (возврат устройства),
TABULATE TAB (запись в таблицу времени пребывания), TERMINATE (уничтожение транзакта),
LOSS TERMINATE (необработанный сигнал потерян),
TAB TABLE M1,150,30,7 (описание таблицы времен), GENERATE 1 (моделирование времени работы), TERMINATE 1 (в течение 10 часов = 10*60*60 =), START 36000 (36000 секунд)
Данные о необработанных сигналах определяются по количеству транзактов, прошедших через блок с меткой LOSS. Загрузка ЭВМ определяется как загрузка устройств 1,
2, 3, 4, 5.
Большая часть необходимой статистики собирается в GPSS World автоматически и не требует поэтому дополнительных усилий разработчика модели.
Для всех выполняемых блоков, составляющих модель, выводится номер блока, количество транзактов, задержанных в блоке на момент завершения моделирования, и общее количество транзактов, прошедших через блок. Эти данные помогают собрать часть статистики и проанализировать работу модели, что особенно полезно при отладке модели.
Для устройств выводятся следующие данные:
• количество транзактов, прошедших через устройство;
• среднее время занятия устройства одним транзактом;
• загрузка устройства (или доля использования) в течение всего времени моделирования;
• доля (процент) доступности устройства в процессе моделирования;
• количество транзактов, занявших устройство блоком SEIZE;
• количество транзактов, захвативших устройство блоком PREEMPT.
Для накопителей выводятся следующие данные:
• объем накопителя, определенный в модели;
• среднее значение содержимого накопителя за время моделирования;
• количество транзактов, прошедших через накопитель;
• среднее значение времени использования единицы памяти;
• среднее значение загрузки накопителя в течение всего времени моделирования;
• процент доступности накопителя за время моделирования;
• текущее содержимое накопителя на момент завершения моделирования.
• максимальное содержимое накопителя за время моделирования.
Для очередей выводятся следующие данные:
• максимальное значение длины очереди при моделировании;
• среднее значение длины очереди;
• общее количество транзактов, прошедших через очередь;
• количество "нулей"-транзактов, прошедших через очередь без задержки;
• процент "нулей"- доля транзактов, прошедших через очередь с нулевой задержкой;
• среднее значение времени задержки транзакта в очереди с учетом "нулевых" транзактов;
• среднее значение времени задержки транзакта в очереди без учета "нулевых" транзактов (всегда больше или равно предыдущего значения, поскольку учитываются только те, которые были в очереди с ненулевым временем).
Сбор статистики для очередей осуществляется с помощью блоков QUEUE и DEPART.
Темы курсовых работ
Задание на 2016 год
1. Моделирование и оптимизация работы обрабатывающего участка цеха.
2. Моделирование и оптимизация работы системы передачи данных.
3. Моделирование и оптимизация работы системы обработки информации.
4. Моделирование и оптимизация работы специализированной вычислительной системы.
5. Моделирование и оптимизация работы вычислительного центра.
6. Моделирование и оптимизация работы узла коммутации сообщений.
7. Моделирование и оптимизация работы системы автоматизации проектирования.
8. Моделирование и оптимизация работы вычислительной система из трех ЭВМ.
9. Моделирование и оптимизация работы информационно-поисковой библиографической системы.
10. Моделирование и оптимизация работы аэропорта.
11. Моделирование и оптимизация работы склада готовой продукции предприятия.
12. Моделирование и оптимизация работы внутризаводского транспорта.
13. Моделирование и оптимизация перекрестка по регулированию движения.
14. Моделирование и оптимизация работы процесса обработки деталей на станке.
15. Моделирование и оптимизация работы начала навигации в морском порту.
Литература
Основная литература
1.Бережная Е.В., Бережной В.И. Математические методы моделирования экономических систем: Учеб. пособие. – М.: Финансы и статистика, 2001. – 368 с.: ил.
2.Боев В. Д. Моделирование систем. Инструментальные средства GPSS World. - Санкт-Петербург:BHV-Санкт-Петербург, 2004 г. - 368 с.
3.Емельянов А.А. и др. Имитационное моделирование экономических процессов: Учебное пособие / А.А. Емельянов, Е.А. Власова, Р.В. Дума; Под ред. А.А. Емельянова. – М.: Финансы и статистика, 2004. – 368 с.: ил.
4.Кобелев Н.Б. Основы имитационного моделирования сложных экономических систем: Учеб. Пособие. – М.: Дело, 2003. – 336 с.
5.Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. – М.: ДМК Пресс, 2003. – 320 с.
Дополнительная литература
1. Асеев А. А., Боев В. Д., Кулешов И. А., Сеченев Д. М. Основы моделирования систем связи и автоматизации на GPSS/PC: Учеб. пособие. - СПб.: ВУС, 2000. - 230 с.
2. Бусленко Н.П. Моделирование сложных систем. – М.: Наука, 1978. – 400 с.
3. Емельянов А.А., Власова Е.А. Имитационное моделирование в экономических информационных системах. – М.:МЭСИ,1996. –108 с.
4. Нейлор Т.Машинные имитационные эксперименты с моделями экономических систем. – М.:Мир,1975.
5. Неймарк Ю.И.,Коган Н.Я., Савельев В.П. Динамические модели теории управления. – М.:Наука,1985.
6. Максимей И.В. Имитационное моделирование на ЭВМ. – М.: Радио и связь, 1988. – 323 с.
7. Руководство пользователя по GPSS World. /Перевод с английского/. – Казань: Изд-во «Мастер Лайн», 2002. – 384 с.
8. Семененко М.Г. Введение в математическое моделирование. М.: СОЛОН-Р, 2002. – 112 с.
9. Соболь И.М. Метод Монте-Карло. – М.: Наука, 1968. – 64 с.
10. Советов Б.Я. Моделирование систем. Практикум: Учебное пособие для вузов/ Б.Я. Советов, С.А. Яковлев. – 2- е изд., перераб. и доп. – М.: Высш. шк., 2003. – 295 с.:ил.
11. Советов Б.Я., Яковлев С.А. Моделирование систем: учебник для вузов. – М.: Высш. шк., 2001. – 395 с.
12. Учебное пособие по GPSS World. /Перевод с английского/. - Казань: Изд-во «Мастер Лайн», 2002. – 270 с.
13. Шрайбер Г.Дж. Моделирование на GPSS.- М.: Машиностроение, 1980. – 592 с.
Приложение 1
|