Uploaded by Игорь Бондаренко

Pr2

advertisement
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ
Институт информационных наук и технологий безопасности
Факультет информационных систем и безопасности
Доклад:
Система моделирования GPSS
Презентацию подготовили студенты 3 курса ФИСБ, направления ИБ“КЗОИ”, Калинин
Прохор и Бондаренко Игорь
РГГУ 2019
1
1
Что такое GPSS?
GPSS (англ. General Purpose Simulation System — система моделирования общего назначения) — язык моделирования,
используемый для имитационного моделирования различных систем, в основном систем массового обслуживания.
Была создана Джеффри Гордоном в фирме IBM в начале 1960-х годов. Система GPSS является самым популярным в мире
инструментом имитации и являет редкий пример долгожительства в мире программного обеспечения.
2
Объекты в GPSS
Объекты бывают:
1.
Динамическими:
•
Транзакт - имитирует единицу исследуемого потока запросов. Работа модели заключается в перемещении транзактов от
одного операционного блока к другому.
2.
Статическими:
•
Устройство - используется для моделирования ресурса, который в каждый момент времени может быть занят только
одним транзактом.
•
Память - представляют оборудование, которое может использоваться несколькими транзактами одновременно
(многоканальные СМО)
•
Ключ - служат для блокировки или изменения маршрута движения транзактов.
3.
Статистическими:
•
Очередь - это объект, предназначенный для сбора статистики по ожидающим обслуживания транзактам
•
Таблица - используется для сбора статистической информации в виде эмпирических функций распределения случайных
величин, получаемых в ходе моделирования
Вышеперечисленные объекты присутствуют в модели неявно, т.е. они существуют в процессе моделирования в виде
некоторых информационных структур (переменных, списков и пр.), к которым пользователь (разработчик модели) имеет
весьма ограниченный доступ. Для разработки модели пользователь использует блоки.
4.
Операционными:
•
Блок - относятся к категории операционных объектов и задают логику функционирования моделируемого процесса или
системы, определяют пути движения транзактов между объектами категории оборудования.
3
Немного больше о блоках
В общем случае модель представляет собой несколько отдельных сегментов, каждый из которых состоит из последовательности
блоков и определяет путь движения некоторого типа транзактов. Сегмент обычно начинается блоком GENERATE и может
заканчиваться блоком TERMINATE. Все события в моделируемой системе происходят в результате входа транзактов в блоки и
выполнения блоками своих функций.
Основные функции блоков следующие:
• создание (генерация) и уничтожение транзактов;
• задержка транзакта на некоторый интервал времени;
• изменение маршрута движения транзактов;
• изменение числовых атрибутов объектов.
Каждому блоку соответствует оператор языка GPSS. Кроме того, программа модели может быть представлена в виде блок-схемы, на
которой каждому блоку соответствует характерная фигура.
Пример сегмента:
GENERATE (POISSON(1,40)) ; генерация потока транзактов ;
QUEUE mainQ ; Войти в регистратор очереди
SEIZE F007 ; Попытка занять устройство
DEPART mainQ ; Покинуть регистратор очереди ADVANCE
(Normal(1,35,4)) ; Моделирование процесса обслуживания.
Время обслуживания ; распределено по нормальному
(гауссову) закону; с математическим ожиданием 35 и
среднеквадратическим отклонением 4
RELEASE F007 ; Освободить устройство
TERMINATE ; удаление транзакта
4
Немного больше о блоках
Каждый блок в модели имеет номер, который присваивается ему автоматически, согласно месту его расположения в модели. Кроме
того, блок может иметь символическое имя (метку), которое используется для ссылки на этот блок при передаче управления. Блок
может иметь до 8 операндов, уточняющих его действие. Для удобства записи обычно операнды обозначаются символами A, B, C, …, H.
Если операнды блока в явном виде не заданы, интерпретатор GPSS полагает их значение по умолчанию.
5
Операторы
Если операнды блока в явном виде не заданы, интерпретатор GPSS полагает их значение по умолчанию.
Кроме операторов блоков, разработчик модели может использовать еще два вида операторов:
• Операторы описания позволяют определить переменную, функцию, описать емкость памяти (количество каналов
многоканальной СМО), параметры таблицы и пр.
• Управляющие операторы позволяют задать условия моделирования, такие как продолжительность моделирования, число
прогонов модели, порядок и условия сбора статистики.
Написание операторов имеет следующий формат:
<метка> <имя_оператора> <поле_операндов> [<комментарий>]
6
Модель парикмахерской, как простейший пример
Сегмент клиентов
GENERATE 18,6 ;Приход клиентов (1)
QUEUE QMASTER;Присоединение к очереди (2)
SEIZE MASTER;Переход в кресло парикмахера (3)
DEPART QMASTER;Уход из очереди (4)
ADVANCE 16,4 ;Обслуживание у парикмахера (5)
RELEASE MASTER;Освобождение парикмахера (6)
TERMINATE;Уход из парикмахерской (7)
Сегмент таймера
GENERATE 480 ;Приход транзакта-таймера (8)
TERMINATE 1 ;Завершение прогона (9)
7
Список источников:
•
•
•
https://studfiles.net/preview/3536040/page:6/
https://ru.wikipedia.org/wiki/GPSS#%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%B8%D0%BC%D0%B8%D1%82%D0%B0%
D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0
%B2%D0%B0%D0%BD%D0%B8%D1%8F_GPSS
http://bigor.bmstu.ru/?cnt/?doc=110_Simul/3017.mod
8
Спасибо за внимание!
9
Download