Одноканальная СМО с детерминированным потоком заявок и равномерно распределенной длительностью обслуживания (D/U/1)
Федеральное
государственное бюджетное образовательное учреждение высшего профессионального
образования «Саратовский государственный технический университет имени Гагарина
Ю.А.»
Лабораторная
работа №1
по
курсу «Моделирование систем»
на
тему «Одноканальная СМО с детерминированным потоком заявок и равномерно
распределенной длительностью обслуживания (D/U/1)»
Выполнил:
Студент гр. ИСТ-41
Резников К
Проверил:
доцент каф. ИСТ
Ивженко С.П.
Саратов,
2013
Задание
Положим, что система содержит один обслуживающий
прибор (рис.6.6). В СМО поступает детерминированный поток заявок с интервалом
10 секунд. Заявки выбираются на обслуживание из накопителя неограниченной
ёмкости в порядке поступления, то есть по правилу «первым пришел - первым
обслужен» (дисциплина обслуживания FIFO - First In First Out).
Длительность обслуживания заявок в приборе -
величина случайная,
распределенная
по равномерному закону в интервале от 4 до 12 секунд
(8±4 секунды) со средним значением 8 секунд.
Листинг программы
*******************************************************************10;
формирование детерминированного потока заявок1; отметка момента поступления
заявки в очередь 1uzel; занятия прибора с именем uzel1; отметка момента
покидания заявкой очереди 18,4; задержка на время 8±4 единицы времениuzel;
освобождение прибора с именем uzel1; удаление заявки из модели
*******************************************************************100000
*******************************************************************
Отчет
По завершении моделирования результаты
формируются
автоматически в виде стандартного отчета,
представленного на рисунке 1.
Рис.1. Стандартный отчет Модели 1
Анализ отчета
Стандартный отчет рассматриваемой модели
содержит следующую информацию:
. Заголовок с именем GPSS-модели:
GPSS World Simulation Report -
Untitled Model 1.1.1
2. Дату и время проведения имитационного
моделирования (эксперимента):, February 19, 2014 22:12:29
. Время старта и завершения моделирования,
количество блоков
(операторов), одноканальных устройств (приборов)
и многоканальных
устройств (памятей) в GPSS-модели:
START TIME END TIME BLOCKS
FACILITIES STORAGES
0.000 1000005.010 7 1 0
. Перечень заданных в модели символических имен
(блоков, устройств, памятей) и присвоенные им числовые значения (начиная с
10000):VALUE 10000.000
. Перечень (BLOCK TYPE) пронумерованных (LOC)
блоков c присвоенными им в модели метками (LABEL):
LABEL LOC BLOCK TYPE ENTRY COUNT
CURRENT COUNT RETRY
1 GENERATE 100000 0 0
2 QUEUE 100000 0 0
3 SEIZE 100000 0 0
4 DEPART 100000 0 0
5 ADVANCE 100000 0 0
6 RELEASE 100000 0 0
7 TERMINATE 100000 0 0
Кроме того, для каждого блока указывается:COUNT
- количество транзактов, вошедших в данный блок за время моделирования;COUNT -
количество транзактов, в данном блоке на момент
завершения
моделирования;
RETRY - количество транзактов, ожидающих
выполнения некоторого
специфического
условия.
6. Результаты моделирования и дополнительная
информация по
устройствам:
FACILITY ENTRIES UTIL. AVE. TIME
AVAIL. OWNER PEND INTER RETRY DELAY 100000 0.801 8.008
1 0 0 0 0 0
Здесь:- символическое имя или номер устройства;-
количество транзактов, вошедших в данное устройство за время моделирования;. -
коэффициент использования (загрузка) устройства;.TIME - среднее время занятия
устройства одним транзактом (средняя длительность обслуживания заявок);. -
состояние устройства на момент завершения моделирования: 1 -
устройство доступно (не занято), 0 - устройство
недоступно (занято);- номер транзакта, находящегося в устройстве на момент завершения
моделирования;- количество транзактов, ожидающих выполнения с прерыванием
других транзактов;- количество прерванных транзактов на момент завершения
моделирования (в списке прерываний);- количество транзактов, ожидающих
выполнения некоторого специфического условия;- количество транзактов, ожидающих
занятия устройства.
. Результаты моделирования и дополнительная
информация по очередям:
QUEUE MAX CONT. ENTRY ENTRY(0)
AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 1 0 100000 69780 0.040 0.405 1.339 0
Здесь:- имя или номер очереди;- максимальное
количество транзактов в очереди за время моделирования;. - текущее количество
транзактов в очереди на момент завершения моделирования;- количество
транзактов, прошедших через очередь за время моделирования;(0) - количество
транзактов, прошедших через очередь за время моделирования с нулевым временем
ожидания;.CONT. - средняя длина очереди за время моделирования;.TIME - среднее
время нахождения транзакта в очереди (среднее время ожидания заявок);.(-0) -
среднее время нахождения транзакта в очереди без учета транзактов с нулевым
временем ожидания;- количество транзактов, ожидающих выполнения некоторого
специфического условия;
. Список будущих событий (FEC):
FEC XN PRI BDT ASSEM CURRENT NEXT
PARAMETER VALUE
0 1000010.000 100001 0 1
Здесь:- Future
Events Chain;
XN - номера всех транзактов, находящихся в
списке будущих событий (в данном примере это единственный транзакт с номером
100001);- приоритет транзакта;- момент времени, когда транзакт должен покинуть
блок, а,
следовательно,
и список будущих событий;
ASSEM - номер семейства данного транзакта;-
номер блока, в котором находился транзакт на момент
завершения
моделирования;
NEXT - номер следующего блока, в который будет
передан транзакт;- имя или номер параметра транзакта;- значение параметра.
Описание операторов и команд:(ГЕНЕРИРОВАТЬ)
Назначение оператора: генерирование транзактов в
соответствии с заданным правилом формирования интервалов между транзактами.
Формат оператора:[A],[B],[C],[D],[E]
С - смещение - момент формирования первого
транзакта; [по умолчанию - ноль];- ограничитель - число генерируемых данным
оператором транзактов; [по умолчанию - не ограничено];
Е - уровень приоритета от 0 до 127 (чем больше
номер, тем выше приоритет); [по умолчанию - ноль].
Примечание. Несмотря на то, что операнды A и D -
необязательные
операнды,
в операторе GENERATE обязательно должен использоваться один из них: либо
операнд A , либо операнд D.
Примеры:25; интервал времени между генерируемыми
транзактами - величина детерминированная равная 25, количество генерируемых
транзактов не ограничено.,,,25;операнды A, B и C не используются, и их
значения
равны нулю по умолчанию; это означает, что в нулевой момент
модельного
времени будут сгенерированы ровно 25 транзактов.
GENERATE 25,10; интервал времени между
транзактами - величина случайная, равномерно распределенная в интервале
(25±10), т.е. от 15 до 35.
Раздел 6. Имитационное моделирование
27325,FN$Erlang; интервал времени между транзактами - величина случайная,
распределенная по закону, заданному в виде табличной функции
Erlang.25,10,100,250,5; интервал времени между транзактами - равномерно
распределенная величина в интервале от 15 до 35; момент формирования первого транзакта
равен 100 единицам модельного
времени; всего за время моделирования этим
оператором будет сгенерировано 250 транзактов, после чего формирование
транзактов прекратится; всем сгенерированным транзактам будет присвоен
приоритет, равный 5.(Exponential(1,0,50)); интервал времени между транзактами -
величина случайная, распределенная по экспоненциальному закону со средним
значением 50.
Следует обратить внимание, что в последнем
примере имя библиотечной процедуры с параметрами Exponential(1,0,50)
заключается в круглые скобки. Параметры процедуры Exponential имеют следующий
смысл: первый параметр - номер встроенного генератора равномерно распределённых
в интервале (0; 1) случайных чисел (может иметь значения от 1 до 999); второй и
третий параметры - соответственно смещение (минимальное значение) и среднее
значение (математическое ожидание) случайной величины, распределённой по
экспоненциальному закону.
TERMINATE (ЗАВЕРШИТЬ)
Назначение оператора: удаление транзактов из
модели.
Формат оператора:[A]
Значения операндов:- указатель уменьшения
счетчика завершений (целое положительное число); [по умолчанию - ноль].
Примеры:1; транзакт, поступивший в данный блок,
удаляется
из
модели, и счетчик завершения процесса моделирования, начальное значение
которого устанавливается командой START, уменьшается на 1.
TERMINATE; транзакт удаляется из модели, при
этом значение счетчика завершения процесса моделирования не изменяется.
ADVANCE (ЗАДЕРЖАТЬ)
Назначение оператора: задержка транзакта на
заданное время.
Формат оператора:[A],[B]
Значения операндов:- среднее время задержки или
вероятностное распределение из встроенной библиотеки процедур, заключённое в
круглые скобки; [по умолчанию - ноль];
Раздел 6. Имитационное моделирование- величина
полуинтервала равномерно распределенного интервала задержки или модификатор
таблично заданной функции; [по умолчанию -ноль].
Примеры:50; поступивший транзакт задерживается в
данном блоке на 50 единиц времени.50,10; время задержки транзакта - величина
случайная, равномерно распределенная в интервале от 40 до 60 (50 ±
10).50,FN$Erl_1; время задержки транзакта - величина
случайная,
распределенная по закону, заданному в виде табличной функции Erl_1, со средним
значением 50.
ADVANCE (Exponential(33,10,50)); время задержки
- величина случайная, распределенная по экспоненциальному закону (из встроенной
библиотеки
процедур) со средним значением 50; номер встроенного генератора равномерно
распределённых случайных чисел равен 33;
смещение равно 10, то есть случайная величина,
распределённая по экспоненциальному закону, принимает значения, начиная от 10.
SEIZE (ЗАНЯТЬ)
Назначение оператора: занятие транзактом
прибора.
Формат оператора:A
Значения операндов:- идентификатор (число или
имя) занимаемого прибора.
Примеры:4; транзакт пытается занять прибор с
номером 4; если прибор занят другим транзактом, то поступивший транзакт
помещается в список задержки этого прибора, где находится до момента
освобождения прибора, после чего этот транзакт занимает освободившийся прибор и
продолжает свое движение к следующему блоку.Pribor_Disk; транзакт пытается
занять прибор с именем Pribor_Disk; далее по аналогии с предыдущим
примером.(ОСВОБОДИТЬ)
Назначение оператора: удаление транзакта из
прибора (освобождение прибора).
Формат оператора:A
Значения операндов:- идентификатор (число или
имя) освобождаемого прибора.
Примеры:4; транзакт освобождает прибор с номером
4.Pribor_Disk; транзакт освобождает прибор с именем_Disk.
Раздел 6. Имитационное моделирование 275
QUEUE (СТАТЬ В ОЧЕРЕДЬ)
Назначение оператора: занесение транзакта в
очередь (точнее - регистрация статистики очереди, связанная с фиксацией момента
поступления транзакта в очередь и увеличением ее длины).
Формат оператора:A,[B]
Значения операндов:- идентификатор (число или
имя) очереди;- количество элементов, на которое должна увеличиться длина
очереди; [по умолчанию - один].
Примеры:3; присоединение транзакта к очереди с
номером 3 и увеличение ее длины на 1 (по умолчанию).Jeck,5;присоединение
транзакта к очереди с именем Jeck и увеличение ее длины на 5.
DEPART (ПОКИНУТЬ ОЧЕРЕДЬ)
Назначение оператора: удаление транзакта из
очереди (точнее - регистрация статистики очереди, связанная с уменьшением ее
длины и фиксацией момента удаления транзакта из очереди с целью определения
времени ожидания).
Формат оператора:A,[B]
Значения операндов:- идентификатор (число или
имя) очереди;- количество элементов, на которое должна уменьшиться длина
очереди; [по умолчанию - один].
Примеры:3; удаление транзакта из очереди с
номером 3 и уменьшение ее длины на 1 (по умолчанию).Jeck,5;удаление транзакта из
очереди с именем Jeck и уменьшение ее длины на 5.(НАЧАТЬ)
Назначение: запуск процесса моделирования.
Формат команды:A,[B],,[D]
Значения операндов:- начальное значение
«счетчика завершений»;- признак вывода статистики: значение NP (no printout)
блокирует
вывод
стандартной статистики; необязательный операнд;
D - признак вывода списков: значение 1 включает
вывод списков
будущих и текущих событий в стандартный отчет;
необязательный
операнд.
Операнд С остался от предыдущих версий GPSS и не
используется вWorld.
Вывод
одноканальная модель оператор
В ходе выполнения данной лабораторной работы
были изучены:
Операторы блоков
GPSS World
Команды GPSS World
STORAGE
Так же была рассмотрена простейшая GPSS-модель,
имитирующая работу СМО с однородным потоком заявок и позволяющая получить
представление об основных операторах GPSS World.
Для модели было представлено подробное описание
моделируемой системы с указанием конкретных значений параметров. Далее был
изучен текст GPSS-модели и детально рассмотрен каждый оператор.
Приведен и подробно описан стандартный отчет,
формируемый автоматически по завершении моделирования и содержащий результаты
моделирования.