Опубликован: 15.02.2013 | Доступ: свободный | Студентов: 256 / 0 | Длительность: 16:52:00
ISBN: 978-5-9556-0146-5
Лекция 4:

Модель функционирования направления связи

< Лекция 3 || Лекция 4: 123 || Лекция 5 >
Имитатор отказов основного канала связи

Данный сегмент предназначен для розыгрыша интервала времени до очередного отказа, блокирования основного канала, разблокирования резервного канала, имитации восстановления основного канала, его разблокирования и блокирования резервного канала.

Сегмент построен из объектов и элементов, показанных на рис. 3.5. Идея его работы заключается в следующем. Генератор вырабатывает одну заявку, и становится неактивным. Заявка поступает на объект задержки, разыгрывающий время до очередного отказа. После этого заявка поступает на второй объект задержки, имитирующий время восстановления основного канала.

C выхода второго объекта задержки заявка поступает опять на вход первого объекта задержки. Процесс имитации отказов повторяется в цикле.

Аналогичным образом построен сегмент имитации отказов основного канала и в GPSS-модели (см. п. 3.2).

Если построить сегмент так, что время до очередного отказа будет разыгрывать генератор, то это не логично, так как при таком варианте отсчет времени до очередного отказа не будет начинаться от момента окончания восстановления канала. Возникнут ситуации, когда очередной отказ придется на время, когда идет процесс восстановления канала.

Постройте сегмент имитации отказов основного канала связи.

  1. Перетащите из библиотеки объекты, соедините их как на рис. 3.5.
  2. Последовательно выделите и установите свойства объектов согласно табл. 3.5.
Сегмент имитации отказов основного канала связи

Рис. 3.5. Сегмент имитации отказов основного канала связи
Таблица 3.5.
Свойства Значение
Имя source
Отображать имя Установить флажок
Класс заявки Entity
Заявки прибывают согласно Интенсивности
Интенсивность прибытия 1
Ограниченное количество прибытий Установить флажок
Количество заявок, прибывающих за один раз 1
Имя розыгрыш_инт_до_отказа
Отображать имя Установить флажок
Класс заявки Entity
Задержка задается Явно
Время задержки exponential
(1/время_нараб_отказ_осн_кан)
Вместимость 1
Действие при выходе hold.setBlocked(true);
if (основной_канал.size()!=0)
{основной_канал.remove((Message)
основной_канал.get(0));
всего_потеряно_сообщ ++;}
hold1.setBlocked(false);
а=1;
Включить сбор статистики Установить флажок
Имя имитация_восст_осн_кан
Класс заявки Entity
Задержка задается Явно
Время задержки exponential
(1/время_восстан_осн_кан )
Вместимость 1
Действие при выходе hold.setBlocked(false);
hold1.setBlocked(true);
Включить сбор статистики Установить флажок

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

Также организовано и в GPSS-модели, но для этого использована сохраняемая ячейка Kont (см. п. 3.2).

В модели AnyLogic после занятия сообщением резервного канала элемент hold1 блокируется. Может быть так, что в процессе передачи сообщения резервным каналом возобновит работу основной канал, то есть элемент hold будет разблокирован, и сообщения пойдут на основной канал. Чтобы такая ситуация учитывалась и в GPSS-модели, в нее добавлена команда

UNLINK  Nak,Prov3,1

выводящая из буфера очередное сообщение на основной канал, не дожидаясь окончания передачи сообщения резервным каналом.

Интерпретация результатов моделирования

