Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио. |
Модель функционирования сети связи
Создание новых классов активных объектов
Построение модели начнём с создания новых классов активных объектов. Напомним, что согласно рис. 4.1 в сети связи выделены следующие сегменты (компоненты):
- абонент;
- маршрутизатор;
- канал.
Реализуем эти сегменты средствами AnyLogic, а потом из них, как из созданных нами элементов, будем строить сеть на корневом объекте Main.
Создайте три новых класса активных объектов: Абонент, Канал, Маршрутизатор.
- Выполните команду Файл/Создать/Модель на панели инструментов. Появится диалоговое окно Новая модель.
- Задайте имя новой модели. В поле Имя модели введите Сеть_связи. Выберите каталог, в котором будут сохранены файлы модели.
- Щелкните кнопку Далее. Откроется вторая страница Мастера создания модели. Выберите Начать создание модели "с нуля". Щелкните кнопку Далее.
- На панели Проекты щёлкните правой кнопкой Main и выберите из контекстного меню Создать/Класс активного объекта.
- Откроется окно Новый класс активного объекта.
- Введите в поле Имя: имя нового класса Абонент.
- Если нужно, в поле Описание: введите описание назначения класса Абонент. Щелкните Готово. При построении даже таких моделей это целесообразно делать.
- Также создайте классы Канал и Маршрутизатор.
Создание областей просмотра
Последовательно переходите на классы объектов Main, Абонент, Канал, Маршрутизатор и создайте на каждом области просмотра. На них мы будем размещать элементы событийной части модели, а также исходные данные, переменные для промежуточных вычислений и результаты моделирования.
Значения свойств элементов Область просмотра установите согласно табл. 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 |
Приступим к созданию сегментов сети связи.
Сегмент Абонент
Исходные данные
- Откройте объект Абонент.
- Перейдите на область просмотра viewData.
- Перетащите из палитры Презентация элемент Скругленный прямоугольник. На странице Основные оставьте Имя:, предложенное системой.
- Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 5, Y: 745, Ширина: 435, Высота: 365.
- Перетащите два элемента text и на странице Основные панели Свойства в поле Текст: введите Исходные данные и Результаты соответственно (рис. 4.3).
- Переход между областями просмотра в ходе моделирования организуйте позднее.
- Перетащите из палитры Основная элементы Простая переменная, разместите и дайте им имена согласно рис. 4.3. Тип всех простых переменных, кроме tekEmkBuferVx, установите double. Тип tekEmkBuferVx - int. Простые переменные предназначены для промежуточных вычислений и сбора статистических данных за одного абонента.
- Перетащите элементы Параметр, разместите и дайте имена как на рис. 4.3. Тип всех элементов Параметр, кроме emkBuferVx и numAbonent, double. Тип emkBuferVx и numAbonent - int. Значения свойств установите согласно табл. 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.
- Щёлкните правой кнопкой мышки в панели Проекты и в контекстном меню выберите Размерность.
- В открывшемся окне Размерность в поле Имя: введите KolKat. Если введёте kolKat, в окне Ошибки появится сообщение: По соглашению, имена типов Java обычно начинаются с заглавной буквы.
- Установите Тип размерности: Диапазон.
- В открывшееся поле Диапазон: введите 1-4.
- Щёлкните Готово.
Теперь создайте массив verKat.
- Выделите элемент Параметр (см. рис. 4.3).
- На странице Основные панели Свойства установите флажок Массив. Рядом появится значок {…}. Щёлкните по нему.
- Откроется страница свойств Массив. В окошке Возможные размерности: выделите KolКат.
- Щелкните кнопку . Размерность KolКат появится в окошке Выбранные размерности.
- Вернитесь на страницу Основные панели Свойства.
- В поле Значение по умолчанию: введите:
{0.3, 0.5, 0.7, 1.0}
- Создайте также массивы dlKat, dlKatO одинаковой размерности KolKat. Данные в поле По умолчанию введите из табл. 4.2.
Для получения стандартной статистической информации о времени передачи сообщений по каждому источнику добавьте элемент сбора статистики.
- Перетащите элемент Данные гистограммы с палитры Статистика.
- Задайте свойства элемента:
- измените Имя: на врПередачи;
- сделайте Количество интервалов: равным 10;
- задайте Нач. размер интервалов: 0.01.
Теперь можно было бы приступить к построению событийной части сегмента. Однако вы решили вывести результаты моделирования в более презентабельном виде. Поэтому целесообразнее организовать этот вывод, поскольку полученные при этом данные (имена, опции и др.) необходимы будут в дальнейшем при написании кода в событийной части сегмента.