Система массового обслуживания

Автор работы: Пользователь скрыл имя, 18 Декабря 2014 в 08:50, курсовая работа

Описание работы

Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования.

Файлы: 1 файл

ПЗ.docx

— 190.17 Кб (Скачать файл)

 

 

Содержание

Введение. 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования.

Имитационная модель отображает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании.

Сложные функции моделирующего алгоритма могут быть реализованы средствами универсальных языков программирования, что предоставляет неограниченные возможности в разработке, отладке и использовании модели. Однако подобная гибкость приобретается ценой больших усилий, затрачиваемых на разработку и программирование весьма сложных моделирующих алгоритмов, оперирующих со списковыми структурами данных. Альтернативой этому является использование специализированных языков имитационного моделирования.

Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS (General Purpose Simulation System). Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Анализ технического задания

 

В курсовом проекте требуется разработать имитационную модель системы массового облуживания:

Система обработки информации содержит мультиплексный канал и три миниЭВМ. Сигналы от датчиков поступают на вход канала через интервалы времени 10+-5 мкс. В канале они буферизуются и предварительно обрабатываются в течении 10+-3 мкс. Затем они поступают на обработку в ту миниЭВМ, где имеется наименьшая по длине входная очередь. Емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс.

  Разработать модель  описанной системы в виде Q-схемы и программу на языке GPSS и C#.

Задание разделено на 3 части: разработка Q-схемы, разработка модели системы на языке GPSS и разработка на языке С#.

Одним из основных подходов, используемых при построении математических моделей процессов функционирования систем, является непрерывно-стохастический подход. Особенности этого подхода выражаются в использовании в качестве типовых математических схем систем массового обслуживания, называемых Q-схемами.

Схемы массового обслуживания представляют собой класс математических схем, разработанных в теории массового обслуживания и различных приложениях для формализации процессов функционирования систем, которые по сути своей являются процессами обслуживания.

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

В любом элементарном акте обслуживания можно выделить две основные составляющие: ожидание обслуживания заявки и собственно обслуживание заявки.

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

Проанализировав задание, можно выделить следующие свойства решаемой системы распределения ресурсов:

- рассматриваемая система  имеет один мультиплексный канал  и три миниЭВМ;

-  сигналы буферизуются  в канале и предварительно  обрабатываются, и лишь затем  поступают на обработку в ту  миниЭВМ, где наименьшая по длине входная очередь.

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

-  время обработки сигнала  в любой миниЭВМ одинаковое.

- если все емкости входных  накопителей будут заняты, то  система генерирует отказ.

Все эти свойства системы с легкостью можно перенести на модель, написанную на языке С# или же на языке GPSS.

GPSS - Один из наиболее эффективных и распространенных языков моделирования сложных дискретных систем. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную

 

терминологию СМО.

На персональных компьютерах язык GPSS реализован в рамках пакета прикладных программ GPSS/PC. Основной модуль пакета представляет собой интегрированную среду, включающую помимо транслятора со входного языка средства ввода и редактирования текста модели, ее отладки и наблюдения за процессом моделирования, графические средства отображения атрибутов модели, а также средства накопления результатов моделирования в базе данных и их статистической обработки. Кроме основного модуля в состав пакета входит модуль создания стандартного отчета GPSS/PC, а также ряд дополнительных модулей и файлов.

Для решения задачи так же используется язык программирования С#. Этот язык предоставляет гибкие и эффективные средства определения новых типов. Помимо этого, мы можем разделить программу на легко поддающие контролю части. Он обеспечивает полный набор операторов структурного программирования. Для реализации курсового проекта была выбрана среда программирования Microsoft Visual Studio 2013.

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Разработка  модели системы

 

При стохастическом подходе в качестве типовых математических схем применяется система массового обслуживания, которые называются Q-схемами. Системы массового обслуживания представляют собой класс математических схем, разработанных в теории массового обслуживания и различных приложениях для формализации процессов функционирования систем, которые по своей сути являются процессами обслуживания.

         Q-схема модели системы представлена на рисунке 1. Q-схема является разомкнутой, т.к. выходной поток обслуженных заявок не может снова поступить на какой-либо элемент, т. е. обратная связь отсутствует.

Для задания Q-схемы необходимо описать алгоритмы ее функционирования, которые определяют набор правил поведения заявок в системе в различных ситуациях.

Рисунок 1 – Q-схема модели.

 

W – Входной сигнал

Y – Обработанный сигнал

X – Потерянный сигнал

 

K1 – Канал предварительного обслуживания

EVM1 – первая миниЭВМ

EVM2 – вторая миниЭВМ

EVM3 – третья миниЭВМ

ochK1 – очередь в канале предварительного обслуживания

ochEVM1 – очередь в первой миниЭВМ

ochEVM2 – очередь во второй миниЭВМ

ochEVM3 – очередь в третьей миниЭВМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.1 На  языке GPSS

 

В данной курсовой работе для написания программы будет использован язык имитационного моделирования GPSS. Данный язык выбран, так как в моделях, написанных на этом языке можно учесть большое количество фактов и отказаться от многих ограничений и допущений. Ввод и вывод имитационной модели будем производить в редакторе языка GPSS, все сохраненные файлы будут храниться также в редакторе.

Сигнал поступает на вход мультиплексного канала (K1) через интервалы времени 10+-5 мкс (GENERATE 10,5). В канале он буферизуется (ochK1) и предварительно обрабатывается в течении 10+-3 мкс (ADVANCE 10,3). Затем он поступает на обработку в ту миниЭВМ, где имеется наименьшая по длине входная очередь (mt3 TEST LE V$aa,V$ba,mt1, TEST LE V$aa,V$caa,mt1). Емкости входных накопителей рассчитаны на хранение величин 10 сигналов (ochEVM STORAGE 10), где ochEVM STORAGE – накопитель одной из трех миниЭВМ. Если поступит сигнал, и все накопители будут заняты (TEST L V$daa,30,metk1), то сигнал будет потерян (metk1 QUEUE otk). Время обработки сигнала в любой миниЭВМ равно 33 мкс (ADVANCE 33,0).

Операторы языка GPSS используемые в работе:

- GENERATE  A, B- вводит транзакты в модель. Вводит транзакты в модель, посылая их в следующий по порядку блок. Если в поле В не указана функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А - В) до (А + В).

- QUEUE А, В - помещает транзакт в конец бесконечной очереди. Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях

 

одновременно.

- DEPART А, В - удаляет транзакт из бесконечной очереди. Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.

- SEIZE А- занимает устройство. Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.

- RELEASE А- освобождает устройство. Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал.

- ADVANCE А, В – задерживает транзакт. Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Время задержки является случайным числом, распределенным равномерно на интервале от (А + В) до (А - В).

- START А- управление процессом моделирования.

- TERMINATE А- служит для удаления транзактов из модели. А - указывает, на сколько единиц уменьшается содержимое счётчика завершений при входе транзакта в данный блок TERMINATE. Если поле А не определено, то оно считается равным 0 и транзакты, проходящие через такой блок, не уменьшают содержимого счётчика завершений.

- STORAGE A – объявляем многоканальное устройство

- ENTER A– занятие многоканального устройства

- LEAVE A– освобождение многоканального устройства

        - TEST – перемещает транзакт согласно сравнению

  • G – больше;
  • GE – больше или равно;
  • L – меньше;
  • LE – меньше или равно;

 

  • E – равно;
  • NE – не равно.

А и В – сравниваемые величины.

Также в программу ведены переменные, для отслеживания занятости очередей:

aa VARIABLE Q$och1

ba VARIABLE Q$och2

caa VARIABLE Q$och3

daa VARIABLE Q$och3+Q$och2+Q$och1

 

Текст разработанной модели системы на языке GPSS:

ochEVM1 STORAGE 10   ;объявление очереди ochEVM1  емкостью 10

ochEVM2 STORAGE 10   ;объявление очереди ochEVM2  емкостью 10

ochEVM3 STORAGE 10   ;объявление очереди ochEVM3  емкостью 10

aa VARIABLE S$ochEVM1   ;длина очереди в ochEVM1 

ba VARIABLE S$ochEVM2  ;длина очереди в ochEVM2 

caa VARIABLE S$ochEVM3  ;длина очереди в ochEVM3 

daa VARIABLE S$ochEVM1 +S$ochEVM2+S$ochEVM3 ;общая длина очередей

GENERATE 10,5   ;генерация сигналов

QUEUE vrem   ;вход в очередь статистики

QUEUE ochK1   ;очередь канала предварительного обслуживания

SEIZE K1    ;занятие канала предварительного обслуживания

DEPART ochK1   ;освобождение очереди канала предварительного обслуживания

ADVANCE 10,3   ;задержка в канале

RELEASE K1   ;освобождение канала предварительного обслуживания

TEST L V$daa,30,metk1                 ;проверка - суммарная очередь меньше 30

mt3 TEST LE V$aa,V$ba,mt1  ;проверка - поиск самой короткой очереди

TEST LE V$aa,V$caa,mt1                 ;проверка - поиск самой короткой очереди

ENTER ochEVM1   ;вход в очередь ЭВМ1

SEIZE EVM1   ;занятие ЭВМ1

LEAVE ochEVM1   ;освобождение очереди в ЭВМ1

ADVANCE 33,0   ;задержка в ЭВМ1

RELEASE EVM1   ;освобождение ЭВМ1

TRANSFER ,met2   ;безусловный переход

mt1 TEST LE V$ba,V$aa,mt2  ;проверка - поиск самой короткой очереди

TEST LE V$ba,V$caa,mt2                  ;проверка - поиск самой короткой очереди

ENTER ochEVM2   ;вход в очередь ЭВМ2

 

 

SEIZE EVM2   ;занятие ЭВМ2

LEAVE ochEVM2   ;освобождение очереди в ЭВМ2

ADVANCE 33,0   ;задержка в ЭВМ2

RELEASE EVM2   ;освобождение ЭВМ2

TRANSFER ,met2   ;безусловный переход

mt2 TEST LE V$caa,V$ba,mt3  ;проверка - поиск самой короткой очереди

TEST LE V$caa,V$aa,mt3                 ;проверка - поиск самой короткой очереди

ENTER ochEVM3   ;вход в очередь ЭВМ3

SEIZE EVM3   ;занятие ЭВМ3

LEAVE ochEVM3   ;освобождение очереди в ЭВМ3 

ADVANCE 33,0   ;задержка в ЭВМ3

RELEASE EVM3   ;освобождение ЭВМ3

met2 DEPART vrem     ;освобождение очереди сбора статистики

TERMINATE 1    ;вывод сигнала из системы

metk1 QUEUE otk   ;очередь отказов

DEPART otk    ;освобождение очереди отказов

TERMINATE 1   ;вывод потерянного сигнал из системы

START 500                       ;моделировать 500 раз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2 На  языке высокого уровня

 

Язык программирования высокого уровня С# поддерживает объектно-ориентированное программирование (ООП), а используя средства ООП можно легко создать имитационную модель СМО, представляя каждую подсистему СМО в виде отдельного класса. В свойствах класса можно хранить параметры подсистемы, а в методах - алгоритм её работы.

Информация о работе Система массового обслуживания