Лаба1
.docСУРГУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ХАНТЫ – МАНСИЙСКОГО АВТОНОМНОГО ОКРУГА – ЮГРЫ
Факультет информационных технологий
Кафедра автоматизированных систем обработки информации и управления
Лабораторная работа №1
Изучение правил формирования транзактов в GPSS WORLD
Выполнил: студент группы 1192
Волков Александр Дмитриевич
Проверил преподаватель:
Бушмелева Кия Иннокентьевна
Сургут, 2012
Цель работы – освоить правила формирования и уничтожения динамических объектов – транзактов в моделях системы GPSS.
Задание: 1) отладить программу, обеспечивающую генерацию транзактов на заданном отрезке времени, и определить количество сгенерированных транзактов за указанное время моделирования; 2) написать и отладить программу для заданного варианта №1 и выполнить с ней заданные исследования; 3) написать и отладить программу для варианта №4 и проанализировать полученные результаты.
1. Выполнение типового задания, указанного в примере:
1 GENERATE 10,5,200,,1
2 TERMINATE
3 GENERATE 200
4 TERMINATE 1
С помощью блока GENERATE, находящегося в строке №1 происходит генерация транзактов: 10–средний интервал времени между моделируемыми транзактами; 5 – величина разброса возможных значений относительно среднего значения интервала времени; 200 – модельное время генерации первого транзакта; 1 – приоритет транзактов.
Блок TERMINATE (строка №2) уничтожает транзакт, но не изменяет значение счетчика завершений, который определяется числом, заданным командой START.
Блок в строке №3 задает время моделирования.
Блок в строке №4 уничтожает транзакт, поступивший в блок, значение счетчика завершений изменяется на 1. Как только счетчик завершений примет значение 0 процесс моделирования прекращается.
Полученный отчет указан на рис.1.
Рис. 1
Изменим системное время на ±50 ед. и выполним по 10 прогонов модели.
1 GENERATE 10,5,200,,1 1 GENERATE 10,5,200,,1
2 TERMINATE 2 TERMINATE
3 GENERATE 250 3 GENERATE 150
4 TERMINATE 1 4 TERMINATE 1
Отчеты для первого и второго случая представлены на рис.2 и рис.3.
Рис. 2 Рис. 3
Изменим модельное время генерации первого транзакта на ±50 ед. и выполним по 10 прогонов.
1 GENERATE 10,5,250,,1 1 GENERATE 10,5,150,,1
2 TERMINATE 2 TERMINATE
3 GENERATE 200 3 GENERATE 200
4 TERMINATE 1 4 TERMINATE 1
Отчеты представлены на рис.4 и рис.5
Рис. 4 Рис. 5
Вывод: при увеличении системного времени на 50 единиц увеличилось и число сгенерированных транзактов (рис.2), при уменьшении значения системного времени их количество соответственно уменьшилось (рис.3). На это указывает строка ENTRY_COUNT, которая показывает число транзактов, прошедших через соответствующий блок программы.
При увеличении модельного времени генерации первого транзакта обработалось меньшее число транзакций (рис.4), так как первый транзакт был сгенерирован в тот момент, когда модельное время уже было равно 250. В случае уменьшения времени генерации этого транзакта (рис.5) наблюдается обратная ситуация.
Последние три строки во всех отчетах формируют так называемый список будущих событий. В этом списке находятся события транзактов, время наступления которых больше текущего модельного времени, то есть они должны произойти в будущем, где BDT является временем назначенного событий, связанного с данным транзактом, поэтому можно и отметить, что это значение больше установленного системного времени END_TIME.
2. Задание индивидуального варианта№4: Определить число транзактов в Т=185
с приоритетами соответственно 0,1,2.
GENERATE 5,,,,1
TERMINATE
GENERATE 10
TERMINATE
GENERATE 1,,60,,2
TERMINATE
GENERATE 185
TERMINATE 1
START 1
С помощью блока GENERATE, находящегося в строке №1 происходит генерация транзактов: каждые 5 единиц времени генерируется один транзакт с приоритетом 1. Запятыми обозначаются поля, значения которых в данном случае принимаются равными нулю.
В блоке №4 определено время генерации транзактов = 185, по истечению которого моделирование заканчивается.
Полученный отчет представлен на рис.6.
Рис. 6
Вывод: на основании полученной информации можно сделать вывод о том, что число сгенерированных отчетов равно 126 (ENTRY_COUNT, 18 транзактов с приоритетом 0, 37 транзактов с приоритетом 1 и 126 транзактов с приоритетом 2). Так как в модели отсутствуют накопители и устройства, то FACILITIES и STORAGES принимают значения 0. Как и в предыдущем случае, три последние строки определяют список будущих событий, где FEC XN – номер транзакта, ожидающего выполнение некоторого события, PRI – приоритет транзакта, NEXT – номер блока, в который должен войти транзакт.