Модели построены. Тем не менее, для удобства чтения результатов моделирования сделайте следующие дополнения.

  1. Из палитры Основная перетащите три элемента Простая переменная на диаграмму класса Main в скруглённый прямоугольник с именем Результаты моделирования.
  2. Разместите их в один столбец с простыми переменными вероятность_потери_сообщ, коэф_использ_осн_кан (см. рис. 3.2).
  3. Выделите первый элемент Простая переменная. В поле имя введите коэф_использ_осн_кан. Оставьте тип double.
  4. Выделите второй элемент. В поле имя введите коэф_использ_резерв_кан. Оставьте тип double.
  5. Выделите третий элемент. В поле имя введите коэф_использ_резерв_кан. Оставьте тип double.
  6. Выделите второй элемент Параметр. В поле имя введите коэф_безотк_раб_осн_кан. Оставьте тип double.
  7. Выделите объект основной_канал. В поле Действие при выходе введите код:
    коэф_использ_осн_кан=
    основной_канал.statsUtilization.mean()
  8. Выделите объект резерв_канал. В поле Действие при выходе к имеющемуся там коду добавьте внизу строку:
    коэф_использ_резерв_кан=
    резерв_канал.statsUtilization.mean()
  9. Выделите объект имитация_восст_осн_кан. В поле Действие при выходе к имеющемуся там коду добавьте строку:
    коэф_безотк_раб_осн_кан=
    1-имитация_восст_осн_кан.statsUtilization.mean()
  10. Во всех объектах установите флажок Сбор статистики.

Теперь вы сможете снимать значения этих коэффициентов, не отыскивая каждый раз нужные объекты и не используя при этом окна инспекта. Проведите моделирование в GPSS World и AnyLogic и сравните полученные результаты. Результаты наших экспериментов приведены в табл. 3.6.

Всего выполнено 8 экспериментов. Здесь, напомним, как и в "Модель процесса изготовления в цехе деталей" , первый эксперимент соответствует постановке задачи. В каждом следующем эксперименте параметры, установленные в предыдущем эксперименте, либо остаются неизменными, либо изменяются. Указываются только новые значения параметров в строке, предшествующей результатам следующего эксперимента. Например, во втором эксперименте увеличена ёмкость входного буфера с 5 до 10 сообщений, а остальные параметры остались неизменными (табл. 3.6).

Для получения результатов моделирования с точностью \varepsilon=0,01 и доверительной вероятностью \alpha=0,95 в GPSS World необходимо выполнить 9604 прогонов модели. В каждом эксперименте выполнялось 10 000 прогонов.

Время моделирования в AnyLogic было увеличено в 10 000 раз и составляло 72 000 000 единиц модельного времени. Следует заметить, что если в GPSS World выполнить с этим же модельным временем один прогон, то результаты получаются такими же, что и при 10 000 прогонов модели.

Согласно данным табл. 3.6 в первых трёх экспериментах вероятность передачи сообщений отличается на 0,015 … 0,022. В следующих пяти экспериментах вероятности передачи сообщений, полученные в GPSS World и AnyLogic, отличаются на 0,002 … 0,006, то есть на порядок меньше. Причём во всех экспериментах это отличие в большую сторону в AnyLogic-модели на \Delta_1…\Delta_8.

Таблица 3.6. Показатели функционирования направления связи
Показатели GPSS World AnyLogic
1) объем_буфера = 5
вероятность_передачи_сообщ 0,752 0,773
вероятность_передачи_сообщ_потока1 0,752 0,772
вероятность_передачи_сообщ_потока2 0,753 0,773
\Delta_1 вероятности_передачи_сообщ \Delta_1=0,022
вероятность_потери_сообщ 0,248 0,227
коэф_использ_осн_кан 0,777 0,757
коэф_использ_рез_кан 0,152 0,222
сум_коэф_использ_кан 0,929 0,979
2) объем_буфера = 10
вероятность_передачи_сообщ 0,829 0,861
вероятность_передачи_сообщ_потока1 0,829 0,861
вероятность_передачи_сообщ_потока2 0,829 0,862
\Delta_2 вероятности_передачи_сообщ \Delta_2=0,032
вероятность_потери_сообщ 0,171 0,139
коэф_использ_осн_кан 0,861 0,841
коэф_использ_рез_кан 0,157 0,25
сум_коэф_использ_кан 1,018 1,091
3) интер_сообщ_потока1 = 90, интер_сообщ_потока2 = 120
вероятность_передачи_сообщ 0,438 0,454
вероятность_передачи_сообщ_потока1 0,438 0,454
вероятность_передачи_сообщ_потока2 0,438 0,453
\Delta_3 вероятности_передачи_сообщ \Delta_3=0,015
вероятность_потери_сообщ 0,562 0,546
коэф_использ_осн_кан 0,882 0,882
коэф_использ_рез_кан 0,209 0,266
сум_коэф_использ_кан 1,091 1,148
4) время_передачи_осн_кан = 60, время_нараб_отказ_осн_кан = 5000
вероятность_передачи_сообщ 0,844 0,848
вероятность_передачи_сообщ_потока1 0,844 0,848
вероятность_передачи_сообщ_потока2 0,845 0,848
\Delta_4 вероятности_передачи_сообщ \Delta_4=0,004
вероятность_потери_сообщ 0,156 0,152
коэф_использ_осн_кан 0,971 0,97
коэф_использ_рез_кан 0,043 0,058
сум_коэф_использ_кан 1,014 1,028
5) время_передачи_рез_кан = 90, время_восстан_осн_кан = 60
вероятность_передачи_сообщ 0,851 0,857
вероятность_передачи_сообщ_потока1 0,851 0,857
вероятность_передачи_сообщ_потока2 0,851 0,857
\Delta_5 вероятности_передачи_сообщ \Delta_1=0,006
вероятность_потери_сообщ 0,149 0,143
коэф_использ_осн_кан 0,982 0,98
коэф_использ_рез_кан 0,017 0,029
сум_коэф_использ_кан 0,999 1,009
6) интер_сообщ_потока1 = 45, интер_сообщ_потока2 = 60
вероятность_передачи_сообщ 0,43 0,432
вероятность_передачи_сообщ_потока1 0,431 0,432
вероятность_передачи_сообщ_потока2 0,429 0,431
\Delta_6 вероятности_передачи_сообщ \Delta_2=0,002
вероятность_потери_сообщ 0,57 0,568
коэф_использ_осн_кан 0,988 0,988
коэф_использ_рез_кан 0,024 0,029
сум_коэф_использ_кан 1,012 1,017
7) время_передачи_осн_кан = 30, время_передачи_рез_кан = 45
вероятность_передачи_сообщ 0,85 0,853
вероятность_передачи_сообщ_потока1 0,851 0,853
вероятность_передачи_сообщ_потока2 0,85 0,853
\Delta_7 вероятности_передачи_сообщ \Delta_3=0,003
вероятность_потери_сообщ 0,15 0,147
коэф_использ_осн_кан 0,982 0,982
коэф_использ_рез_кан 0,015 0,021
сум_коэф_использ_кан 0,997 1,003
8) время_вкл_рез_кан = 1, время_восстан_осн_кан = 30
вероятность_передачи_сообщ 0,851 0,855
вероятность_передачи_сообщ_потока1 0,851 0,855
вероятность_передачи_сообщ_потока2 0,851 0,855
\Delta_8 вероятности_передачи_сообщ \Delta_4=0,004
вероятность_потери_сообщ 0,149 0,145
коэф_использ_осн_кан 0,988 0,987
коэф_использ_рез_кан 0,008 0,015
сум_коэф_использ_кан 0,996 1,002

Коэффициенты использования основного канала в первых двух экспериментах в GPSS World-модели отличаются в большую сторону на 0,02, а в остальных - на 0,0 … 0,002.

Коэффициент использования резервного канала и в целом суммарный коэффициент использования обоих каналов больше в AnyLogic-модели на 0,005 … 0,093 и 0,006 … 0,073 соответственно. Тем не менее, как видно, превышение вероятности передачи сообщений у AnyLogic-модели примерно в два раза ниже, чем превышение суммарного коэффициента использования обоих каналов.

По результатам экспериментов можно сделать вывод о чувствительности модели к изменению параметров направления связи. Например, при увеличении ёмкости входного буфера с 5 до 10 сообщений вероятность передачи возрастает с 0,752 (0,772) до 0,829 (0,861).Уменьшение интервалов (увеличение интенсивности) поступления сообщений потоков 1 и 2 в два раза (90 и 120) снижает вероятности передачи сообщений с 0,829 (0,861) до 0,438 (0,434). В тоже время повышение скорости передачи основного канала в два раза (60) и увеличение не менее чем в 5 раз времени наработки на отказ основного канала приводит к возрастанию вероятностей передачи сообщений с 0,438 (0,434) до 0,844 (0,848).

Машинное время выполнения модели в обеих системах практически одинаковое и составляет 5…7 сек (в AnyLogic в виртуальном режиме).

< Лекция 3 || Лекция 4: 123 || Лекция 5 >
Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева