Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио. |
Модель функционирования направления связи
Постановка задачи
Направление связи состоит из двух каналов (основного и резервного) и общего входного буфера емкостью на Еmk сообщений.
На направление поступают два потока сообщений с экспоненциально распределенными интервалами времени, средние значения которых Т1 = 3 мин и Т2 = 4 мин. При нормальной работе сообщения передаются по основному каналу. Время передачи одного сообщения распределено по экспоненциальному закону со средним значением Т3 = 2 мин.
В основном канале происходят сбои через интервалы времени, распределенные по экспоненциальному закону со средним значением Т4 = 15 мин. Если сбой происходит во время передачи, то сообщение теряется. За время Т5 = 5 с запускается резервный канал, который передает сообщения, начиная с очередного. Время передачи одного сообщения распределено по экспоненциальному закону со средним значением Т6 = 3 мин.
Основной канал восстанавливается. Время восстановления канала подчинено экспоненциальному закону со средним значением Т7 = 2 мин. После восстановления резервный канал выключается и основной канал продолжает работу с очередного сообщения.
Необходимо разработать имитационную модель и провести исследование функционирования направления связи в течение 2 ч.
Определить:
- рациональную емкость накопителя;
- загрузку основного и резервного каналов связи;
- вероятности передачи сообщений потока 1 и потока 2;
- вероятность передачи сообщений направлением связи в целом.
Модель направления связи в GPSS World
В модели сообщения следует представлять транзактами, основной и резервный канал - одноканальными устройствами (ОКУ), входной буфер (накопитель) - списком пользователя. В списке пользователя следует использовать дисциплину обслуживания FIFO.
Для ввода исходных данных целесообразно использовать переменные пользователя. В этом случае можно проводить при необходимости встроенными средствами GPSS World дисперсионный и оптимизирующий эксперименты.
Так как сообщения имеют одинаковые приоритеты, то для моделирования ОКУ нужно использовать блоки SEIZE и RELEASE. Моделирование отказов основного канала нужно произвести блоками FUNAVAIL и FAVAIL, а не блоками PREEMPT и RETURN в режиме абсолютного захвата. Тогда статистика ОКУ не будет искажена.
Введем масштабирование: 1 единица модельного времени соответствует 1 с, то есть, например, время моделирования равно 2 часам, тогда 2*60*60 = 7200 единиц модельного времени. Аналогично Т1 = 120, Т2 = 240 и т.д.
Декомпозиция системы и состав сегментов модели определяются разработчиком. Введем следующие сегменты:
- ввода исходных данных и описания арифметических выражений;
- имитации сообщений потока 1;
- имитации сообщений потока 2;
- имитации работы буфера и основного канала;
- имитации работы резервного канала;
- имитации выхода из строя основного канала;
- задания времени моделирования и вычисления результатов моделирования.
Ниже приводится программа модели.
; Модель функционирования направления связи ;Задание исходных данных Emk EQU 5 ; Емкость накопителя VrMod EQU 7200 ; Время моделирования T1 EQU 180 ; Среднее время поступления сообщений потока 1 T2 EQU 240 ; Среднее время поступления сообщений потока 2 T3 EQU 120 ; Среднее время передачи по OsnK T4 EQU 900 ; Средний интервал времени выхода из строя OsnK T5 EQU 10 ; Время включения Resk T6 EQU 180 ; Среднее время передачи по ResK T7 EQU 120 ; Среднее время восстановления OsnK ; Описание арифметических выражений ; Вероятность передачи сообщений потока 1 Ver1 VARIABLE (N$Term1+N$Term3)/N$Soob1 ; Вероятность передачи сообщений потока 2 Ver2 VARIABLE (N$Term2+N$Term4)/N$Soob2 ; Вероятность передачи сообщений потоков 1 и 2 Ver VARIABLE (V$Ver1+V$Ver2)/2 ; Сегмент имитации сообщений потока 1 GENERATE (Exponential(12,0,T1)) ; Генератор сообщений потока 1 Soob1 ASSIGN 1,1 ; Код 1 в P1 - сообщения потока 1 TRANSFER ,Nakop ; Направить на OsnK ; Сегмент имитации сообщений потока 2 GENERATE (Exponential(15,0,T2)) ; Генератор сообщений потока 2 Soob2 ASSIGN 1,2 ; Код 2 в P1 - сообщения потока 2 ; Сегмент имитации работы накопителя и OsnK Nakop GATE FV OsnK,KRes ;Доступен ли OsnK? Если нет, на Resk GATE NU OsnK,Spis ;Свободен ли OsnK? Если нет, в накопитель Prov3 SEIZE OsnK ; Занять OsnK ADVANCE (Exponential(11,0,T3)) ; Обслуживание RELEASE OsnK ; Освободить OsnK UNLINK Nak,Prov3,1 ; Вывод из накопителя одного транзакта на OsnK TEST E P1,1,Term2 ; Сообщение потока 1 или потока 2 передано по OsnK? Term1 TERMINATE ; Счет переданных сообщений потока 1 по OsnK Term2 TERMINATE ; Счет переданных сообщений потока 2 по OsnK ; Список пользователя Nak Spis TEST L CH$Nak,Emk,Term7 ; Есть ли место в накопителе? LINK Nak,FIFO ;Если да, поместить сообщение в накопитель Term7 TEST E P1,1,Term6 ; Сообщение потока 1 или потока 2 было потеряно? Term5 TERMINATE ; Счет потерянных сообщений потока 1 Term6 TERMINATE ; Счет потерянных сообщений потока 2 ; Сегмент имитации работы Resk KRes GATE NU ResK,Spis ; Свободен ли Resk? Нет, сообщение в накопитель TEST E Kont,1,Prov1 ; Включить ResK ADVANCE T5 ; Включение Resk SAVEVALUE Kont,0 Prov1 SEIZE ResK ; Занять Resk ADVANCE (Exponential(12,0,T6)); Передача RELEASE ResK ; Освободить Resk GATE FNV OsnK,Prov2 ; Доступен ли OsnK? UNLINK Nak,Prov1,1 ; Если нет, из буфера сообщение на Resk Prov2 TEST E P1,1,Term4 ; Сообщение потока 1 или 2 передано по ResK? Term3 TERMINATE ; Счет переданных сообщений потока 1 Term4 TERMINATE ; Счет переданных сообщений потока 2 ; Сегмент имитации выхода из строя OsnK GENERATE ,,,1 Term8 ADVANCE (Exponential(12,0,T4)); Расчет времени до следующего отказа FUNAVAIL OsnK ; Выход из строя OsnK SAVEVALUE Kont,1 ASSIGN 1,(Exponential(12,0,T7)); Расчет времени восстановления OsnK ADVANCE P1 ; Имитация восстановления OsnK SAVEVALUE VrOtk+,P1 ; Учет времени восстановления OsnK FAVAIL OsnK ; OsnK в доступное состояние UNLINK Nak,Prov3,1 ; Сообщение на OsnK TRANSFER ,Term8 ; Сегмент задания времени моделирования ; и вычисления результатов моделирования GENERATE VrMod TEST L X$Prog,TG1,Met3 SAVEVALUE Prog,TG1 Met3 TEST E TG1,1,Met4 SAVEVALUE Ver1,V$Ver1 ; Вероятность передачи сообщений потока 1 SAVEVALUE Ver2,V$Ver2 ; Вероятность передачи сообщений потока 2 SAVEVALUE Ver,V$Ver ; Вероятность передачи сообщений направлением связи SAVEVALUE VOtk,(1-V$Ver) ; Вероятность отказа в передаче сообщений SAVEVALUE VerOtk,((AC1-X$VrOtk)/AC1) ; Вероятность безотказной работы OsnK Met4 TERMINATE 1 START 10000
Для определения вероятности безотказной работы суммируется в ячейке X$VrOtk время отказов направления связи, которое затем вычитается из абсолютного модельного времени AC1, а полученная разность делится на AC1.