Для студентов МГУ им. Ломоносова по предмету Имитационное моделирование в исследованиях и разработкеРешённое задание 2Решённое задание 2 2019-05-10СтудИзба

Курсовая работа: Решённое задание 2

Описание

Описание файла отсутствует

Характеристики курсовой работы

Учебное заведение
Семестр
Просмотров
101
Скачиваний
6
Размер
14,17 Kb

Список файлов

Прочти меня!!!

Файл скачан с сайта StudIzba.com

При копировании или цитировании материалов на других сайтах обязательно используйте ссылку на источник

task2

Задание 2

Исходные данные: система клиент-сервер, см. слайды 16-20 к лекции 3

Требуется

- построить имитационную модель; допускется принять все пакеты запросов одинаковой длины; то же с пакетами ответов

- провести серию экспериментов:

- задать экспоненциальные распределения для времени генерации запроса клиентом и для времени генерации ответа сервером;

- подобрать параметры распределения так, чтобы очередь не росла бесконечно.

- исследовать зависимость длины очереди к серверу от числа клиентов.

Конкретизация объема и порядка исследования - на усмотрение студентов. Выбор средства моделирования - тоже (важно, чтобы модель можно было бы предъявить лектору)

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

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

Принятое задание 2 дает 3 балла оценки на экзамене (т.е. минус три вопроса)

Несделанное задание 2 - 0 баллов

Сделанное частично - по усмотрению лектора

мануал (avasite)

Итак, я делал модель для AnyLogic University.

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

Вообще хорошо, что порог входа низкий.

1) AnyLogic - позволяет создавать модель из элементов, в которых, прописывается логика на языке Java

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

3) Справка -> Справка Anylogic -> там находим любую ссылку и через правую кнопку мыши открываем "Открыть в новом окне", при этом справка откроется в браузере, откуда её просматривать комфортнее.

Самое полезное место там под названием "Классы и функции AnyLogic" - потому что там рассказано API - какие есть методы у тех или иных объектов, которые вы можете создавать (будь это график, кнопка, массив объектов (assets) или чтобы то ни было ещё)

4) Можно создавать целую визуализацию для модели, для этого можете запустить любую модель из стандарта (Air Defense System - достаточно не проста, но мозг способен её осилить), потом откройте мою и увидите модель без визуализации.

Не пугайтесь, всё не так уж и плохо.

5) Есть вкладка в верхнем левом - "проекты". Там вы найдёте внутри своей открытой модели:

1) Simulation:Main - это просто окошко приветствия, потом будет.

2) Main - тут всё начинается, воспринимайте это как глобальную область видимости, вообще все assets вложенные друг в друга - это как вложенные классы, т.е. области видимости

3) Я ещё создал assets под названиями Client, Server и Session - это по сути большие классы, в которых я потом описываю поведение и зависимости.

4) Чтобы поместить объект например Server в Main - достаточно просто перетащить нужную иконку на область визуализации (откроется, если 2-ды щёлкнуть по нужному asset).

5) Дальше можно добавлять элементы поведения, я использовал следующие:

1) Диаграмма состояний - описывает, как себя ведёт объект - ткните в её узлы и рёбра и посмотрите, что можно для них указывать - это удобно.

2) Переменные (обычно я их кучкой сбоку располагал)

3) У вас порой автоматизированно будут создаваться "connections", и ссылки (стрелочки вверх, ссылающиеся на объекты(assets), в которых вы пользуете данный asset) - не удаляйте их, могут пригодиться.

4) Можно добавлять кнопки и поля ввода - полезно то, что их можно связывать с соответствующими переменными, и задавать граничные значения

5) Графики - просто перетащить и заполнить поля, которые вам нужны и будет счастие.

6) Теперь про java.

Anylogic автоматически генерирует много методов для тех assets, которые вы генерируете, да и вообще много всякого.

Изучать это можно долго и плодотворно, но мне хватило следующего:

add_clients() - добавляет 1 клиента к тому множесву клиентов, которое уже существует, важно, что имя того массива assets должно совпадать с "clients" в данном случае, и в зависимости от того, в какой области видимости вы это сделаете.

remove_clients() - аналогично

session.sessionBehaviour.fireEvent("Clie ntProcessedIt"); - очень важно для синхронизации, ибо это посылка сообщения объекту session в его граф управления под названием sessionBehaviour (название точки входа этого графа).

ПРОСЬБА:

Я тут отметил лишь 3 вещи, однако уверен, что есть ещё очень полезные вещи, которые тут стоит упомянуть. ("полезные" - в данном случае прагматичное слово, ориентированное на то, что да - в мире много крутых пряников, но упомянуть здесь стоит лишь то, что действительно полезно)

Так что просьба, если кто-то считает, что есть что-то полезное, чем стоит дополнить это место, - пишите на почту.

Видать это синтаксис java (я просто не знаток, никогда на ней не писал, пришлось первый раз), но судя по всему это:

for (Client client : clients) {i = i + 1;}

перебирает в цикле всех клиентов, что там есть.

На чём я запарывался:

1) Настоятельно советую синхронизироваться при помощи сообщений (я как-то раз пытался сделать в одном месте через переменную, но у меня почему-то не полетело, и пришлось там тоже впилить сообщения)

2) Если вы не уменьшите частоту дискретизации в графике, то можете случайно пропускать некоторые состояния, и видеть неверные картинки, хотя всё работает ок.

3) И конечно же иногда я тупил просто так.

Каким образом скорее всего стоит начать выполнять задание:

1) Придумать, какие есть объекты

2) Придумтаь иерархию, т.е. кто кого содержит (т.е. какой asset вложен в какой, и чем он является - одним экземпляром, или коллекцией их)

(можно реализовать иерархию)

3) Придумать Диаграмму состояний и правильно назвать каждое состояние, если вы смогли назвать все состояния и в голове всё сошлось, то возможно вам уже не придётся переделывать архитектуру.

(придумываем вместе с рисованием диаграмм, что-то придётся перерисовывать, но в целом дорисовывая то одну то другую, можно будет таки собрать картинку в целое)

4) А теперь занимаемся синхронизацией диаграмм, вставляя туда посылки сообщений, и вставляя туда всякие ограничения или вызовы, ... по пути создавая все нужные нам переменные

(чем-то uppaal напоминает не так ли? )) )

5) Пидумываем, какие параметры для уже построенной и рабочей системы можно легко встроить - встраиваем их и делаем для них формочки кнопочки, ...

В итоге получаем систему с кучей параметров, отчего лектор наверно будет доволен.

В целом я свою работу выполнил погано, что было связанно с тем, что я пытался въехать в "БОРОДА МЕРЛИНА!!!, ДА ЧТО ТУТ ВООБЩЕ ТВОРИТЬСЯ !!!", сразу слёту, и никаких 1000 страницных мануалов я читать не хотел, а коротких не было, так что моя модель - не пример для подражания, но вполне пример для обучения.

Картинка-подпись
Хочешь зарабатывать на СтудИзбе больше 10к рублей в месяц? Научу бесплатно!
Начать зарабатывать

Комментарии

Поделитесь ссылкой:
Рейтинг-
0
0
0
0
0
Поделитесь ссылкой:
Сопутствующие материалы
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее