Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

мод сис / V.Boev-GPSSvsAnyLogic

.pdf
Скачиваний:
94
Добавлен:
11.04.2015
Размер:
9.01 Mб
Скачать

4.1.2. Исходные данные

n1

6; k

4;

 

 

 

 

 

 

 

 

 

exponential T1

exponential T2

... exponential T6

exponential 30 ;

n2

4; pк1

0,3; pк2

0, 2; pк3 0, 2; pк4

0,3;

 

Q

40000 оп/с; L1 5000000;

 

 

 

 

 

 

 

normal S1 , So1

normal 53000, 6100 ;

 

 

 

 

 

normal S3 , So3

normal 66000, 7000 ;

 

 

 

 

 

normal S4 , So4

normal 50000, 500 ;

 

 

 

 

 

 

exponential TотК

...

exponential

TотК

 

 

exponential

360 ;

 

 

1

 

 

 

 

8

 

 

 

 

exponential

TвК

...

exponential

TвК

 

 

 

exponential 3.2 ;

 

 

1

 

 

 

8

 

 

 

 

 

exponential TотВК

exponential 3600 , exponential TвВК

=exponential 3.7 ;

 

 

 

 

 

 

 

 

Vпi

5000 бит/с, n3i

1, L2i 250000, i

 

1, 4.

 

4.1.3. Задание на исследование

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

4.1.4. Формализованное описание модели

Сообщения поступают от n1 6 источников. Интервалы посту-

пления сообщений, интервалы между отказами и время восстановления работоспособности распределяются по экспоненциальному закону (exponential), а вычислительные сложности сообщений в зависимости от категорий — по нормальному закону (normal). Для некоторых одинаковых параметров с целью упрощения принято, что они имеют равные значения, например, средние значения интервалов поступления сообщений. Модель же будет построена в некотором приближении универсальной так, что все эти значения могут быть любыми.

Вариант сети связи при принятых исходных данных (в том числе количестве входов и выходов маршрутизатора) может быть представлен в следующем виде (рис. 4.1).

131

Рис. 4.1. Вариант схемы сети связи

Сообщения абонентов А1 и А2 поступают на вход 1 маршрутизатора М1, абонентов А3 и А4 — на вход 2 маршрутизатора М1, абонента А5 — на вход 3 маршрутизатора М1, абонента А6 — на вход 4 маршрутизатора М1.

Маршрутизатор М1 настроен таким образом, что сообщения, адресованные абонентам А1 и А2 поступают на вход 1 маршрутизатора М2, а абонентам А3 и А4 — на вход 2 маршрутизатора М2.

Маршрутизатор М2 настроен так, что его выходы 1…4 подключены к каналам связи, по которым передаются сообщения, адресованные абонентам А1…А4 соответственно.

Видно, что система связи представляет собой многофазную многоканальную систему массового обслуживания замкнутого типа с ограниченными ѐмкостями буферов (накопителей), то есть с отказами.

132

Теперь представим маршрутизатор также как систему массового обслуживания и в общем виде (рис. 4.2).

Рис 4.2. Маршрутизатор как система массового обслуживания

133

В маршрутизаторе выделены блок контроля 1, накопитель (буфер) ВК, непосредственно ВК, блок контроля 2, накопители направлений связи.

Назначение и функции выделенных в структуре сети связи и маршрутизаторе блоков будет рассмотрено позже в ходе изложения технологии построения модели в AnyLogic.

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

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

numAbOtpr — номер абонента-отправителя сообщения; numAbPol — номер абонента-получателя сообщения; numKat — номер категории сообщения;

timeOtpr — время отправления сообщения абонентом; dlina — длина сообщения, байт;

timeObr — время обработки сообщения ВК, с;

timePered — время передачи сообщения по каналу связи, с. Эти параметры получаются путем розыгрыша по следующим

исходным данным:

kolAbonent — количество абонентов;

timeAbonent — среднее время отправления сообщений абонентом, с;

verKat={verKat1, verKat2, verKat3, verKat4}

вероятности распределения видов сообщений первой, второй, третьей и четвѐртой категорий соответственно,

verKat1+verKat2+verKat3+verKat4=1; dlKat={dlKat1, dlKat2, dlKat3, dlKat4} — сред-

ние длины сообщений, байт, первой, второй, третьей и четвѐртой категорий соответственно;

dlKat0={dlKat01, dlKat02, dlKat03, dlKat04}

стандартные отклонения длин сообщений, байт, первой, второй, третьей и четвѐртой категорий соответственно;

proizvod — производительность ВК при обработке сообщения, оп/c;

skorPeredKan — среднее время передачи сообщений по каналу связи, бит/с;

134

skorPeredKanR — среднее время передачи сообщений по резервному каналу связи, бит/с;

timeBklKanR — время включения резервного канала связи. В ходе моделирования собирается следующая статистика: kolOtprKat1, kolOtprKat2, kolOtprKat3,

kolOtprKat4, kolOtpr — количество отправленных абонентом сообщений первой, второй, третьей, четвѐртой и всех категорий соответственно;

kolPolKat1, kolPolKat2,kolPolKat3,kolPolKat4, kolPol — количество полученных абонентом сообщений первой, второй, третьей, четвѐртой и всех категорий соответственно;

всегоОтпрКат1, всегоОтпрКат2, всегоОтпрКат3,

всегоОтпрКат4, всегоОтпр — количество отправленных в сети сообщений первой, второй, третьей, четвѐртой и всех категорий соответственно;

всегоПолКат1, всегоПолКат2, всегоПолКат3, все-

гоПолКат4, всегоПол — количество полученных в сети сообщений первой, второй, третьей, четвѐртой и всех категорий соответственно;

количество отправленных сообщений каждым абонентом каждому абоненту сети;

количество полученных сообщений каждым абонентом от каждого абонента сети.

По этим статистическим данным рассчитываются: коэффициенты пропускной способности между всеми абонен-

тами сети; коэфПропСпособ — коэффициент пропускной способности

сети связи; врПередачи — среднее время передачи абоненту одного со-

общения; врПередСооб — среднее время передачи в сети связи одного

сообщения.

Коэффициенты пропускной способности определяются как отношение количества полученных сообщений к отправленным сообщениям.

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

emkBuferVx — ѐмкость входного буфера абонента, байт;

135

tekEmkBuferVx — текущую ѐмкость входного буфера абонента, байт;

emkBufer1 — ѐмкость входного буфера маршрутизатора, байт;

tekEmkBufer1 — текущая ѐмкость входного буфера, байт; emkBuferNapr1,emkBuferNapr2,emkostBuferNapr3,

emkBuferNapr4 ѐмкости на входах каналов связи первого, второго, третьего и четвѐртого направлений соответственно, байт;

tekEmkNapr1, tekEmkNapr2, tekEmkNapr3, tekEmkNapr4 текущие ѐмкости на входах каналов связи первого, второго, третьего и четвѐртого направлений соответственно, байт.

Отказы и восстановление ВК и каналов связи разыгрываются по следующим данным:

timeOtkВК — среднее время между отказами ВК; timeVosstВК — среднее время восстановления ВК; timeOtkKan — среднее время между отказами канала связи; timeVosstKan — среднее время восстановления канала связи.

4.1.5. Создание новых классов активных объектов

Построение модели начнѐм с создания новых классов активных объектов. Напомним, что согласно рис. 4.1 в сети связи выделены следующие сегменты (компоненты):

абонент; маршрутизатор; канал.

Реализуем эти сегменты средствами AnyLogic, а потом из них, как из созданных нами элементов, будем строить сеть на корневом объекте Main.

Создайте три новых класса активных объектов: Абонент, Ка-

нал, Маршрутизатор.

1.Выполните команду Файл/Создать/Модель на панели инструментов. Появится диалоговое окно Новая модель.

2.Задайте имя новой модели. В поле Имя модели введите

Сеть_связи. Выберите каталог, в котором будут сохранены файлы модели.

3. Щелкните кнопку Далее. Откроется вторая страница Мас-

тера создания модели. Выберите Начать создание модели «с

нуля». Щелкните кнопку Далее.

136

4.На панели Проекты щѐлкните правой кнопкой Main и вы-

берите из контекстного меню Создать/Класс активного объекта.

5.Откроется окно Новый класс активного объекта.

6.Введите в поле Имя: имя нового класса Абонент.

7.Если нужно, в поле Описание: введите описание назначения класса Абонент. Щелкните Готово. При построении даже таких моделей это целесообразно делать.

8.Также создайте классы Канал и Маршрутизатор.

4.1.6. Создание областей просмотра

Последовательно переходите на классы объектов Main, Абонент, Канал, Маршрутизатор и создайте на каждом области просмотра. На них мы будем размещать элементы событийной части модели, а также исходные данные, переменные для промежуточных вычислений и результаты моделирования.

Значения свойств элементов Область просмотра установите согласно табл. 4.1.

Для всех областей просмотра оставьте Выравнивать по:

Верхнему левому углу, установите из списка Масштабирование: Подогнать под окно.

 

 

 

 

Таблица 4.1

 

 

 

 

 

Свойства

 

Объекты

 

Main

Абонент

Маршрутизатор

Канал

 

Имя:

облСеть

облАбонент

облМарш

облКанал

Х:

0

0

0

0

Y:

0

0

0

0

Ширина:

