Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Описание агентной платформы JADE



КУРСОВАЯ РАБОТА

 

по дисциплине «Многоагентные системы»

 

«Основные принципы построения многоагентной системы на базе платформы Jade»

 

Студент Гаврилин Д.В.
Группа 6БИТ-4ДБ-251  
Руководитель Подпись руководителя Балакирев Н.Е.

 

 

Москва 2015


 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

 

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)»

 

Кафедра " Проектирование вычислительных комплексов"

 

 

УТВЕРЖДАЮ

Заведующий кафедрой ________

_______________ _Шилов В.В._

(И.О.Фамилия)

« ___ » ____________ 2015 г.

З А Д А Н И Е

на курсовую работу по дисциплине

____________Программирование_________________________

Студент _6БИТ-4ДБ-251____________________________________________

(№ группы, Ф. И. О.)

 

Тема ______________________________________________________

______________________________________________________

 

Перечень вопросов, подлежащих разработке в курсовой работе

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

 

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

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

________________________________________________________________________________

 

Задание выдано «___»_________20__ г.

Руководитель _Балакирев Н.Е ________________

(Ф. И. О., должность, подпись)

Студент ___________________________________________________

(подпись)

 

Содержание

 

Содержание. 3



1. Описание агентной платформы JADE.. 4

2. Архитектурная модель. 6

3. Функциональная модель. 7

4. Архитектура и реализация платформы JADE.. 9

5. Заключение. 10

Список источников. 11

 

 

 


Описание агентной платформы JADE

Java Agent Development Framework (JADE) – программная среда разработки мультиагентных систем и приложений, поддерживающая FIPA - стандарты для интеллектуальных агентов.

Включает в себя:

· среду выполнения агентов. Агенты регистрируются и работают под управлением среды;

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

· набор графических утилит для администрирования и наблюдения за жизнедеятельностью активных агентов.

Программная среда JADE подключается к любому проекту на языке Java.

JADE – это программное обеспечение промежуточного слоя (см. рис.1.1), разработанное компанией TILAB, предназначенное для создания распределенных мультиагентных приложений на основе транспортной архитектуры «точка-точка». И интеллект, и инициатива, и информация, и ресурсы, и контроль могут быть полностью распределены по мобильным терминалам также как и по компьютерам выделенной сети. Среда может динамично взаимодействовать с узлами, которые в терминологии JADE называются агентами. Агенты то появляются, то исчезают в системе в соответствии с потребностями и требованиями программной среды.

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

Рис. 1.1. Роль ПО промежуточного слоя

Платформа JADE полностью разработана на языке Java. Основополагающие принципы платформы:



· Функциональная совместимость– продукт JADE разработан в соответствии со спецификациями FIPA (см. рис. 1.2). Как следствие JADE-агенты могут взаимодействовать со сторонними агентами, поддерживающими этот стандарт.

· Портируемость и единообразность– продукт JADE предоставляет гомогенный набор прикладных программных интерфейсов(API), которые не зависят ни от базового устройства сети, ни от версии платформы Java. Если подробнее, то в процессе исполнения данное ПО предоставляет одни и те же API для окружений J2EE, J2SE, J2ME. При развертывании разработчики приложений должны определить тип среды исполнения Java.

· Простота использования– набор простых и интуитивно-понятных интерфейсов API прячет сложную логику ПО промежуточного слоя от пользователя.

· Принцип «разрабатывать по средствам»– программистам нет необходимости использовать все возможности, которые предоставляет ПО промежуточного слоя. От программистов не требуется знать что-либо о неиспользуемых функциях платформы. Ни одна из незадействованных функций не создает дополнительные накладные вычислительные расходы.

Рис. 1.2. Стандарт FIPA: службы, предоставляемые агентной платформой

Архитектурная модель

Платформа JADE включает как программные библиотеки (т.е. наборы Java-классов), требуемые для разработки прикладных агентов, так и среду исполнения, которая предоставляет базовые службы и которая должна быть активна на устройстве до того, как на нем будет исполняться агент. Каждый экземпляр JADE во время исполнения называется контейнером (так как он «содержит» агентов). Набор всех контейнеров называется платформой и предоставляет однородный слой, который прячет от агентов (а также от разработчиков приложений) сложность и распределенный характер механизмов, расположенных на более низком уровне (аппаратное обеспечение, операционные системы, типы сетей, JVM).

Рис. 1.3. Архитектура JADE

Функциональная модель

С функциональной точки зрения программный инструмент JADE предоставляет базовые службы, необходимые для распределенных приложений типа «точка-точка» в стационарных и мобильных средах. Он позволяет каждому агенту динамически обнаруживать других агентов и обмениваться с ними сообщениями в соответствии с парадигмой систем «точка-точка». С точки зрения приложения каждый агент идентифицируется уникальным именем и предоставляет набор служб. Он может регистрировать и модифицировать свои службы и/или искать агентов, предоставляющих данные службы. Также агент способен контролировать свой жизненный цикл и, в частности, общаться с другими агентами.

