Добавлен: 03.12.2023
Просмотров: 105
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рис. 5
Назначение: Моделирование очереди заявок.
Методы: int size(). Возвращает количество заявок, находящихся в данный момент в очереди.
boolean canEnter() . Возвращает true, если в очередь может быть добавлена еще одна заявка.
Свойства:
int capacity (Емкость очереди).
boolean enableTimeout (Разрешить уход по таймауту).
double timeout (Таймаут) .
void onExitTimeout (Действие при уходе по таймауту).
boolean enablePreemption (Разрешить вытеснение).
double priority (Приоритет заявки).
void onExitPreempted (Действие при вытеснении).
void onEnter (Действие при входе).
Код, выполняемый, когда заявка поступает в объект.
void onExit (Действие при выходе). Код, выполняемый, когда заявка покидает объект.
-
Delay
Рис. 6
Моделирование процессора обслуживания.
Методы:
int size(). Возвращает количество заявок, задерживаемых объектом в текущий момент времени.
boolean canEnter() . Возвращает true, если объект может принять еще одну заявку.
Свойства:
int capacity. Вместимость объекта Delay. Задает максимальное количество заявок, которое может одновременно находиться в объекте. Значение по умолчанию равно одной заявке.
void onEnter (Действие при входе). Код, выполняемый, когда заявка поступает в объект. void onExit (Действие при выходе). Код, выполняемый, когда заявка покидает объект.
double delayTime (Время задержки заявки).
-
NetworkMoveTo
Рис. 7
Назначение: Задает движение заявки.
Свойства: boolean destinationIsNode (Заявка перемещается).
Определяет, будет ли заявка двигаться в заданный узел или к захваченному ресурсу.
Значение по умолчанию :
«Движение в заданный узел. NetworkResourcePool destinationResource (Ресурс).
Свойство доступно, если заявка перемещается к захваченному ресурсу если захвачено несколько ресурсов одного типа, то будет выбираться первый ресурс из списка.
-
Моделирование анимированной модели компьютерной сети
Компьютерная сеть представляет две подсети по пять компьютеров в каждой. Каждая сеть содержит концентратор для соединения компьютеров подсети. Концентратор первой сети соединен с концентратором второй сети, и выполняет роль маршрутизатора. В первой подсети находится сервер – один из пяти компьютеров. Рабочие станции в подсетях выполняют запросы к серверу с интенсивностью . Сервер буферизует запрос и отвечает на запрос с интенсивностью . Цикл работы сервера: «Состояние ожидание» - «Ответ на запрос»- «Состояние ожидания». Подсчитать для сервера общее число принятых запросов, число ответов сервера, число запросов, полученных от компьютеров подсети сервера, число запросов, полученных от компьютеров второй подсети. Для каждого компьютера подсети определить число посланных запросов и число полученных ответов от сервера. Построить интерфейс эксперимента для исследования влияния значения параметра сервера на работу сети. Построить графики, показывающие производительность и загрузку сервера.
4.1 Схема
Рис. 8 Наглядная схема движения заявки
Рис. 9 Построение модели
Рис. 10 Стейтчарт сервера
Рис. 11 Стейтчарт рабочей станции
Для создания запроса от рабочих станций к серверу и буферизация вопроса сервером с определенной интенсивностью были введены переменные и стейтчарты.
За интенсивность каждой рабочей станции отвечает параметр pL.
За интенсивность ответа на вопрос сервером ответственен параметр pm.
Программа работает следующим образом:
-
Рабочая станция получает заданную пользователем интенсивность pl. В стейтчарте рабочей станции выполняется следующий код, результат которого отправляется на сервер:
Frame fr = new Frame(pId, pServId, pNetId, pServNetId);
port.send(fr);
-
Сервер получает
Сервер при поступлении запроса выполняет следующее действие, прописанное в стейтчарте:
if (buffer.size()!=0) {
vW++;
Frame frm = buffer.get(0);
Frame nFrm = new Frame (pId, frm.idSen, pIdNet, frm.idNetSen);
buffer.remove(0);
port.send(nFrm);
}
vA++;
Где buffer.size() – флаг, показывающий есть или нет заявки от рабочей станции
Далее идет отправка переменных в Java-класс для последующей имитации буферизации данных с помощью переопределения базового класса toString() с помощью @Override.
Далее идет инкрементация переменной vA, которая отображает количество обработанных заявок сервером.
Переменная vW в стейчарте отвечает за принятые заявки сервером.
Данный процесс закольцован и реализован с определенной интенсивностью, которую задает пользователь перед выполнением программы.
Наглядно обработанные и поступившие запросы на сервер, а так же его загруженность можно наблюдать на диаграммах.
Рис. 12
-
Анализ результатов
Структуру интерфейса эксперимента модели можно показать с помощью диаграммы прецедентов UML, которая показана на Рис. 12.
Рис. 13
Модельным временем эксперимента являются минуты.
Рис. 14 Запуск модели
С помощью ползунка пользователь может настроить необходимую интенсивность сервера и рабочих станций в эксперименте.
Рис. 15
-
Вывод
В данной курсовой работе мной была разработана анимированная модель компьютерной сети, с помощью которой можно анализировать производительность и загруженность сервера, принимающего запросы от рабочих станций. После проведения эксперимента, можно сделать вывод, что чем выше интенсивность обработки запросов сервером, тем меньше его загрузка, а с ростом интенсивности отправки запросов рабочими станциями растет производительность их обработки самим сервером.
-
Список литературы
-
Самаров К.Л. Учебно-методическое пособие по разделу ЭЛЕМЕНТЫ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ Учеб. пособие для вузов. - М.: Резольвента, 2009 -
Гнеденко Б.В. Введение в теорию массового обслуживания. –М.: Знание, 1973. -
Советов Б.А., Яковлев С.А. Моделирование систем. М: Высшая школа, 1985. -
Доенин В., Моделирование транспортных процессов и систем, 2012 -
Вентцель Е.С. Исследование операций. Задачи, Принципы, методология. –М.: Дрофа, 2004.