Помощь в написании студенческих работ
Антистрессовый сервис

Одноканальная СМО с детерминированным потоком заявок и равномерно распределенной длительностью обслуживания (D/U/1)

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

GENERATE 25,10,100,250,5; интервал времени между транзактами — равномерно распределенная величина в интервале от 15 до 35; момент формирования первого транзакта равен 100 единицам модельного времени; всего за время моделирования этим оператором будет сгенерировано 250 транзактов, после чего формирование транзактов прекратится; всем сгенерированным транзактам будет присвоен приоритет, равный 5… Читать ещё >

Одноканальная СМО с детерминированным потоком заявок и равномерно распределенной длительностью обслуживания (D/U/1) (реферат, курсовая, диплом, контрольная)

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Саратовский государственный технический университет имени Гагарина Ю.А.»

Лабораторная работа № 1

по курсу «Моделирование систем»

на тему «Одноканальная СМО с детерминированным потоком заявок и равномерно распределенной длительностью обслуживания (D/U/1)»

Выполнил:

Студент гр. ИСТ-41

Резников К Проверил:

доцент каф. ИСТ Ивженко С.П.

Саратов, 2013

Задание Положим, что система содержит один обслуживающий прибор (рис. 6.6). В СМО поступает детерминированный поток заявок с интервалом 10 секунд. Заявки выбираются на обслуживание из накопителя неограниченной ёмкости в порядке поступления, то есть по правилу «первым пришел — первым обслужен» (дисциплина обслуживания FIFO — First In First Out).

Длительность обслуживания заявок в приборе — величина случайная, распределенная по равномерному закону в интервале от 4 до 12 секунд

(8±4 секунды) со средним значением 8 секунд.

Листинг программы

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

GENERATE 10; формирование детерминированного потока заявок

QUEUE 1; отметка момента поступления заявки в очередь 1

SEIZE uzel; занятия прибора с именем uzel

DEPART 1; отметка момента покидания заявкой очереди 1

ADVANCE 8,4; задержка на время 8±4 единицы времени

RELEASE uzel; освобождение прибора с именем uzel

TERMINATE 1; удаление заявки из модели

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

START 100 000

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

Отчет По завершении моделирования результаты формируются автоматически в виде стандартного отчета, представленного на рисунке 1.

Рис. 1. Стандартный отчет Модели 1

Анализ отчета Стандартный отчет рассматриваемой модели содержит следующую информацию:

1. Заголовок с именем GPSS-модели:

GPSS World Simulation Report — Untitled Model 1.1.1

2. Дату и время проведения имитационного моделирования (эксперимента):

Wednesday, February 19, 2014 22:12:29

3. Время старта и завершения моделирования, количество блоков

(операторов), одноканальных устройств (приборов) и многоканальных устройств (памятей) в GPSS-модели:

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1 000 005.010 7 1 0

4. Перечень заданных в модели символических имен (блоков, устройств, памятей) и присвоенные им числовые значения (начиная с 10 000):

NAME VALUE

UZEL 10 000.000

5. Перечень (BLOCK TYPE) пронумерованных (LOC) блоков c присвоенными им в модели метками (LABEL):

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 100 000 0 0

2 QUEUE 100 000 0 0

3 SEIZE 100 000 0 0

4 DEPART 100 000 0 0

5 ADVANCE 100 000 0 0

6 RELEASE 100 000 0 0

7 TERMINATE 100 000 0 0

Кроме того, для каждого блока указывается:

ENTRY COUNT — количество транзактов, вошедших в данный блок за время моделирования;

CURRENT COUNT — количество транзактов, в данном блоке на момент завершения моделирования;

RETRY — количество транзактов, ожидающих выполнения некоторого специфического условия.

6. Результаты моделирования и дополнительная информация по устройствам:

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

UZEL 100 000 0.801 8.008 1 0 0 0 0 0

Здесь:

FACILITY — символическое имя или номер устройства;

ENTRIES — количество транзактов, вошедших в данное устройство за время моделирования;

UTIL. — коэффициент использования (загрузка) устройства;

AVE.TIME — среднее время занятия устройства одним транзактом (средняя длительность обслуживания заявок);

AVAIL. — состояние устройства на момент завершения моделирования: 1 ;

устройство доступно (не занято), 0 — устройство недоступно (занято);

OWNER — номер транзакта, находящегося в устройстве на момент завершения моделирования;

PEND — количество транзактов, ожидающих выполнения с прерыванием других транзактов;

INTER — количество прерванных транзактов на момент завершения моделирования (в списке прерываний);

RETRY — количество транзактов, ожидающих выполнения некоторого специфического условия;

DELAY — количество транзактов, ожидающих занятия устройства.

7. Результаты моделирования и дополнительная информация по очередям:

QUEUE MAX CONT. ENTRY ENTRY (0) AVE.CONT. AVE. TIME AVE.(-0) RETRY

