Дополнения в корневом активном объекте
Лекции.Орг

Поиск:


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




Здесь добавлены только связи экземпляров машин по портам 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; просмотров: 91 | Нарушение авторских прав | Изречения для студентов


Читайте также:

Рекомендуемый контект:


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



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

Ген: 0.002 с.