бох каналах)
Набори даних для збору статистики
Zagryzkarez (визначення завантаження резервного каналу kolrezerv/(vsegozaiavok/100))
Zagryzkaosn (визначення завантаження основного каналу kolosnovnoi/(vsegozaiavok/100))
Об'єкти бібліотеки AnyLogic Enterprise Library використовувані при побудові моделі каналу передачі даних.
Source (генерує повідомлення, час генерації нових повідомлень 8 ± 2с uniform (13,3) кількість заявок прибувають за один раз одно 1).
queue2 (виконує роль накопичувача, зберігає повідомлення в послідовності прибуття, при звільненні ресурсів пропускає повідомлення на вихід, максимальна місткість)
Seize (здійснює захоплення повідомленням списку ресурсів зазначених у resourcePool, при вході повідомлень відбувається підрахунок згенерованих повідомлень vsegonaobrabotky=vsegonaobrabotky + 1;) (містить список захоплених ресурсів)
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. Отримання і інтерпретація результатів моделювання системи
. 1 Планування машинного експерименту з моделлю системи
Для отримання максимального обсягу необхідної інформації про об'єкт моделювання при мінімальних витратах машинних ресурсів проведемо повний факторний експеримент з чотирма суттєвими факторами (змінних і параметрів).
х1 - інтервал часу прибуття чергового повідомлення=8с.;
х2 - інтервал часу виходу з ладу основного каналу 250с.;
х3 - час передачі повідомлення по каналах 6с.;
х4 - відновлення основного каналу 22с.;
х5 - час запуску резервного каналу 3с.;
Задамо рівні варіації для кожного фактора:
D х1=2, D х2=50, D х3=2, D х4=4, D х5=1
Складемо матрицю плану повного факторного експерименту. Таблиця №1
Таблиця №1.
Номер опитаФактор х1Фактор х2Фактор х3Фактор х4Фактор х50 (базовый)82506223162004182262004184362004262462004264562008182662008184762008262862008264963004182106300418411630042621263004264136300818214630081841563008262166300826417102004182181020...