Имитационное моделирование процесса передачи данных по двум каналам

Автор работы: Пользователь скрыл имя, 19 Ноября 2013 в 00:16, курсовая работа

Краткое описание

В данной курсовой работе проведено моделирование магистрали передачи данных. Проведен анализ задачи, сформулированы возможные гипотезы. По результатам экспериментов проведен анализ работы магистрали передачи данных, и определен оптимальный режим работы, при котором возможна передача максимального количества сообщений. Моделирование проведено в пакете AnyLogic.

Вложенные файлы: 7 файлов

~$яснительная записка2.doc

— 162 байт (Просмотреть документ, Скачать файл)

~WRL0803.tmp

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

~WRL1037.tmp

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

Задание 13.doc

— 25.00 Кб (Просмотреть документ, Скачать файл)

курсовая_статистика.alp

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

пояснительная записка.doc

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

2.1. Построение логической схемы  модели

Логическая схема модели представлена на Рис.№5.

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

 

Рис.№5

2.3. Выбор инструментальных средств  моделирования

В нашем случае для проведения моделирования  системы массового обслуживания с непрерывным временем обработки  параметров при наличии случайных  факторов необходимо использовать ЭВМ  с применением пакета AnyLogic. При  разработке моделей в AnyLogic можно  использовать концепции и средства из нескольких методов моделирования, например, в агентной модели использовать методы системной динамики для представления изменений состояния среды или в непрерывной модели динамической системы учесть дискретные события. Например, управление цепочками поставок при помощи имитационного моделирования требует описания участников цепи поставок агентами: производители, продавцы, потребители, сеть складов. При этом производство описывается в рамках дискретно-событийного (процессного) моделирования, где продукт или его части — это заявки, а автомобили, поезда, штабелёры — ресурсы. Сами поставки представляются дискретными событиями, но при этом спрос на товары может описываться непрерывной системно-динамической диаграммой. Возможность смешивать подходы позволяет описывать процессы реальной жизни, а не подгонять процесс под доступный математический аппарат.

2.4. Спецификация и построение схемы программы

Спецификация постановки задачи

  • Время генерации новых сообщений 8± 2с.
  • Время передачи сообщения по основному каналу за 6 ± 2 с.
  • Интервалы времени выхода из строя основного канала 250 ± 40 с.
  • Время восстановление основного канала 22 ± 6 с.
  • Время запуска резервного канала 3 с.
  • Общее время проведения эксперимента 2 часа (7200 с.)

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

  • Определить количество переданных сообщений обоим каналам.
  • Определить загрузку запасного канала.
  • Определить частоту отказов основного канала.
  • Определить число прерванных сообщений.

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

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

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

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

2.5. Проведение программирования модели

Для реализации модели канала передачи данных в пакете AnyLogic будем использовать библиотеку AnyLogic Enterprise Library которая поддерживает дискретно-событийный или, если быть более точным, "процессный" подход моделирования. Управлять объектами будем с помощью событий которые мы создадим специально для этой модели, подсчет параметров будем производить с помощью простых переменных которые также должна предопределены в модели.

Не обходимо создать следующие  события:

Avaria (выход из строя основного канала с интервалом 250 ± 40 с. uniform(290,210))

Действия происходящие при наступлении  события

    • hold.setBlocked(true);//закрываем основной канал
    • blok=true;//признак выхода из строя
    • startvoctanovlenie.restart();//запуск события на восстановление
    • startrezerv.restart();//запуск события на рестарт резервного канала
    • kollotkazov=kollotkazov+1;//считаем кол-во отказов

Startvoctanovlenie (запуск события на восстановление основного канала)

Действия происходящие при наступлении  события

    • voctanovlenie.restart(uniform(28,16))

Voctanovlenie (время восстановление основного канала 22 ± 6 с.)

Действия происходящие при наступлении  события

    • hold.setBlocked(false);//открываем основной канал
    • blok=false;// признак выхода из строя
    • avaria.restart(uniform(290,210));//запускаем событие на выход из строя основного канала
    • hold1.setBlocked(true)// закрываем резервный канал

Startrezerv (время запуска резервного канала 3 с)