1 1 0 100 000 69 780 0.040 0.405 1.339 0

Здесь:

QUEUE — имя или номер очереди;

MAX — максимальное количество транзактов в очереди за время моделирования;

CONT. — текущее количество транзактов в очереди на момент завершения моделирования;

ENTRY — количество транзактов, прошедших через очередь за время моделирования;

ENTRY (0) — количество транзактов, прошедших через очередь за время моделирования с нулевым временем ожидания;

AVE.CONT. — средняя длина очереди за время моделирования;

AVE.TIME — среднее время нахождения транзакта в очереди (среднее время ожидания заявок);

AVE.(-0) — среднее время нахождения транзакта в очереди без учета транзактов с нулевым временем ожидания;

RETRY — количество транзактов, ожидающих выполнения некоторого специфического условия;

8. Список будущих событий (FEC):

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

100 001 0 1 000 010.000 100 001 0 1

Здесь:

FEC — Future Events Chain;

XN — номера всех транзактов, находящихся в списке будущих событий (в данном примере это единственный транзакт с номером 100 001);

PRI — приоритет транзакта;

BDT — момент времени, когда транзакт должен покинуть блок, а, следовательно, и список будущих событий;

ASSEM — номер семейства данного транзакта;

CURRENT — номер блока, в котором находился транзакт на момент завершения моделирования;

NEXT — номер следующего блока, в который будет передан транзакт;

PARAMETER — имя или номер параметра транзакта;

VALUE — значение параметра.

Описание операторов и команд:

GENERATE (ГЕНЕРИРОВАТЬ) Назначение оператора: генерирование транзактов в соответствии с заданным правилом формирования интервалов между транзактами.

Формат оператора:

GENERATE [A],[B],[C],[D],[E]

Значения операндов:

A — средний интервал времени между генерируемыми транзактами или вероятностное распределение интервала из встроенной библиотеки процедур, заключённое в круглые скобки;; [по умолчанию — ноль];

B — величина полуинтервала равномерно распределенного интервала или модификатор таблично заданной функции; [по умолчанию — ноль];

С — смещение — момент формирования первого транзакта; [по умолчанию — ноль];

D — ограничитель — число генерируемых данным оператором транзактов; [по умолчанию — не ограничено];

Е — уровень приоритета от 0 до 127 (чем больше номер, тем выше приоритет); [по умолчанию — ноль].

Примечание. Несмотря на то, что операнды A и D — необязательные операнды, в операторе GENERATE обязательно должен использоваться один из них: либо операнд A, либо операнд D.

Примеры:

GENERATE 25; интервал времени между генерируемыми транзактами — величина детерминированная равная 25, количество генерируемых транзактов не ограничено.

GENERATE, 25;операнды A, B и C не используются, и их значения равны нулю по умолчанию; это означает, что в нулевой момент модельного времени будут сгенерированы ровно 25 транзактов.

GENERATE 25,10; интервал времени между транзактами — величина случайная, равномерно распределенная в интервале (25±10), т. е. от 15 до 35.

Раздел 6. Имитационное моделирование 273

GENERATE 25, FN$Erlang; интервал времени между транзактами — величина случайная, распределенная по закону, заданному в виде табличной функции Erlang.

GENERATE 25,10,100,250,5; интервал времени между транзактами — равномерно распределенная величина в интервале от 15 до 35; момент формирования первого транзакта равен 100 единицам модельного времени; всего за время моделирования этим оператором будет сгенерировано 250 транзактов, после чего формирование транзактов прекратится; всем сгенерированным транзактам будет присвоен приоритет, равный 5.

GENERATE (Exponential (1,0,50)); интервал времени между транзактами — величина случайная, распределенная по экспоненциальному закону со средним значением 50.

Следует обратить внимание, что в последнем примере имя библиотечной процедуры с параметрами Exponential (1,0,50) заключается в круглые скобки. Параметры процедуры Exponential имеют следующий смысл: первый параметр — номер встроенного генератора равномерно распределённых в интервале (0; 1) случайных чисел (может иметь значения от 1 до 999); второй и третий параметры — соответственно смещение (минимальное значение) и среднее значение (математическое ожидание) случайной величины, распределённой по экспоненциальному закону.

TERMINATE (ЗАВЕРШИТЬ) Назначение оператора: удаление транзактов из модели.

Формат оператора:

TERMINATE [A]

Значения операндов:

A — указатель уменьшения счетчика завершений (целое положительное число); [по умолчанию — ноль].

Примеры:

TERMINATE 1; транзакт, поступивший в данный блок, удаляется из модели, и счетчик завершения процесса моделирования, начальное значение которого устанавливается командой START, уменьшается на 1.

TERMINATE; транзакт удаляется из модели, при этом значение счетчика завершения процесса моделирования не изменяется.

ADVANCE (ЗАДЕРЖАТЬ) Назначение оператора: задержка транзакта на заданное время.

Формат оператора:

