Стабильный выпуск | 4.5.0 / 8 июня 2017 г.; 3 года назад (2017-06-08) |
---|---|
Написано на | Java |
Платформа | Java SE |
Тип | Многоагентная система, программная среда |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU |
Веб-сайт | jade.tilab.com |
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 году. Последние доступные даты - июнь 2017 года (версия 4.5). Первая версия JADE, распространяемая как бесплатное программное обеспечение, доступна с февраля 2000 г. (версия 1.3).
В марте 2003 года Motorola и Telecom Italia создали Управляющий совет JADE с целью содействия развитию и внедрению JADE в индустрии мобильных телекоммуникаций как промежуточное ПО на основе. Правление JADE обязывает любую компанию и / или организацию, заинтересованную в коммерческом использовании и эксплуатации JADE, взять на себя обязательства по ее развитию и продвижению.
JADE - это платформа распределенных агентов, в которой есть контейнер для каждого хоста, на котором вы запускаете агенты. Дополнительно платформа имеет различные инструменты отладки, мобильность кода и агентов содержимого, возможность параллельного выполнения поведения агентов, а также поддержку определения языков и онтологий. У каждой платформы должен быть родительский контейнер с двумя специальными агентами, называемыми AMS и DF.
Для доступа к агенту DF используется класс "jade.domain.DFService" и его статические методы. используется: регистрация, отмена регистрации, изменение и поиск.
Для доступа к службе AMS создается агент, который автоматически запускает метод регистрации AMS по умолчанию перед выполнением настройки метода из нового агента. Когда агент уничтожается, он по умолчанию выполняет свой метод takeDown () и автоматически вызывает метод отмены регистрации AMS.
Класс агента - это суперкласс, который позволяет пользователям создавать агентов JADE. Чтобы создать агента, необходимо наследовать напрямую от агента. Обычно каждый агент регистрирует несколько сервисов, которые они должны реализовать с помощью одного или нескольких поведений.
Этот класс предоставляет методы для выполнения основных задач агентов:
Жизненный цикл агента JADE следует циклу, предложенному FIPA. Эти агенты находятся в разных состояниях, определяемых как:
Поведение определяет действия при данном событии. Такое поведение агента определяется в настройке метода с помощью метода addBehaviour. Различные варианты поведения агента определяются абстрактным классом Behavior. Класс Behavior содержит абстрактные методы:
Пользователь может переопределить методы onStart () и OnEnd () свойство. Кроме того, существуют другие методы, такие как block () и restart (), используемые для изменения поведения агента. Когда агент заблокирован, его можно разблокировать разными способами. В противном случае пользователь может переопределить методы onStart () и onEnd (), которыми обладает агент.
Передача сообщений ACL (язык общения агента) - это основа связи между агентами. Отправка сообщений осуществляется методом send класса Agent. В этом методе вы должны передать объект типа ACLMessage, который содержит информацию о получателе, язык, кодировку и содержимое сообщения. Эти сообщения отправляются асинхронно, а при получении сообщений они будут храниться в очереди сообщений. Есть два типа получения сообщений ACL: блокирующий и неблокирующий. Для этого предоставьте методы blockingReceive () и receive () соответственно. В обоих методах вы можете настроить фильтрацию сообщений для извлечения из очереди, задав разные шаблоны.
JADE имеет расширение под названием (Рабочие процессы и среда разработки агентов), который представляет собой систему рабочего процесса, которая позволяет создавать процесс с помощью графического редактора с именем WOLF.