5. Агентная платформа JADE Курс «Мультиагентные интеллектуальные системы» Иванов А.М.*, aivanoff@nm.ru Некоторые права защищены. * МГТУ им. Н.Э.Баумана,

Презентация:



Advertisements
Похожие презентации
1 Диаграммы реализации (implementation diagrams).
Advertisements

Распределенная система мониторинга и диспетчеризации процессов гетерогенной среды студент Костюков В.В., профессор к.ф-м.н Крючкова Е.Н., АлтГТУ / ПОВТ.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Проблемы эксплуатации Текст.
Системы мобильных агентов Агентом называется система, находящаяся в некоторой среде и являющаяся ее частью. Агент воздействует на среду при выполнении.
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Презентация по ИИС на тему: «Интеллектуальные мультиагентные системы» Выполнили студенты гр. 9-ВМ-41 : Абдрашитов А.Р. Биккулов Р.Т. Маликов А.А. Юмагулов.
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Модель распределенной системы мониторинга.
Технология создания многоагентных систем Развитие аппаратного обеспечения привело к потребности создания программного обеспечения качественно нового уровня.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
Интеграция приложений с использованием BPEL. Содержание Что такое BPEL? Как работает BPEL? Как использовать BPEL для интеграции приложений?
Единая система аутентификации Обзор решения Москва, 2012г.
Мобильные технологии и интернет Синхронизация графических файлов на мобильном телефоне с удаленным сервером.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
АлтГТУ им. И. И. Ползунова / ПОВТ, Владимир Костюков Проблемы Текст 2.
АлтГТУ им. И. И. Ползунова / ПОВТ, Владимир Костюков Требования 2 отказоустойчивость масштабируемость эффективностьприменимость расширяемость.
Транксрипт:

5. Агентная платформа JADE Курс «Мультиагентные интеллектуальные системы» Иванов А.М.*, Некоторые права защищены. * МГТУ им. Н.Э.Баумана, каф. ИУ-3, 2007

Место лекции в общем курсе Введение Теория агента Теория многоагентных систем Агентные платформы Стандарты Методологии разработки Перспективы

Содержание Агентная платформа Существующие агентные платформы JADE – агентная пратформа

Что такое агентная платформа? АП – middleware, позволяющее реализовывать агентные системы Возможности АП: управление жизненным циклом агентов каталог агентов (поиск по характеристикам) развертывание МАС коммуникации и языки общения поддержка представлений знаний поддержка архитектур агентов и МАС поддержка методологий разработки МАС инструментарий разработки и тестирования

Содержание Агентная платформа Существующие агентные платформы JADE – агентная пратформа

Агентные платформы* НазваниеЛицен- зия Стан- дарты Поддержка моб. у-в Tд1/Tд2**Поддерж- ка разраб. Реализация/ Особенности JADELGPLFIPA2 KQML JME до MIDP1.0 7,5 / 68,8ЕстьJava;.NET/ plug-ins A-globeLGPLЧастич- но FIPA Нет2,8 / 13,9ЕстьJava IBM ABLEComm- eval Планир уется FIPA Нет???ЕстьJava JaCKCommFIPAJME21,7 / 17,6ЕстьJava/ среда разработки AgentBuilderCommKQMLНет???ЕстьJava/методология и среда разработки FIPA-OSLGPLFIPA1Нет607,1 / 96,2нет с 2001г. Java ZEUSLGPLFIPA1Нет224,8 / 107,6 нет с 2001г. Java/ среда разработки * источник? ** Tд1/Tд2 – время доставки сообщения в мс между агентами на одном хосте / на двух хостах

Содержание Агентная платформа Существующие агентные платформы JADE – агентная пратформа

Характеристики JADE соответствие последним спецификациям FIPA 2.0 открытость кода, LGPL мультиплатформенность, Java поддержка беспроводных мобильных устройств вплоть до JME MIDP1.0 (сотовые телефоны) наличие собственных и сторонних библиотек расширения протоколов взаимодействия агентов (RDF, XML и т.д.) архитектуры агентов (JadeX BDI архитектура, SCATE машина состояний) управления агентами (geNETicA реализация генетических алгоритмов) управления самой платформой документированность

Характеристики JADE 2 Это middleware для построения МАС Пользователи: разработчики агентов и МАС Сервисы life-cycle, white-page, yellow-page, message transport, message encoding Инструменты разработчика remote monitoring agent, dummy agent, sniffer agent, introspector agent Поддержка масштабируеости from debugging to deployment from small scale to large scale Соответствует стандартам FIPA

Диаграмма размещения JADE

Онтология* JADE

Архитектура JADE

Архитектура главного контейнера JADE Intra-Container Message Transport (Java events) White page service Agent Management System Yellow page service Directory Facilitator Agent Communication Channel Inter-Containers Message Transport (Java RMI) Inter-Platforms Message Transport (IIOP, HTTP, …) cache of agent addresses Агент 1Агент 2Агент 3 Note: The internal architecture of a JADE container is similar, but it does not contain the AMS, and the DF.

Сервис передачи сообщений (MTS) Управляет очередью приватных ACL сообщений агента Конкретная реализация выбирается исходя из ситуации Минимизация стоимости передачи сообщения Оверхед зависит от положения получателя и состояния кэша Распределенный канал связи Главный контейнер не является узким местом из-за распределенного кэша Протоколы передачи сообщений (MTP) могут быть активированы/деактивированы во время исполнения на любом контейнере через GUI IIOP на основе реализации ORB от Sun IIOP на основе реализации ORBacus HTTP MTP Несколько способов кодирования ACL String-based, XML-based, bit-efficient

Архитектура агента JADE Язык взаимодействий агентов ACL Агент А Цикл Онтология Протокол Профиль Свойства Факты Правила Модели Поведение1 Поведение2 ПоведениеN Агент В «Мозги» агента (знания и их обработка) Реактивное поведение Представление знаний при общении

Архитектура агента Приватная очередь ACL сообщений pattern matching timeout-based blocking-based polling-based Планировщик поведений Менеджер управления Жизненным циклом access mode application dependent agent resources beliefs capabilities Поведение 1Поведение 2 Поведение n … Активные поведения агента (напр. намерения или задачи) Библиотека взаимодействий и поведений агентов JADE включает библиотеку протоколов взаимодействия агентов и набор поведений, которые можно расширять для создания агентов с нужными возможностями

Модель исполнения агента Агент автономен он полностью контролирует свой поток исполнения имеет свой экземпляр менеджера управления жизненным циклом сам решает когда и какое сообщение прочесть механизм передачи сообщений заполняет приватную очередь, но не вызывает никакой код агента Многопоточность в агенте может быть одновременно вовлечен в несколько одновременных переговоров может выполнять несколько параллельных задач многопоточность Java и/или поведения JADE (JADE Behaviours) с кооперативной диспетчеризацией Модель реализации в коде Агент JADE реализуется в виде Java-класса, который должен наследовать класс Agent из пакета jade.core Задачи агента реализуются в классах, наследующих от различных подклассов класса Behaviour из пакета jade.core.behaviours

Поведения агента JADE

Комуникационная модель Агент передает/получает Java-объекты типа ACLMessages внутри протоколов взаимодействий JADE скрывает кодирование сообщений (encoding/parsing) Уровень Envelope (конверта) String-based, XML-based Уровень Agent Communication Language String-based, XML-based, bit-efficient Уровень Content Language (языка содержимого сообщения) FIPA SL-0 + API to register user-defined content languages support for Base64-encoded direct Java object serialization Уровень Ontology (онтологии) FIPA-Agent Management; JADE Agent Management API to register user-defined content languages Можно расширять на любом уровне Все уровни предоставляют APIs для регстрации новых кодеков Расширение на уровнях CL и Ontology JADE предоставляет библиотеку универсальных протоколов Разработчику нужно только определить методы-обработчики Разработчик может компоновать задачи агента как состояния конечного автомата

Мобильность агентов JADE поддерживает внутриплатформенную модбильность и клонирование агентов Платформа может быть распределена между несколькими хостами Каждый хост – контейнер агентов Агенты могут мигрировать между хостами Агенты могут клонироваться в контейнерах Самостоятельно doMove(Location) / doClone(Location, String) before/afterMove() before/afterClone() По запросу платформы (через AMS) Fipa-request interaction protocol jade.domain.MobilityOntology определяет понятия и действия, необходимые для поддержки мобильности и клонирования агентов

Инструментарий RMA (Remote Monitoring Agent) Просмотр сервиса белых страниц (в т.ч. на удаленных платформах) Управление жизненным циклом агента (удаленное создание, миграция, …) Активация/деактивация транспортных протоколов MTP в контейнерах DF GUI Просмотр сервиса желтых страниц Создание объединений (federations) DF и просмотр удаленных DF DummyAgent Отправка, получение, сохранение сообщений ACLMessages Sniffer Agent Прослушивание, отладка, сохранение в файл мультиагентных разговоров Introspector Agent Отладка агента: очередь отправленных/принятых сообщений, очередь поведений агента, …

Начать так просто!!! Если у вас не установлена Java (JDK) Зайдите на Нажмите скачать JDK 6 Update 3 (или более поздний) Выберите Accept Нажмите на ссылке Windows Offline Installation, Multi-language Сохраните файл После окончания загрузки установите JDK Заходите на Регистрируетесь Скачиваете jadeAll.zip (8,5Мб) Распаковываете Заходите в \doc\ Читаете «JADE TUTORIAL. JADE PROGRAMMING FOR BEGINNERS» коротко о запуске платформы разбор одного из примеров Примеры в \src\examples\ Пробуете технологию на зуб Для втянувшихся (основная документация разработчика) JADE ADMINISTRATORS GUIDE – подробно о том, как запустить платформу (основной контейнер, другие контейнеры) JADE PROGRAMMERS GUIDE – подробно о разработке агентов

Ресурсы по JADE – сообщество разработчиков F.L. Bellifemine, G. Caire, and D. Greenwood, Developing Multi-Agent Systems with JADE. Wiley, книга для начинающих по практическому использованию JADE

Вопросы есть?