ADVANCE [A],[B]

Значения операндов:

A — среднее время задержки или вероятностное распределение из встроенной библиотеки процедур, заключённое в круглые скобки; [по умолчанию — ноль];

274 Раздел 6. Имитационное моделирование

B — величина полуинтервала равномерно распределенного интервала задержки или модификатор таблично заданной функции; [по умолчаниюноль].

Примеры:

ADVANCE 50; поступивший транзакт задерживается в данном блоке на 50 единиц времени.

ADVANCE 50,10; время задержки транзакта — величина случайная, равномерно распределенная в интервале от 40 до 60 (50 ± 10).

ADVANCE 50, FN$Erl1; время задержки транзакта — величина случайная, распределенная по закону, заданному в виде табличной функции Erl1, со средним значением 50.

ADVANCE (Exponential (33,10,50)); время задержки — величина случайная, распределенная по экспоненциальному закону (из встроенной библиотеки процедур) со средним значением 50; номер встроенного генератора равномерно распределённых случайных чисел равен 33;

смещение равно 10, то есть случайная величина, распределённая по экспоненциальному закону, принимает значения, начиная от 10.

SEIZE (ЗАНЯТЬ) Назначение оператора: занятие транзактом прибора.

Формат оператора:

SEIZE A

Значения операндов:

A — идентификатор (число или имя) занимаемого прибора.

Примеры:

SEIZE 4; транзакт пытается занять прибор с номером 4; если прибор занят другим транзактом, то поступивший транзакт помещается в список задержки этого прибора, где находится до момента освобождения прибора, после чего этот транзакт занимает освободившийся прибор и продолжает свое движение к следующему блоку.

SEIZE Pribor_Disk; транзакт пытается занять прибор с именем Pribor_Disk; далее по аналогии с предыдущим примером.

RELEASE (ОСВОБОДИТЬ) Назначение оператора: удаление транзакта из прибора (освобождение прибора).

Формат оператора:

RELEASE A

Значения операндов:

A — идентификатор (число или имя) освобождаемого прибора.

Примеры:

RELEASE 4; транзакт освобождает прибор с номером 4.

RELEASE Pribor_Disk; транзакт освобождает прибор с именем

Pribor_Disk.

Раздел 6. Имитационное моделирование 275

QUEUE (СТАТЬ В ОЧЕРЕДЬ) Назначение оператора: занесение транзакта в очередь (точнее — регистрация статистики очереди, связанная с фиксацией момента поступления транзакта в очередь и увеличением ее длины).

Формат оператора:

QUEUE A,[B]

Значения операндов:

A — идентификатор (число или имя) очереди;

B — количество элементов, на которое должна увеличиться длина очереди; [по умолчанию — один].

Примеры:

QUEUE 3; присоединение транзакта к очереди с номером 3 и увеличение ее длины на 1 (по умолчанию).

QUEUE Jeck, 5;присоединение транзакта к очереди с именем Jeck и увеличение ее длины на 5.

DEPART (ПОКИНУТЬ ОЧЕРЕДЬ) Назначение оператора: удаление транзакта из очереди (точнее — регистрация статистики очереди, связанная с уменьшением ее длины и фиксацией момента удаления транзакта из очереди с целью определения времени ожидания).

Формат оператора:

DEPART A,[B]

Значения операндов:

A — идентификатор (число или имя) очереди;

B — количество элементов, на которое должна уменьшиться длина очереди; [по умолчанию — один].

Примеры:

DEPART 3; удаление транзакта из очереди с номером 3 и уменьшение ее длины на 1 (по умолчанию).

DEPART Jeck, 5;удаление транзакта из очереди с именем Jeck и уменьшение ее длины на 5.

START (НАЧАТЬ) Назначение: запуск процесса моделирования.

Формат команды:

START A,[B],[D]

Значения операндов:

A — начальное значение «счетчика завершений»;

B — признак вывода статистики: значение NP (no printout) блокирует вывод стандартной статистики; необязательный операнд;

D — признак вывода списков: значение 1 включает вывод списков будущих и текущих событий в стандартный отчет; необязательный операнд.

Операнд С остался от предыдущих версий GPSS и не используется в

GPSS World.

Вывод одноканальная модель оператор В ходе выполнения данной лабораторной работы были изучены:

Операторы блоков GPSS World

GENERATE

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

TERMINATE

TEST

ENTER

LEAVE

Команды GPSS World

START

STORAGE

Так же была рассмотрена простейшая GPSS-модель, имитирующая работу СМО с однородным потоком заявок и позволяющая получить представление об основных операторах GPSS World.

Для модели было представлено подробное описание моделируемой системы с указанием конкретных значений параметров. Далее был изучен текст GPSS-модели и детально рассмотрен каждый оператор.

Приведен и подробно описан стандартный отчет, формируемый автоматически по завершении моделирования и содержащий результаты моделирования.

Показать весь текст
Заполнить форму текущей работой