Агенты общаются путем обмена асинхронными сообщениями, модель коммуникаций почти повсеместно применима для распределенных и слабосвязанных коммуникаций, т.е. коммуникаций между гетерогенными сущностями, который ничего не знают друг о друге. Для осуществления коммуникации агент только посылает сообщение получателю. Идентификатором служит имя агента (нет необходимости указывать ссылку на объект-получатель) и, как следствие, нет временной зависимости между общающимися агентами. Не требуется, чтобы отправитель и получатель были запущены в одно и тоже время. Получатель даже может не существовать (или еще не существовать) или может быть не известен явно отправителю. Отправитель может определить свойство отправителя (например, «все заинтересованные в футболе агенты»), чтобы указать конечный адрес.

Несмотря на такой тип коммуникаций, при коммуникациях сохраняется безопасность передачи сообщений. Для приложений, которым требуются безопасные каналы, платформа JADE предоставляет надлежащие механизмы для аутентификации и проверки прав, назначенных агентам. Следовательно, когда требуется, приложение может проверить истинность идентификатора отправителя сообщения и предотвратить выполнение недозволенных действий (например, агенту разрешено получать сообщения от агента-босса, но запрещено посылать ему сообщения). Все сообщения, которыми обмениваются агенты, передаются внутри обертки, которая включает только необходимую транспортному уровню информацию. Что позволяет, помимо всего прочего, шифровать содержимое сообщения отдельно от его обертки.

Структура сообщения задается при помощи языка ACL, определенного спецификациями FIPA, и включает такие поля, как переменные, определяющие контекст, получателя сообщения и время, в течение которого будет ожидаться ответ, нацеленные на поддержку сложных взаимодействий и множественные параллельные беседы. Для того, чтобы поддерживать реализацию сложных коммуникаций в дальнейшем, программное обеспечение JADE предоставляет набор каркасов типичных паттернов взаимодействий для выполнения определенных задач, таких как ведение переговоров, аукционы и делегирование задач. Используя эти скелетоны (реализованные как абстрактные классы Java), программисты смогут избежать таких проблем, как задачи синхронизации, таймауты, условия ошибок, и, в общем, всех тех аспектов, которые тесно не связаны с логикой приложения. Для того чтобы облегчить реализацию механизмов создания и обработки содержимого сообщений, агентная платформа JADE предоставляет поддержку для автоматического прямого и обратного конвертирования в формат, подходящий для обмена контентом, включая XML и RDF, и формат, подходящий для управления контентом (например, объекты Java). Эта поддержка встроена в некоторые инструменты создания антологий, например, Protégé, позволяя программистам создавать онтологию графически. Платформа JADE является непрозрачной относительно базового движка системы вывода в случае, если требуются результаты вывода для специфичного приложения, она позволяет программистам переиспользовать предпочтительную систему вывода. Она была интегрирована с модулями JESS и Prolog.

Для того чтобы увеличить масштабируемость или удовлетворить ограничения сред с ограниченными ресурсами, ПО JADE предоставляет возможность выполнения множественных параллельных задач в одном потоке Java. Несколько элементарных задач, таких как коммуникации, могут быть соединены для формирования более сложных задач, представленных как конечные автоматы.

В средах J2SE и Personal Java программа JADE поддерживает мобильность кода и мобильность состояния. То есть агент может остановить работу на хосте и мигрировать на другой удаленный хост (нет необходимости копировать код или устанавливать агента на этом хосте заранее), а затем возобновить исполнение с того места, где он был остановлен. Эта функциональность позволяет, к примеру, распределение вычислительной нагрузки в режиме исполнения путем перемещения агентов на менее загруженные машины без какого-либо воздействия на приложение.

Платформа также содержит службу имен (которая проверяет, что каждый агент имеет уникальное имя) и службу «желтых страниц», которая может быть распределена по нескольким хостам. Можно создать графы федерации, чтобы определить организованные области агентных служб. Другая очень важная функция заключается в доступности богатого набора графических инструментов, поддерживающих и стадию отладки, и стадию управления/наблюдения жизненного цикла приложения. Посредством этих инструментов стало возможно удаленно управлять агентами (даже в том случае, когда они уже развернуты и запущены): могут быть сымитированы переговоры агентов, можно просматривать сообщения, которыми обмениваются агенты, можно заниматься мониторингом задач, контролировать жизненный цикл агента.

Описанные куски функциональности и, в частности, возможность удаленной активации (и с помощью удаленного кода, и с помощью консоли) даже через мобильные терминалы, задачи, коммуникации и новые узлы, делает платформу JADE весьма подходящей для разработки и исполнения распределенных, интеллектуальных, проактивных приложений типа p2p.

Таблица № 1.1


Эта страница нарушает авторские права

allrefrs.ru - 2018 год. Все права принадлежат их авторам!