770

810

740

400

Высота:

470

360

470

340

Имя:

viewData

viewData

viewData

viewData

Х:

870

0

0

0

Y:

600

700

550

700

Ширина:

470

450

330

400

Высота:

620

420

250

180

Имя:

viewResult

viewResult

 

 

Х:

0

0

 

 

Y:

600

1200

 

 

Ширина:

442

470

 

 

Высота:

820

432

 

 

Приступим к созданию сегментов сети связи.

137

4.1.7. Сегмент Абонент

4.1.7.1.Исходные данные

1.Откройте объект Абонент.

2.Перейдите на область просмотра viewData.

3.Перетащите из палитры Презентация элемент Скруглен-

ный прямоугольник. На странице Основные оставьте Имя:,

предложенное системой.

4.Перейдите на страницу Дополнительные панели Свойст-

ва. Введите в поля X: 5, Y: 745, Ширина: 435, Высота: 365.

5. Перетащите два элемента text и на странице Основные панели Свойства в поле Текст: введите Исходные данные и Результаты соответственно (рис. 4.3).

Рис. 4.3. Размещение элементов Параметр и Простая переменная

138

6.Переход между областями просмотра в ходе моделирования организуйте позднее.

7.Перетащите из палитры Основная элементы Простая переменная, разместите и дайте им имена согласно рис. 4.3. Тип всех простых переменных, кроме tekEmkBuferVx, установите double. Тип tekEmkBuferVx — int. Простые переменные предназначены для промежуточных вычислений и сбора статистических данных за одного абонента.

8.Перетащите элементы Параметр, разместите и дайте имена как на рис. 4.3. Тип всех элементов Параметр, кроме emkBuferVx и numAbonent, double. Тип emkBuferVx и numAbonent — int.

Значения свойств установите согласно табл. 4.2.

 

 

 

Таблица 4.2

 

 

 

 

Имя

Массив

Размерность

Значение по умолчанию

kolAbonent

 

 

6

timeAbonent

 

 

30

kolProg

 

 

100

numAbonent

 

 

1

emkBuferVx

 

 

80000

verKat

Установить

KolKat

{0.3, 0.5, 0.7, 1.0}

dlKat

флажки

KolKat

{53000,86000,66000,50000}

dlKatO

 

KolKat

{6100,5000,7000,500}

 

 

 

 

На рис. 4.2 видно, что элементы verKat, dlKat, dlKatO используются как массивы, размерность которых равна числу категорий сообщений. Создайте размерность KolKat.

6.Щѐлкните правой кнопкой мышки в панели Проекты и в контекстном меню выберите Размерность.

7.В открывшемся окне Размерность в поле Имя: введите

KolKat. Если введѐте kolKat, в окне Ошибки появится сообще-

ние: По соглашению, имена типов Java обычно начинаются с заглавной буквы.

8.Установите Тип размерности: Диапазон.

9.В открывшееся поле Диапазон: введите 1-4.

10.Щѐлкните Готово.

Теперь создайте массив verKat.

10.Выделите элемент Параметр (см. рис. 4.3).

11.На странице Основные панели Свойства установите флажок Массив. Рядом появится значок {…}. Щѐлкните по нему.

139

12.Откроется страница свойств Массив. В окошке Возмож-

ные размерности: выделите KolКат.

13.Щелкните кнопку . Размерность KolКат появится в окошке Выбранные размерности.

14.Вернитесь на страницу Основные панели Свойства.

15.В поле Значение по умолчанию: введите:

{0.3, 0.5, 0.7, 1.0}

16. Создайте также массивы dlKat, dlKatO одинаковой размерности KolKat. Данные в поле По умолчанию введите из табл. 4.2.

Для получения стандартной статистической информации о времени передачи сообщений по каждому источнику добавьте элемент сбора статистики.

1.Перетащите элемент Данные гистограммы с палитры

Статистика.

2.Задайте свойства элемента:

измените Имя: на врПередачи;

сделайте Количество интервалов: равным 10; задайте Нач. размер интервалов: 0.01.

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

4.1.7.2. Результаты моделирования по каждому абоненту

Вариант размещения элементов для вывода результатов моделирования показан на рис. 4.4.

Для вывода количественных показателей использован элемент

Текстовое поле из палитры Элементы управления и элемент Гистограмма из палитры Статистика.

1.В Палитре выделите Презентация. Перетащите элемент

Скругленный прямоугольник в область просмотра облАбонент.

2.На странице Основные в поле Имя: оставьте имя, предложенное системой. Сбросьте флажок Отображать имя.

3.Перейдите на страницу Дополнительные панели Свойст-

ва. Введите в поля X: 13, Y: 1250, Ширина: 447, Высота: 371.

140