|
Здравствуйте, прошел курс "Концептуальное проектирование систем в 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.
