Опубликован: 07.11.2014 | Доступ: свободный | Студентов: 338 / 12 | Длительность: 15:17:00
ISBN: 978-5-9556-0161-8
Тема: САПР
Лекция 5:

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

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Переключение между областями просмотра

Переключение между областями просмотра организуем так, чтобы можно было из сети переходить к любому абоненту, каналу, маршрутизатору и обратно. В каждом активном объекте - к данным и обратно к событийной части объекта или в сеть.

Для переключения используем элемент button из палитры Элементы управления.

  1. Перетащите элемент button (см. Рис. 4.18).
  2. На странице Основные панели Свойства укажите:
    • Метка: Абонент1
    • Действие: абонент1.облАбонент1.navigateTo()
  3. Скопируйте кнопку Абонент1. Вставьте пять раз. Последовательно откройте и внесите соответствующие правки в полях Метка: и Действие:, например:
    • Метка: Абонент2
    • Действие: абонент2.облАбонент2.navigateTo()
  4. Перетащите элемент button. Укажите свойства:
    • Метка: Результаты
    • Действие: viewData.navigateTo()
  5. Перетащите элемент button. Укажите свойства:
    • Метка: маршрутизатор1
    • Действие: маршрут1.облМарш1.navigateTo()
  6. Скопируйте кнопку маршрутизатор1. Её свойства:
    • Метка: маршрутизатор2
    • Действие: маршрут2.облМарш2.navigateTo()
Область просмотра облКан

увеличить изображение
Рис. 4.19. Область просмотра облКан

Так как каналов 12, то давайте создадим ещё одну область просмотра облКан, и на ней разместим 12 кнопок (Рис. 4.19).

  1. Перетащите из палитры Презентация элемент Область просмотра. На странице Основные в поле Имя: введите облКан.
  2. Перейдите на страницу Местоположение и размер панели Свойства. Введите в поля X: 0, Y: 1780, Ширина: 450, Высота: 200.
  3. Перетащите элемент button.
  4. На странице Основные панели Свойства укажите:
    • Метка: Канал1
    • Действие: канал1.облКан.navigateTo()
  5. Скопируйте кнопку Канал1. Вставьте одиннадцать раз. Последовательно откройте и внесите соответствующие правки в полях Метка: и Действие:. Например:
    • Метка: Канал2
    • Действие: канал2.облКан.navigateTo()
  6. Перетащите элемент button.
  7. На странице Основные панели Свойства укажите:
    • Метка: Сеть
    • Действие: облСеть.navigateTo()
  8. Перейдите на область просмотра облСеть. Перетащите элемент button.
  9. На странице Основные панели Свойства укажите:
    • Метка: Каналы
    • Действие: облКан.navigateTo()

Нам осталось добавить элементы для переключения между областями просмотра на активных объектах и возвращения на корневой объект Main на область просмотра облСеть.

Последовательно переходите от объекта к объекту, добавляя на них нужное число элементов button и устанавливая значения свойств согласно Табл. 4.10. Размещение этих элементов было уже показано на Рис. 4.34.6, 4.8, 4.10, 4.11, 4.164.18.

Таблица 4.10.
Объект Область просмотра Свойства Значение
Абонент облАбонент Метка: Сеть
Действие: main.облСеть.navigateTo()
облАбонент Метка: Исходные данные
Действие: viewData.navigateTo()
viewData Метка: Сеть
Действие: main.облСеть.navigateTo()
viewData Метка: Абонент
Действие: облАбонент.navigateTo()
Канал облКан Метка: Сеть
Действие: main.облСеть.navigateTo()
облКан Метка: Данные
Действие: viewData.navigateTo()
viewData Метка: Канал
Действие: облКан.navigateTo()
Маршрутизатор облМарш Метка: Сеть
Действие: main.облСеть.navigateTo()
облМарш Метка: Данные
Действие: viewData.navigateTo()
viewData Метка: Сеть
Действие: main.облСеть.navigateTo()
viewData Метка: Маршрутизатор
Действие: облМарш.navigateTo()
Маршрутизатор1 облМарш Метка: Сеть
Действие: main.облСеть.navigateTo()
облМарш Метка: Данные
Действие: viewData.navigateTo()
viewData Метка: Сеть
Действие: main.облСеть.navigateTo()
viewData Метка: Маршрутизатор
Действие: облМарш.navigateTo()
Запуск и отладка модели

Прежде чем запустить модель:

  1. В окне Проекты выделите Сеть_связи.
  2. На странице Основные в поле Единицы модельного времени: установите секунды.
  3. В окне Проекты выделите Simulation: Main.
  4. На странице Модельное время установите:
    • Режим выполнения: Виртуальное время (максимальная скорость)
    • Остановить: В заданное время.
  5. В поле Конечное время: введите 3600000. Время моделирования увеличено в 1000 раз по числу прогонов модели.
  6. На странице Случайность установите Фиксированное начальное число (воспроизводимые "прогоны").
  7. В поле Начальное число: введите 897.
  8. Запустите модель. Если появятся ошибки, исправьте их.

При правильном построении модели вы получите результаты, показанные на Рис. 4.20.

Среди них показатели качества обслуживания сети связи: коэффициент пропускной способности 0,815 и среднее время передачи одного сообщения 6,050. Коэффициент пропускной способности, например, абонент 2 - абонент 3 равен 0,816. Обратите внимание на существенную разницу между минимальным и максимальным временами передачи сообщения. Она объясняется принятым экспоненциальным законом распределения времени передачи сообщений: максимальное значение может отличаться от среднего значения в восемь раз.

Количество отправленных и полученных сообщений всего и по категориям рассчитано за один прогон модели, то есть за 3600 сек. Для расчёта, как вы помните, был введён параметр kolProg=1000 и в 1000 раз было увеличено модельное время. Всего отправлено сообщений 600,559, получено всего абонентами - 490,035. Если разделить число полученных сообщений на число отправленных, то и будет получен коэффициент пропускной способности сети.

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

Перейдите в область просмотра Сеть, щёлкнув кнопку Сеть. Затем, щёлкните, например, кнопку Абонент2. Вы увидите результаты моделирования, показанные на Рис. 4.21.

Результаты моделирования сети связи

увеличить изображение
Рис. 4.20. Результаты моделирования сети связи
Результаты моделирования по абоненту 2 сети связи

Рис. 4.21. Результаты моделирования по абоненту 2 сети связи
< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Артём Нагайцев
Артём Нагайцев

Выдает ошибку "entity cannot be resolved to a variable" при попытке запуска. В чем может быть причина? Ошибка в строках

entity.time_vxod=time(); 

time_obrabotki.add(time()-entity.time_vxod); 

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Артём Нагайцев
Артём Нагайцев
Россия