Материал: 1019

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1.ЛАБОРАТОРНЫЕ РАБОТЫ

1.1.Лабораторная работа № 1

«Задача обработки запросов сервером. Модель в AnyLogic» по теме «Статистическое моделирование. Анализ данных»

Рекомендуемая литература: 1.

Перечень дополнительных ресурсов: 2, 3, перечень ресурсов в сети Интернет.

Цель работы: освоить технологии обработки запросов сервером, с применением модели в AnyLogic.

Задание:

Постановка задачи:

Сервер обрабатывает запросы, поступающие с автоматизированных рабочих мест с интервалами, распределенными по показательному закону со средним значением 2 мин. Время обработки сервером одного запроса распределено по экспоненциальному закону со средним значением 3 мин. Сервер имеет входной буфер ёмкостью 5 запросов.

Построить имитационную модель для определения математического ожидания времени и вероятности обработки запросов.

Сервер представляет собой однофазную систему массового обслуживания разомкнутого типа с ограниченной входной емкостью, то есть с отказами, и абсолютной надёжностью (рис. 1.1).

На рис 1.1 приведены также объекты AnyLogic, которые будут использованы для создания диаграммы процесса. На них мы остановимся позже. Приступим к созданию диаграммы процесса.

Создание диаграммы процесса:

1. Выполните Файл/Создать/Модель на панели инструментов.

Появится диалоговое окно Новая модель (рис. 1.2).

2.Задайте имя новой модели. В поле Имя модели введите

Server.

3.Выберите каталог, в котором будут сохранены файлы модели. Если хотите сменить предложенный по умолчанию каталог на какой-то другой, то можете ввести путь к нему в поле Местоположение или выбрать этот каталог с помощью диалога навигации по файловой системе, открывающегося нажатием кнопки

Выбрать.

4.Щёлкните кнопку Готово. Откроется пользовательский интерфейс (рис. 1.3). Остановимся на нём.

5.В левой части рабочей области находятся панель Проекты и панель Палитра. Панель Проект обеспечивает навигацию по элементам моделей, открытых в текущий момент времени. Модель

организована иерархически. Она отображается в виде дерева. Сама модель образует верхний уровень дерева. Эксперименты, классы активных объектов и Java классы образуют следующий уровень. Элементы, входящие в состав активных объектов, вложены в соответствующую подветвь дерева класса активного объекта и т. д.

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

1.3раскрыта палитра Презентация. Для того чтобы открыть нужную палитру, следует подвести курсор к иконке и щелкнуть мышью. Иконка становится светлой.

7.В правой части отображается панель Свойства. Панель

Свойства используется для просмотра и изменения свойств выбранного в данный момент элемента (или элементов) модели.

8. В центре рабочей области AnyLogic размещён графический редактор диаграммы агента Main.

9. При работе не забывайте сохранять производимые изменения с помощью кнопки панели инструментов Сохранить .

10.Создайте диаграмму процесса. Для этого в Палитре выделите Библиотеку моделирования процессов (рис. 1.4). Из неё перетащите объекты на диаграмму и соедините, как показано на рис. 1.5. Для добавления объекта на диаграмму, надо щёлкнуть его мыщью и, не отпуская её, перетащить в графический редактор.

11.При перетаскивании объектов вы можете видеть, как появляются соединительные линии между объектами. Обращайте внимание на то, чтобы эти линии, если необходимо, соединяли только порты, находящиеся с правой или левой стороны иконок. Если у вас не получится автоматическое соединение нужных объектов, дважды щёлкните начальный порт. Он станет зелёным. Протащите курсор к конечному порту. Он также станет зелёным. Для завершения процесса соединения дважды щёлкните конечный порт.

Дадим краткую характеристику объектов диаграммы:

12. Объект Source генерирует заявки определенного типа. Обычно он используется в качестве начальной точки диаграммы процесса, формализующей поток заявок. В нашем примере заявками

будут запросы на обработку сервером, а объект Source будет моделировать их поступление.

13.Объект Queue моделирует очередь заявок, ожидающих приема объектами, следующими за данным в диаграмме процесса. В нашем случае он будет моделировать очередь запросов, ожидающих освобождения сервера.

14.Объект Delay задерживает заявки на заданный период времени. Он представляет в нашей модели сервер, обрабатывающий

запросы.

15. Объект Sink уничтожает поступившие заявки. Обычно он используется в качестве конечной точки потока заявок (и диаграммы процесса соответственно).

Изменение свойств блоков диаграммы процесса:

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

Чтобы всегда была уверенность в том, что в текущий момент в рабочем пространстве выбран именно нужный элемент, и именно его свойства вы редактируете в панели Свойства, обращайте внимание на первую строку, показываемую в панели Свойства — в ней отображается имя выбранного в текущий момент времени элемента и его тип.

Согласно принятым стандартам, объекты в диаграмме процесса обычно располагаются цепочкой слева направо, представляя собой последовательную очередность операций, которые будут производиться над заявкой.

Первым объектом в диаграмме процесса является объект класса Source. Объект source генерирует заявки определенного типа. Заявки представляют собой объекты, которые производятся, обрабатываются, обслуживаются, или еще каким-нибудь образом подвергаются действию моделируемого процесса: это могут быть клиенты в системе обслуживания, детали в модели производства, транспортные средства в модели перевозок, документы в модели документооборота, сообщения в моделях систем связи и т.д. В нашем примере заявками будут запросы на обработку данных, а объект source будет моделировать поступление запросов на сервер.