Платформа разработки Java-агентов
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Стабильная версия | 4.6.0 / 19 декабря 2022 г |
---|---|
Написано в | Ява |
Платформа | Ява SE |
Тип | Мультиагентная система , программная платформа |
Лицензия | Меньшая стандартная общественная лицензия GNU |
Веб-сайт | нефритовый проект |
Часть серии о |
Мультиагентные системы |
---|
Мультиагентное моделирование |
Агент-ориентированное программирование |
Связанный |
Java Agent Development Framework , или JADE , представляет собой программную среду для разработки программных агентов , реализованную на Java . Система JADE поддерживает координацию между несколькими агентами FIPA и обеспечивает стандартную реализацию языка связи FIPA-ACL , который облегчает общение между агентами и позволяет обнаруживать сервисы системы. JADE изначально была разработана Telecom Italia и распространяется как бесплатное программное обеспечение .
Резюме [ править ]
JADE — это промежуточное программное обеспечение , которое облегчает разработку мультиагентных систем в соответствии со стандартом FIPA, для чего создается несколько контейнеров для агентов, каждый из которых может работать в одной или нескольких системах. Понятно, что набор контейнеров представляет собой платформу.
ДЖЕЙД обеспечивает:
- Среда, в которой выполняются агенты JADE.
- Библиотеки классов для создания агентов с использованием наследия и переопределения поведения.
- Графический инструментарий для мониторинга и управления платформой интеллектуальных агентов.
История [ править ]
JADE изначально был разработан Telecom Italia Lab. Этот сектор является подразделением исследований и разработок Telecom Italia Group, которое отвечает за продвижение технологических инноваций. Telecom Italia разработала и продвигала JADE, основав ее в 2000 году. Последние доступные даты — декабрь 2022 года (версия 4.6.0). Первая версия JADE, распространяемая как бесплатное программное обеспечение , доступна с февраля 2000 г. (версия 1.3).
В марте 2003 года Motorola и Telecom Italia создали Совет управляющих JADE с целью содействия развитию и внедрению JADE в индустрии мобильных телекоммуникаций в качестве промежуточного программного обеспечения . Совет управляющих JADE принимает любую компанию и/или организацию, заинтересованную в коммерческом использовании и эксплуатации JADE, взять на себя обязательства по ее развитию и продвижению.
В 2021 году команда, успешно разработавшая JADE, объявила, что больше не может продолжать над ней работу. Команда исследователей, разделившая его , теперь занимается разработкой платформы.
Платформа [ править ]
JADE — это платформа распределенных агентов, в которой есть контейнер для каждого хоста, на котором вы запускаете агенты. Дополнительно платформа имеет различные инструменты отладки, мобильность агентов кода и контента, возможность параллельного выполнения поведения агентов, а также поддержку определения языков и онтологий . Каждая платформа должна иметь родительский контейнер с двумя специальными агентами, называемыми AMS и DF.
- DF (Directory Facilitator) предоставляет каталог, в котором сообщается, какие агенты доступны на платформе.
- AMS (система управления агентами) управляет платформой. Он единственный, кто может создавать и уничтожать других агентов, уничтожать контейнеры и останавливать платформу.
Агент DF [ править ]
Для доступа к агенту DF используются класс «jade.domain.DFService» и его статические методы: регистрация, отмена регистрации, изменение и поиск .
Агент АМС [ править ]
Для доступа к службе AMS создается агент, который по умолчанию автоматически запускает метод регистрации AMS перед выполнением настройки метода из нового агента. Когда агент уничтожается, он takeDown() по умолчанию выполняет свой метод и автоматически вызывает метод отмены регистрации AMS.
Класс агента [ править ]
Класс Agent — это суперкласс, который позволяет пользователям создавать агентов JADE. Чтобы создать агента, необходимо наследовать непосредственно от Agent . Обычно каждый агент записывает несколько сервисов, которые он должен реализовать с помощью одного или нескольких вариантов поведения.
Этот класс предоставляет методы для выполнения основных задач агентов, таких как:
- Передача сообщений по объектам ACLMessage с сопоставлением шаблонов
- Поддержка жизненного цикла агента
- Планируйте и выполняйте несколько действий одновременно
Агент ДЖЕЙД [ править ]
Жизненный цикл агента JADE соответствует циклу, предложенному FIPA. Эти агенты проходят различные состояния, определяемые как:
- Инициировано: агент создан, но еще не зарегистрировал AMS.
- Активен: агент зарегистрирован и имеет имя. В этом состоянии он может общаться с другими агентами.
- Приостановлено: агент остановлен, поскольку его поток приостановлен.
- Ожидание: агент заблокирован в ожидании события.
- Удалено: агент завершил работу, его поток завершил выполнение, и в AMS его больше нет.
- Транзит: Агент переезжает в новое место.
Поведение агентов [ править ]
Поведение определяет действия при данном событии. Такое поведение агента определяется при настройке метода с помощью метода addBehaviour .Различные варианты поведения, которые будет принимать агент, определяются в абстрактном классе Behaviour. Класс Behavior содержит абстрактные методы:
- action(): выполняется, когда происходит действие.
- Done(): выполняется в конце выступления.
Пользователь может переопределить свойства методов onStart() и OnEnd() . Кроме того, существуют другие методы, такие как блокировка () и перезапуск (), используемые для изменения поведения агента. Когда агент заблокирован, его можно разблокировать разными способами.В противном случае пользователь может переопределить методы onStart() и onEnd(), которыми обладает агент.
Разблокировать агента [ править ]
- Получение сообщения.
- Когда происходит таймаут, связанный с блоком().
- Вызов перезапуска.
Сообщения ACL [ править ]
Передача сообщений ACL (язык связи агентов) является основой общения между агентами. Отправка сообщений осуществляется методом send класса Agent. В этом методе вам необходимо передать объект типа ACLMessage, который содержит информацию о получателе, язык, кодировку и содержимое сообщения.Эти сообщения отправляются асинхронно, а полученные сообщения сохраняются в очереди сообщений. Существует два типа получения сообщений ACL: блокирующий и неблокирующий. Для этого предусмотрены методы BlockingReceive() и Receive() соответственно. В обоих методах вы можете фильтровать сообщения, извлекаемые из очереди, задав разные шаблоны.
Расширения [ править ]
JADE имеет расширение под названием WADE (Среда разработки рабочих процессов и агентов), которое представляет собой систему рабочих процессов , позволяющую создавать процессы с помощью графического редактора WOLF.
См. также [ править ]
- Мультиагентная система
- Автономный агент
- Интеллектуальный агент
- Когнитивная архитектура
- Язык общения агента
Ссылки [ править ]
- Архив новостей Джейд
- Руководство пользователя Уэйда
- Разработка мультиагентных систем с помощью JADE , том 7. Серия Wiley по агентным технологиям, Фабио Луиджи Беллифемин, Джованни Кайре, Доминик Гринвуд ISBN 9780470058404
- Безопасность и доверие в агентно-ориентированном промежуточном программном обеспечении , Шестой международный семинар OTM 2003. OTM 2003. Конспекты лекций по информатике, том 2889. Спрингер, Берлин, А. Поджи, М. Томайуоло, Дж. Витаглионе. ISBN 978-3-540-20494-7