Действия происходящие при наступлении  события

    • hold1.setBlocked(false);//открываем резервный канал

Необходимые переменные для реализации модели

Blok(переменная типа boolean если true то основной канал вышел из строя, эта переменная управляет объектами selectOutput)

Kollotkazov (переменная типа double для подсчета количества отказов)

Prervzaiavka (переменная типа double для подсчета прерванных сообщений)

Kolrezerv (переменная типа double для подсчета количества сообщений переданных резервным каналом)

Kolosnovnoi (переменная типа double для подсчета количества сообщений переданных основным каналом)

Vsegozaiavok (переменная типа double для подсчета количества сгенерированных сообщений)

Vsegonaobrabotky (переменная типа double для подсчета переданных сообщений по обоим каналам)

Наборы данных для сбора статистики

Zagryzkarez (определение загрузки резервного канала kolrezerv/(vsegozaiavok/100))

Zagryzkaosn ( определение загрузки основного канала kolosnovnoi/(vsegozaiavok/100))

Объекты библиотеки AnyLogic Enterprise Library используемые при построении модели канала передачи данных.

Source (генерирует сообщения, время генерации новых сообщений 8± 2с uniform(13,3) количество заявок прибывающих за один раз равно 1).

queue2(выполняет роль накопителя, хранит сообщения в последовательности прибытия , при освобождении ресурсов пропускает сообщение на выход, максимальная вместимость)

Seize (осуществляет захват сообщением списка ресурсов указанных в resourcePool, при входе сообщений происходит подсчет сгенерированных сообщений vsegonaobrabotky=vsegonaobrabotky+1;)

ResourcePool (содержит список захваченных ресурсов)

SelectOutput (передает заявки в основной канал, если blok=false. если blok=true то заявка передается в резервный канал)

Split (создаем копию заявки при передаче по основному каналу, при выходе из строя основной линии заявка находящаяся в обработке уничтожается, а копия заявки уходит на резервную линию)

Hold (имитирует выход из строя основного канала, при наступлении события Avaria (hold.setBlocked(true);//закрываем основной канал))

Delay (имитирует передачу заявки по резервному каналу, задерживает передачу сообщения на время 6± 2с. uniform(8,4), при выходе заявки открываем буфер с копией сообщения hold2.setBlocked(false))

SelectOutput1 (при выходе из строя основного канала blok=true сообщение считается прерванным и уничтожается. На выходе «false» производится подсчет сообщений переданных основным каналом kolosnovnoi=kolosnovnoi+1)

Release (освобождает ресурсы захваченные сообщением)

Sink (подсчитывает количество обработанных сообщений vsegozaiavok=vsegozaiavok+1, унечтожает обработанные сообщения с обоих каналов.)

Release1 (освобождает ресурсы захваченные сообщением при уничтожении)

Sink1 (уничтожение сообщений из основной линии при неисправности, производится подсчет прерванных заявок prervzaiavka=prervzaiavka+1)

Queue1 (имитирует буфер, хранит копию сообщения, вместимость равна 1)

Hold2 (не пропускает копию сообщения пока не произойдет обработка основной заявки, при выходе закрываем буфер hold2.setBlocked(true);)

SelectOutput2 (выводит копию сообщения на резервную линию при условии что на основной линии авария и основное сообщение не обработано, если blok=true то заявка передается на резервный канал)

Sink2 (уничтожение копий сообщений при условии что оригинал был обработан на основной линии)

Queue (сохраняет сообщения если резервный канал еще не запушен)

Hold1 (отключение резервного канала и задержка на его запуск, канал открывается при наступлении события Startrezerv (hold1.setBlocked(false)))

Delay1 (имитирует передачу заявки по резервному каналу, задерживает передачу сообщения на время 6± 2с. uniform(8,4))

Схема модели канала представлена на Рис.№6, программное исполнение модели канала представлено на Рис.№7

Рис.№6

Рис.№7

 

 

3. Получение и интерпретация  результатов моделирования системы

3.1. Планирование машинного эксперимента  с моделью системы

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

х1 – интервал времени прибытия очередного сообщения = 8с.;

х2 – интервал времени выхода из строя основного канала 250с.;

х3 – время передачи сообщения по каналам 6с.;

х4 – время восстановления основного канала 22с.;

х5 – время запуска резервного канала 3с.;

Зададим уровни вариации для каждого фактора:

1= 2, Dх2= 50, Dх3= 2, Dх4= 4, Dх5= 1

Составим матрицу плана полного  факторного эксперимента. Таблица №1

Таблица №1.

Номер опыта

Фактор х1

Фактор х2

Фактор х3

Фактор х4

Фактор х5

0 (базовый)

8

250

6

22

3

1

6

200

4

18

2

2

6

200

4

18

4

3

6

200

4

26

2

4

6

200

4

26

4

5

6

200

8

18

2

6

6

200

8

18

4

7

6

200

8

26

2

8

6

200

8

26

4

9

6

300

4

18

2

10

6

300

4

18

4

11

6

300

4

26

2

12

6

300

4

26

4

13

6

300

8

18

2

14

6

300

8

18

4

15

6

300

8

26

2

16

6

300

8

26

4

17

10

200

4

18

2

18

10

200

4

18

4

19

10

200

4

26

2

20

10

200

4

26

4

21

10

200

8

18

2

22

10

200

8

18

4

23

10

200

8

26

2

24

10

200

8

26

4

25

10

300

4

18

2

26

10

300

4

18

4

27

10

300

4

26

2

28

10

300

4

26

4

29

10

300

8

18

2

30

10

300

8

18

4

31

10

300

8

26

2

32

10

300

8

26

4


 

3.3. Проведение рабочих расчетов

Набор исходных данных для ввода  в ЭВМ представлен в виде матрицы  плана, с помощью которой в  достаточном объеме исследуется  факторное пространство. Получение выходных данных зависит от среды моделирования AnyLogic. Дополнительные расчеты не требуются.

3.4. Анализ результатов моделирования  системы

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

3.5. Представление результатов моделирования

Результаты моделирования представлены в таблице №2. Общее время моделирования каждого эксперимента 2 (7200с.).

 

 

Таблица №2

Частота отказов

Количество отказов

Загрузка резервного канала %

Число прерванных сообщений

Кол-во переданных сообщений  по основному каналу

Кол-во переданных сообщений  по резервному каналу

Всего переданных сообщений

Всего поступивших сообщений

276,9

26

9,3

20

820

85

905

910

232,2

31

9,5

19

1083

114

1197

1199

218,2

33

9,3

25

1105

114

1219

1219

225

32

13,1

21

1030

156

1186

1187

218,2

33

12,5

26

1032

148

1180

1181

218,2

33

14,2

20

495

82

577

1119

218,2

33

13,9

19

457

74

531

1200

225

32

12,1

31

737

102

839

1209

232,2

31

11,9

31

754

102

856

1220

327,2

22

7

16

1134

86

1220

1220

327,2

22

6,2

12

1135

74

1209

1210

342,8

21

9

12

1073

107

1180

1181

327,7

22

8

13

1084

95

1179

1180

327,2

22

8,8

15

554

54

608

1178

327,2

22

9,8

13

479

49

528

1199

327,2

22

9

21

765

76

841

1207

327,2

22

8,7

20

731

70

801

1215

218,1

33

9,9

14

666

73

739

739

211,7

33

11

14

631

78

709

710

225

32

13

14

621

93

714

714

225

32

12,6

14

624

90

714

715

218,1

33

11,5

23

590

77

667

724

225

32

13

22

515

77

592

726

232,2

31

13,2

27

630

96

726

727

225

32

13,9

30

631

102

733

734

327,2

22

6,2

6

677

45

722

722

327,2

22

6,6

13

673

48

721

721

327,2

22

9,4

12

651

68

719

719

327,2

22

8,9

9

654

64

718

718

327,2

22

9

15

534

53

587

720

327,2

22

7,7

15

610

51

661

719

342,8

21

9

16

653

67

720

721

342,8

21

9,9

16

599

66

665

721

результаты эксперемента.xls

— 33.50 Кб (Просмотреть документ, Скачать файл)

Информация о работе Имитационное моделирование процесса передачи данных по двум каналам