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

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

Создание новых классов активных объектов

Построение модели начнём с создания новых классов активных объектов. Напомним, что согласно рис. 4.1 в сети связи выделены следующие сегменты (компоненты):

  • абонент;
  • маршрутизатор;
  • канал.

Реализуем эти сегменты средствами AnyLogic, а потом из них, как из созданных нами элементов, будем строить сеть на корневом объекте Main.

Создайте три новых класса активных объектов: Абонент, Канал, Маршрутизатор.

  1. Выполните команду Файл/Создать/Модель на панели инструментов. Появится диалоговое окно Новая модель.
  2. Задайте имя новой модели. В поле Имя модели введите Сеть_связи. Выберите каталог, в котором будут сохранены файлы модели.
  3. Щелкните кнопку Далее. Откроется вторая страница Мастера создания модели. Выберите Начать создание модели "с нуля". Щелкните кнопку Далее.
  4. На панели Проекты щёлкните правой кнопкой Main и выберите из контекстного меню Создать/Класс активного объекта.
  5. Откроется окно Новый класс активного объекта.
  6. Введите в поле Имя: имя нового класса Абонент.
  7. Если нужно, в поле Описание: введите описание назначения класса Абонент. Щелкните Готово. При построении даже таких моделей это целесообразно делать.
  8. Также создайте классы Канал и Маршрутизатор.

Создание областей просмотра

Последовательно переходите на классы объектов Main, Абонент, Канал, Маршрутизатор и создайте на каждом области просмотра. На них мы будем размещать элементы событийной части модели, а также исходные данные, переменные для промежуточных вычислений и результаты моделирования.

Значения свойств элементов Область просмотра установите согласно табл. 4.1.

Для всех областей просмотра оставьте Выравнивать по: Верхнему левому углу, установите из списка Масштабирование: Подогнать под окно.

Таблица 4.1.
Свойства Объекты
Main Абонент Маршрутизатор Канал
Имя: облСеть облАбонент облМарш облКанал
Х: 0 0 0 0
Y: 0 0 0 0
Ширина: 770 810 740 400
Высота: 470 360 470 340
Имя: viewData viewData viewData viewData
Х: 870 0 0 0
Y: 600 700 550 700
Ширина: 470 450 330 400
Высота: 620 420 250 180
Имя: viewResult viewResult
Х: 0 0
Y: 600 1200
Ширина: 442 470
Высота: 820 432

Приступим к созданию сегментов сети связи.

Сегмент Абонент

Исходные данные
  1. Откройте объект Абонент.
  2. Перейдите на область просмотра viewData.
  3. Перетащите из палитры Презентация элемент Скругленный прямоугольник. На странице Основные оставьте Имя:, предложенное системой.
  4. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 5, Y: 745, Ширина: 435, Высота: 365.
  5. Перетащите два элемента text и на странице Основные панели Свойства в поле Текст: введите Исходные данные и Результаты соответственно (рис. 4.3).
    Размещение элементов Параметр и Простая переменная

    Рис. 4.3. Размещение элементов Параметр и Простая переменная
  6. Переход между областями просмотра в ходе моделирования организуйте позднее.
  7. Перетащите из палитры Основная элементы Простая переменная, разместите и дайте им имена согласно рис. 4.3. Тип всех простых переменных, кроме tekEmkBuferVx, установите double. Тип tekEmkBuferVx - int. Простые переменные предназначены для промежуточных вычислений и сбора статистических данных за одного абонента.
  8. Перетащите элементы Параметр, разместите и дайте имена как на рис. 4.3. Тип всех элементов Параметр, кроме emkBuferVx и numAbonent, double. Тип emkBuferVx и numAbonent - int. Значения свойств установите согласно табл. 4.2.
Таблица 4.2.
Имя Массив Размерность Значение по умолчанию
kolAbonent 6
timeAbonent 30
kolProg 100
numAbonent 1
emkBuferVx 80000
verKat Установить флажки KolKat {0.3, 0.5, 0.7, 1.0}
dlKat KolKat {53000,86000,66000,50000}
dlKatO KolKat {6100,5000,7000,500}

На рис. 4.2 видно, что элементы verKat, dlKat, dlKatO используются как массивы, размерность которых равна числу категорий сообщений. Создайте размерность KolKat.

  1. Щёлкните правой кнопкой мышки в панели Проекты и в контекстном меню выберите Размерность.
  2. В открывшемся окне Размерность в поле Имя: введите KolKat. Если введёте kolKat, в окне Ошибки появится сообщение: По соглашению, имена типов Java обычно начинаются с заглавной буквы.
  3. Установите Тип размерности: Диапазон.
  4. В открывшееся поле Диапазон: введите 1-4.
  5. Щёлкните Готово.

Теперь создайте массив verKat.

  1. Выделите элемент Параметр (см. рис. 4.3).
  2. На странице Основные панели Свойства установите флажок Массив. Рядом появится значок {…}. Щёлкните по нему.
  3. Откроется страница свойств Массив. В окошке Возможные размерности: выделите KolКат.
  4. Щелкните кнопку . Размерность KolКат появится в окошке Выбранные размерности.
  5. Вернитесь на страницу Основные панели Свойства.
  6. В поле Значение по умолчанию: введите:
    {0.3, 0.5, 0.7, 1.0}
  7. Создайте также массивы dlKat, dlKatO одинаковой размерности KolKat. Данные в поле По умолчанию введите из табл. 4.2.

Для получения стандартной статистической информации о времени передачи сообщений по каждому источнику добавьте элемент сбора статистики.

  1. Перетащите элемент Данные гистограммы с палитры Статистика.
  2. Задайте свойства элемента:
    • измените Имя: на врПередачи;
    • сделайте Количество интервалов: равным 10;
    • задайте Нач. размер интервалов: 0.01.

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

Алексей Гроссман
Алексей Гроссман

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

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