Опубликован: 15.02.2013 | Уровень: для всех | Доступ: платный
Лекция 5:

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

Сегмент Маршрутизатор

Исходные данные
  1. Откройте объект Маршрутизатор.
  2. Перейдите на область просмотра viewData.
  3. Перетащите из палитры Презентация элемент Скругленный прямоугольник. На странице Основные в поле Имя: оставьте имя, предложенное системой.
  4. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 10, Y: 600, Ширина: 314, Высота: 190.
  5. Перетащите элемент text и на странице Основные панели Свойства в поле Текст: введите Исходные данные (рис. 4.9.).
  6. Перетащите элементы Параметр и Простая переменная. Разместите их и дайте имена согласно рис. рис. 4.10.
  7. Значения по умолчанию элементов Параметр установите согласно табл. 4.7.
  8. Тип timeOtkBK, timeVosstBK, proizvod установите double, остальных параметров и простых переменных - int.
Исходные данные сегмента Маршрутизатор

Рис. 4.10. Исходные данные сегмента Маршрутизатор
Таблица 4.7.
Имя Значение по умолчанию Имя Значение по умолчанию
emkBufer1 5000000 emkBuferNapr1 250000
timeOtkBK 3600 emkBuferNapr2 250000
timeVosstBK 3,7 emkBuferNapr3 250000
proizvod 40000 emkBuferNapr4 250000
Событийная часть сегмента Маршрутизатор

Элементы событийной части сегмента Маршрутизатор показаны на рис. 4.11. Сегмент включает Вычислительный комплекс, Буфер 2, порты входа-выхода, Имитатор отказов вычислительного комплекса.

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

Приступим к построению событийной части сегмента Маршрутизатор.

Блок контроля 1

Блок предназначен для контроля текущей емкости буфера 1 маршрутизатора. Он анализирует наличие в буфере 1 свободной памяти, достаточной для хранения поступившего сообщения, и в зависимости от результата анализа сообщение либо помещается в буфер 1, либо уничтожается.

Алгоритм работы Блока контроля 1 представлен на рис. 4.12.

В AnyLogic этот алгоритм реализуется блоками selectOutput, hold и sink.

  1. В Палитре выделите Презентация. Перетащите элемент Прямоугольник.
  2. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 26, Y: 50, Ширина: 154, Высота: 150.
  3. Перетащите объекты selectOutput, hold и sink на диаграмму класса Маршрутизатор, разместите и соедините так, как показано на рис. 4.11.
  4. Перетащите элемент text и на странице Основные панели Свойства в поле Текст: введите Блок контроля 1.
  5. Выделите объект selectOutput.
  6. В поле Имя: вместо selectOutput введите blokKontrol_1.
  7. В поле Класс заявки: Entity замените Message.
    Событийная часть сегмента Маршрутизатор

    увеличить изображение
    Рис. 4.11. Событийная часть сегмента Маршрутизатор
    Алгоритм работы Блока контроля 1

    увеличить изображение
    Рис. 4.12. Алгоритм работы Блока контроля 1
  8. Установите Выход true выбирается При выполнении условия.
  9. В поле Условие введите условие:
    (emkostBufer1-tekEmkostBufer1>=entity.dlina)&&
    (hold.isBlocked()==false)

    При выполнении условия заявка направляется на выход T (выходной порт для заявок, для которых выбирается выход true) и на выход F (выходной порт для заявок, для которых выбирается выход false), если условие не выполняется, соответственно.

  10. Выделите объект sink. В поле Класс заявки: Entity замените Message.
  11. В поле Действие при входе введите kolPotBK++; для счёта количества сообщений, потерянных при отказе вычислительного комплекса.
  12. Выделите элемент hold. В поле Класс заявки: Entity замените Message.
Блок Буфер 1

Блок Буфер 1 предназначен для приема, размещения и хранения поступающих на обработку сообщений.

Алгоритм работы блока Буфер 1 приведен на рис. 4.13.

В AnyLogic алгоритм блока Буфер 1 реализуется объектом queue, который выполняет функции очереди (FIFO).

  1. В Палитре выделите Презентация. Перетащите элемент Прямоугольник.
  2. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 190, Y: 50, Ширина: 126, Высота: 100.
  3. На странице Основные панели Свойства в поле Имя: оставьте Rectangle. Не устанавливайте флажок Отображать имя.
  4. Перетащите элемент text и на странице Основные панели Свойства в поле Текст: введите Буфер 1.
    Алгоритм работы блока Буфер 1

    увеличить изображение
    Рис. 4.13. Алгоритм работы блока Буфер 1
  5. Выделите объект queue.
  6. В поле Имя: вместо queue введите bufer1.
  7. В поле Класс заявки: Entity замените Message.
  8. В поле Вместимость введите emkBufer1.
  9. При помещении сообщения в буфер его текущая емкость увеличивается, поэтому в поле Действие при входе введите:
    tekEmkBufer1 += entity.dlina;
  10. При выходе сообщения из буфера его текущая емкость уменьшается, поэтому в поле Действие при выходе введите:
    tekEmkBufer1 = -entity.dlina;
  11. Поставьте флажок Включить сбор статистики.
Алексей Гроссман
Алексей Гроссман

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

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