Файл: Разработка системы имитационного моделирования сетей передачи данных.pdf
Добавлен: 16.02.2024
Просмотров: 37
Скачиваний: 0
Рисунок 3.2. Процессы со связями
Далее случайно выбирается один процесс, который будет являться инициатором, его цвет будет отображён как красный. Для этого внутри программы выбирается агент с нулевым номером и помечается красным цветом. Получившаяся картина показана на рисунке 3.3.
Рисунок 3.3. Появление инициатора
После этого, по цепочке идёт передача сообщения от инициатора к одному из связанных с ним неактивному процессу. Теперь ранее неактивный процесс становится инициатором и загорается красным цветом, далее он будет передавать сообщение. Изначальный инициатор загорается серым цветом для того, чтобы пользователь понимал, что в этом процессе уже было сообщение, но в данный момент он не является инициатором. Данная ситуация показана на рисунке 3.4.
Рисунок 3.4. Появление нового инициатора
Далее двигаясь по цепочке каждый из процессов, получит информацию и передаст его следующему. Рисунок 3.5 показывает ситуацию на 4 тик.
Рисунок 3.5. Ситуация на 4 тик
Итого, после того как все процессы получат информацию и передадут дальше, изначальный инициатор получит информацию всех процессов в данном алгоритме. Если предположить, что каждый наш агент является компьютером в офисной сети,
Рисунок 3.6. Последний тик алгоритма
а изначальный инициатор является директором компании, то исходя из полученной информации всех компьютеров в сети, директор будет принимать решение. Последний тик данного алгоритма показан на рисунке 3.6.
Для данного алгоритма необходимо создать несколько агентов и задать листовым процессам вид инициаторов, то есть красный цвет. Данный вид показан на рисунке 3.7.
Рисунок 3.7. Изначальный древесный алгоритм
Далее за одну волну инициаторы передают информацию вверх по дереву, а сами переходят в состояние распространивших сообщение, то есть становятся серыми. Результат данного этапа показан на рисунке 3.8.
Рисунок 3.8. Передача информации
После этого происходит тот же самый этап. Процессы, которые передали сообщение переходят в серый цвет, а получившие сообщение в красный. Конец алгоритма показан на рисунке 3.9.
Рисунок 3.9. Конец выполнения древесного алгоритма
По итогу выполнения древесного алгоритма каждый агент в системе получил сообщение.
В данном алгоритме инициатором выступает один процесс, который передаёт сообщение соседним неактивным процессам. Изначальные данные алгоритма показаны на рисунке 3.10.
Рисунок 3.10. Начало алгоритма эха
После того как появился инициатор он начинает передавать информацию агентам по соседству, а сам переходит в режим переданного сообщения, то есть становится серым. Следующий этап передачи сообщения показан на рисунке 3.11.
Рисунок 3.11. Этап передачи сообщения
После этого передача сообщения продолжается, а те процессы, которые приняли сообщение, начинают передавать его другим неактивным процессам, пока не закончится алгоритм. Конец данного алгоритма представлен на рисунке 3.12.
Рисунок 3.12. Завершение алгоритма эха
Таким образом были построены все вышеперечисленные волновые алгоритмы.
Необходимо создать агентов, которые имеют размер 3, синий цвет и форму кружков. Также необходимо с помощью команды «layout-circle turtles (world-width / 2 - 10)» расположить их по кругу, а кроме этого, задать инициатора. Полученная модель показана на рисунке 3.13.
Рисунок 3.13. Начальное состояние модели
Далее необходимо задать код, который будет передавать цвет от одного агента к другому, при этом инициатор является красным, затем переходит в неактивное состояние, а агент, который принял сообщение «загорается» красным, то есть становится активным. Этот алгоритм проходит до тех пор, пока один из агентов не передаст сообщение количество (n-4) раз. То есть на один меньше, чем количество агентов в цепочке. Второй этап выполнения алгоритма показан на рисунке 3.14.
Рисунок 3.14. Второй этап выполнения алгоритма
Третий этап выполнения алгоритма показан на рисунке 3.15.
Рисунок 3.15. третий этап выполнения алгоритма
Далее на рисунке 3.16 показан последний этап выполнения алгоритма.
Рисунок 3.16. Последний этап выполнения алгоритма
После данного этапа алгоритм закончил своё выполнение, так как нижний агент принял и передал 3 сообщения, то есть (n – 4).
Необходимо задать код, который создаёт модель, а также будет передавать цвет от одного агента к другому, при этом инициатор является красным, затем переходит в неактивное состояние, а агент, который принял сообщение «загорается» красным, то есть становится активным. Кроме того, необходимо задать связи между процессами. Модель показана на рисунке 3.17.
Рисунок 3.17. Изначальная модель алгоритма
Далее на рисунке 3.18. показан второй этап выполнения алгоритма (после одного нажатия кнопки «go».
Рисунок 3.18. Второй этап выполнения алгоритма
На рисунке 3.19. показан четвёртый этап выполнения алгоритма.
Рисунок 3.19. Четвёртый этап выполнения алгоритма
Последний этап выполнения алгоритма показан на рисунке 3.20. Агент 3 остался активным, так как было получено сообщение от агента 0. Процесс 2 остаётся активны и отсылает данные, которые полностью определены агенту 0, который являлся изначальным инициатором. Произошло оповещение всех агентов (процессов) в сети. Алгоритм завершил свою работу.
Рисунок 3.20. Последний этап выполнения алгоритма
Таким образом были построены все вышеперечисленные волновые алгоритмы.
Заключение
В ходе работы была изучена предметная область распределенных систем, в частности волновые алгоритмы. Кроме того, рассмотрена предметная область имитационного моделирования с углублением именно на метод агентного моделирования. Также был проведён сравнительный анализ трёх сред имитационного моделирования, используя различные критерии оценки СИМ. Сравнительный анализ включал такие среды моделирования, как: NetLogo, AnyLogic и Repast. По итогу анализа решено было выбрать NetLogo как среду разработки для поставленной задачи.
Для пяти видов волновых алгоритмов (кольцевой алгоритм, древесный алгоритм, фазовый алгоритма, алгоритм эха и алгоритм Финна) были построены блок-схемы и как итог работы были построены имитационные модели, которые наглядно показывают работу волновых алгоритмов. В дальнейшем данные имитационные модели будут использованы для описания руководства пользователя.
Построенные имитационные модели можно успешно применять для обучения студентов распределенным алгоритмам.
Библиографический список
- Обзор распределенных систем [Электронный ресурс]. Режим доступа ‑ http://masters.donntu.org/2008/fvti/prihodko/library/dist2.htm
- Тель Ж. Введение в распределенные алгоритмы, Изд-во МЦНМО, Москва. – 2009. – с. 616.
- Емельянов А. А., Власова Е. А., Дума Р.В. Имитационное моделирование экономических процессов: Учебное пособие. М.: Финансы и статистика, 2002 [Электронный ресурс]. Режим доступа – http://simulation.su/uploads/files/default/immod-2009-1-19-26.pdf. Дата обращения: 30. 02. 20.
- Виды имитационного моделирования [Электронный ресурс]. Режимдоступа ‑ https://studbooks.net/2274235/informatika/vidy_imitatsionnogo_modelirovaniya.
- N. S. Matloff, Introduction to Discrete-Event Simulation and the SimPy Language, 2013 [Электронный ресурс]. Режим доступа ‑ http://heather.cs.ucdavis.edu/~matloff/156/PLN/DESimIntro.pdf. Дата обращения: 02. 03. 20.
- Борщёв А. От системной динамики и традиционного ИМ – к практическим агентным моделям: причины, технология, инструменты [Электронный ресурс]. Режим доступа - http://gpss.ru/paper/borshevarc.pdf. Дата обращения 05. 03. 20.
- Лебедюк Э. А., Агентное моделирование: состояние и перспективы [Электронный ресурс]. Режим доступа - http://simulation.su/uploads/files/default/2017-lebeduk-1.pdf. Дата обращения: 07. 03. 20.
- Charles M., Michel J., Tutorial on agent-based modeling and simulation part 2: how to model with agents [Электронный ресурс]. Режим доступа - http://www2.hawaii.edu/~nreed/ics606/papers/Macal06model.pdf.
- Сharles M., Everything you need to know about agent-based modelling and simulation [Электронный ресурс]. Режим доступа - https://www.researchgate.net/publication/302923196_Everything_you_need_to_know_about_agent-based_modelling_and_simulation.
- Carbo J., Agent-based simulation with NetLogo to evaluate ambient intelligence scenarios [Электронный ресурс]. Режим доступа - https://link.springer.com/article/jos.2016.10.
- Современные системы имитационного моделирования и критерии их оценки [Электронный ресурс]. Режим доступа - http://simulation.su/uploads/files/default/2019-dadenkov-kon.pdf.
- Джелал Никукаран, Критерии оценки СИМ [Электронный ресурс]. Режим обращения - http://simulation.su/uploads/files/default/obzor-2010-guravlev.pdf.
- Michael J. and Charles M., Escaping the Accidents of History: An Overview of Artificial Life Modeling with Repast [Электронный ресурс]. Режим доступа - https://link.springer.com/chapter/10.1007/1-84628-214-4_6.
- А. И. Миков, Е. Б. Замятина, Распределенные системы и алгоритмы, 2007 [Электронный ресурс]. Режим доступа - http://window.edu.ru/resource/466/57466.
- Е. Б. Замятина, Д. Ф. Каримов, Волновые алгоритмы [Статья]
- NetLogo 6.1.1 User Manual [Электронный ресурс], Режим доступа - https://ccl.northwestern.edu/netlogo/docs/dictionary.html.
- Замятина Е.Б. Современные теории имитационного моделирования: Специальный курс. - Пермь: ПГУ, 2007. - 119 с. http://window.edu.ru/resource/717/41717
- Замятина Е.Б. Системы имитационного моделирования и машинная имитация: теоретические основы и реализация. Методичсекое пособие / Е.Б. Замятина, В.В. Ланин, Л.Н. Лядова, А.Н. Фирсов ; Федер. агентство по образованию, ГОУВПО "Перм. гос. ун-т", Пермь, 2007 – 304 с.
- Замятина Е.Б. Современные теории и системы имитационного моделирования: учеб. -метод. пособие / Е.Б. Замятина, В.В. Ланин, Л.Н. Лядова, А.Н. Фирсов ; Федер. агентство по образованию, ГОУВПО "Перм. гос. ун-т", 2007 г.,- 100 с.