Среда разработки агента Java - Java Agent Development Framework
| Стабильный выпуск | 4.5.0 / 8 июня 2017 г .
|
|---|---|
| Написано в | Ява |
| Платформа | Java SE |
| Тип | Многоагентная система , программный фреймворк |
| Лицензия | Стандартная общественная лицензия ограниченного применения GNU |
| Веб-сайт |
нефрит |
Java Agent Development Framework или JADE - это программная среда для разработки интеллектуальных агентов , реализованная на Java . Система JADE поддерживает координацию между несколькими агентами FIPA и предоставляет стандартную реализацию языка общения FIPA-ACL , который облегчает обмен данными между агентами и позволяет обнаруживать службы системы. JADE изначально был разработан Telecom Italia и распространяется как бесплатное программное обеспечение .
Резюме
JADE - это промежуточное программное обеспечение, которое облегчает разработку многоагентных систем в соответствии со стандартом FIPA, для чего создается несколько контейнеров для агентов, каждый из которых может работать в одной или нескольких системах. Понятно, что набор контейнеров составляет платформу.
JADE обеспечивает:
- Среда, в которой выполняются агенты JADE
- Библиотеки классов для создания агентов с использованием наследия и переопределения поведения
- Графический набор инструментов для мониторинга и управления платформой интеллектуальных агентов.
История
JADE изначально был разработан Telecom Italia Lab. Этот сектор является отделением исследований и разработок Telecom Italia Group, которое отвечает за продвижение технологических инноваций. Компания Telecom Italia разработала и продвигала JADE, основав его в 2000 году. Последние доступные даты - июнь 2017 года (версия 4.5). Первая версия JADE, распространяемая как бесплатное программное обеспечение , доступна с февраля 2000 г. (версия 1.3).
В марте 2003 года Motorola и Telecom Italia создали Управляющий совет JADE с целью содействия развитию и внедрению JADE в индустрии мобильных телекоммуникаций в качестве промежуточного программного обеспечения . Правление JADE обязывает любую компанию и / или организацию, заинтересованную в коммерческом использовании и эксплуатации JADE, взять на себя обязательства по ее развитию и продвижению.
Платформа
JADE - это платформа распределенных агентов, в которой есть контейнер для каждого хоста, на котором вы запускаете агентов. Кроме того, платформа имеет различные инструменты отладки, мобильность кода и агентов контента, возможность параллельного выполнения поведения агентов, а также поддержку определения языков и онтологий . Каждая платформа должна иметь родительский контейнер с двумя специальными агентами, называемыми AMS и DF.
- DF (Directory Facilitator) предоставляет каталог, в котором объявляется, какие агенты доступны на платформе.
- Платформа управляется системой управления агентами (AMS). Он единственный, кто может создавать и уничтожать других агентов, уничтожать контейнеры и останавливать платформу.
Агент ДФ
Для доступа к агенту DF используется класс jade.domain.DFService и его статические методы: регистрация, отмена регистрации, изменение и поиск .
Агент AMS
Для доступа к службе AMS создается агент, который автоматически запускает метод регистрации AMS по умолчанию перед выполнением настройки метода из нового агента. Когда агент уничтожается, он по умолчанию выполняет свой метод takeDown () и автоматически вызывает метод отмены регистрации AMS.
Класс агента
Класс Agent - это суперкласс, который позволяет пользователям создавать агентов JADE. Чтобы создать агента, необходимо наследовать напрямую от агента . Обычно каждый агент записывает несколько сервисов, которые они должны реализовать с помощью одного или нескольких поведений.
Этот класс предоставляет методы для выполнения основных задач агентов:
- Передавать сообщения объектами ACLMessage с сопоставлением с образцом
- Поддержите жизненный цикл агента
- Планируйте и выполняйте несколько действий одновременно
ДЖЕЙД агент
Цикл жизни агента JADE следует циклу, предложенному FIPA. Эти агенты проходят разные состояния, определяемые как:
- Инициировано: агент создан, но еще не зарегистрировал AMS.
- Активный: агент зарегистрирован и имеет имя. В этом состоянии он может связываться с другими агентами.
- Приостановлено: агент остановлен, потому что его поток приостановлен.
- Ожидание: агент заблокирован в ожидании события.
- Удалено: агент завершил работу, его поток завершил свое выполнение, а в AMS больше нет.
- Транзит: агент переезжает в новое место.
Поведение агентов
Поведение определяет действия при заданном событии. Такое поведение агента определяется в настройке метода с помощью метода addBehaviour . Различные варианты поведения агента определяются абстрактным классом Behavior. Класс Behavior содержит абстрактные методы:
- action (): выполняется, когда происходит действие.
- done (): выполняется в конце выступления.
Пользователь может переопределить методы onStart () и OnEnd (), свойство. Кроме того, существуют другие методы, такие как block () и restart (), используемые для изменения поведения агента. Когда агент заблокирован, его можно разблокировать разными способами. В противном случае пользователь может переопределить методы onStart () и onEnd (), которыми обладает агент.
Разблокировать агента
- Получение сообщения.
- Когда происходит тайм-аут, связанный с block ().
- Вызов перезапуска.
Сообщения ACL
ACL для передачи сообщений (Agent Communication Language) - это основа связи между агентами. Отправка сообщений осуществляется методом send класса Agent. В этом методе вы должны передать объект типа ACLMessage, который содержит информацию о получателе, язык, кодировку и содержимое сообщения. Эти сообщения отправляются асинхронно, а при получении сообщений они будут храниться в очереди сообщений. Есть два типа получения сообщений ACL: блокирующий и неблокирующий. Для этого предоставьте методы blockingReceive () и receive () соответственно. В обоих методах вы можете настроить фильтрацию сообщений для извлечения из очереди, задав разные шаблоны.
Расширения
JADE имеет расширение, именуемое WADE (среда разработки рабочих процессов и агентов), которое представляет собой систему рабочих процессов, которая позволяет создавать процесс с помощью графического редактора WOLF.
Смотрите также
- Многоагентная система
- Автономный агент
- Интеллектуальный агент
- Когнитивная архитектура
- Язык связи агента
Рекомендации
- Архив новостей Jade
- Руководство пользователя Wade
- Разработка мультиагентных систем с JADE , Том 7, серия Wiley в агентских технологиях, Фабио Луиджи Беллифемин, Джованни Кайр, Доминик Гринвуд ISBN 9780470058404
- Безопасность и доверие в агентно-ориентированном промежуточном программном обеспечении , Sixth International, OTM 2003 Workshops. OTM 2003. Конспект лекций по информатике, том 2889. Springer, Berlin, A Poggi, M Tomaiuolo, G Vitaglione. ISBN 978-3-540-20494-7