Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Дополнения в корневом активном объекте




Здесь добавлены только связи экземпляров машин по портам in и out. Ма­шины должны быть связаны в кольцо. Для того чтобы это сделать, в окне структуры активного объекта Model порты реплицированного экземпляра объекта Machine связаны соединителем, и в окне свойств этой связи выбра­ны нужные варианты соединения. Для начальных точек соединения это порты out машины [i+1]; конечная точка связывает порты in машины [i]. Кроме этой связи нужно замкнуть кольцо. Для этого в поле Дополнительный код класса окна Код объекта Model введена функция oncreate () с единст­венным оператором: machine.item(0).out.connect(machine.itern(machine.size()-1).in);

Дополнения в анимации

Поскольку каждая машина участвует в двух разных вычислениях (в базовых и обмене токенами), в анимации она представлена прямоугольником, разде­ленным на две части. Нижняя половина отражает динамику базового алго­ритма, верхняя половина отражает работу алгоритма распределенного за­вершения. В эту верхнюю половину помещено также изображение токена кружком, меняющим цвет от светло-серого к темно-серому в соответствии с алгоритмом. Токен включает накопленное значение token.count при дви­жении токена по кольцу. Видимость изображения токена определяется буле­вой переменной hasToken, которая устанавливается в true при получении машиной токена.

На рис. 19.4 показано состояние системы машин, при котором токен нахо­дится в машине 4. Будучи порожденным машиной-лидером с номером 0, токен прошел в последнем цикле по крайней мере одну черную машину, поэтому сам стал черным. К текущему моменту он накопил число 7 при движении по кольцу, суммируя значения счетчиков базовых сообщений всех машин.


Если по получении токена машина-лидер обнаружит, что:

- сама эта машина белая,

- полученный токен белый,

- сумма значении токена и счетчика с машины 0 равна 0,

то машина принимает решение о том, что состояние завершения распреде­ленных вычислений достигнуто. При обнаружении этой ситуации машина-лидер переходит в заключительное состояние stopAlgorithm, булева пере­менная finished устанавливается в true, и модель останавливается. Ин­формация об обнаружении завершения появляется в поле анимации.

Заключение

Предоставляемые AnyLogic визуальные средства разработки моделей парал­лельных и распределенных систем, удобная интеграция визуальной разра­ботки с фрагментами кода на языке Java для выражения алгоритмов, а также возможность визуализации функционирования параллельных систем делают AnyLogic весьма привлекательным инструментом для построения моделей сложных протоколов коммуникации. Трудоемкость разработки таких моде­лей сравнительно невелика. Например, разработка модели алгоритма рас­пределенного завершения заняла менее одного рабочего дня.



Глава 20


Модели

Коллективного поведения

В этой главе представлены две классические широко известные модели кол­лективного поведения объектов в искусственном мире: синхронизация цепи стрелков и модель Heat Bags (Тепловые жуки). Эти модели приведены здесь для того, чтобы показать, насколько проста реализация моделей ис­кусственной жизни в среде AnyLogic.

Задача о синхронизации





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 293 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2478 - | 2174 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.