Java-фреймворк для разработки систем
JACK Intelligent Agents — это фреймворк на Java для разработки многоагентных систем. JACK Intelligent Agents был создан Agent Oriented Software Pty. Ltd. (AOS) и представляет собой платформу агентов третьего поколения, основанную на опыте Procedural Reasoning System (PRS) и Distributed Multi-Agent Reasoning System (dMARS). JACK — одна из немногих многоагентных систем, которая использует модель программного обеспечения BDI и предоставляет собственный язык планирования на основе Java и графические инструменты планирования.
История
JACK Intelligent Agents изначально был разработан в 1997 году бывшими членами Австралийского института искусственного интеллекта (AAII или A 2 I 2 ), которые участвовали в проектировании, внедрении и применении PRS в SRI International и/или dMARS в AAII. Платформа JACK была написана для коммерческого применения многоагентной парадигмы ( продукт COTS ) для решения сложных проблем и стала основой для основания компании Agent Oriented Software (AOS), где она остается флагманским продуктом.
Функции
JACK Intelligent Agents — это зрелая коммерческая многоагентная платформа, которая активно исследуется, разрабатывается и применяется в конкретных областях более 10 лет. Ниже приведен список основных отличительных особенностей платформы.
- Agent Run-time : ядро платформы — расширяемая многоагентная run-time. После указания доменно-специфических агентов, планов, событий, возможностей и т. д. ядро JACK управляет выполнением системы, включая передачу сообщений, рассуждения и метарассуждения.
- Язык планов JACK (JPL) : JACK предоставляет агентский язык планов для написания планов JACK (дискретное рассуждение, выполняемое агентами). Язык планов является расширением Java и предлагает такие команды, как @send и @post для обмена сообщениями между агентами, а также для управления действиями, подзадачами и поддержания условий. Планы компилируются в классы Java для выполнения в среде выполнения JACK, что обеспечивает скорость и правильность выполнения.
- Модель «Убеждение–Желание–Намерение» : в дополнение к классической (не BDI) модели агента платформа реализует программную модель BDI , в которой убеждения управляются наборами убеждений, инкапсулированными в агентах, желания — это целевые состояния, которых стремится достичь агент, а намерения — это мета-рассуждения и основанные на плане рассуждения, которые агенты JACK используют для достижения текущей цели.
- Возможности : Платформа предоставляет возможности, которые являются абстракциями общих поведений, проявляющихся как комплекс планов и событий. Возможности предоставляют способ концептуального объединения общих поведений и действий и их повторного использования между агентами. [1]
- Среда разработки JACK (JDE) : многоагентные системы могут быть написаны на языке Java и языке планов JACK в стандартной среде IDE , хотя платформа предоставляет ориентированную на агентов среду IDE, называемую средой разработки JACK или JDE. JDE предоставляет графические инструменты для написания планов, подключения планов к агентам, управления межагентной коммуникацией, а также компиляции и запуска. JDE также предоставляет графические инструменты для отладки и отслеживания выполнения планов и межагентной передачи сообщений. [2]
- Графические планы : ключевой особенностью JDE является возможность писать и управлять графическими планами. Это дискретные рассуждения, выполняемые агентом, представленные графически в виде блок-схемы, что позволяет программисту управлять кодом, выполняемым на каждом шаге графика рассуждений, а эксперту по предметной области — управлять логическим потоком рассуждений на основе человекочитаемой документации по каждому узлу. [3]
- JACK Object Modeller (JACOB) : технология сериализации объектов, используемая средой выполнения JACK для инициализации объектов и межпроцессного взаимодействия. Объекты Java сериализуются в текст ASCII , читаемый человеком , не слишком отличающийся от YAML и XML . [4]
- Независимость от платформы : Платформа JACK написана на Java , что позволяет развертывать многоагентные системы JACK на широком спектре платформ, поддерживающих виртуальную машину Java . В настоящее время JACK можно установить на операционных системах Microsoft Windows только с помощью 32-разрядной виртуальной машины Java , но он также работает на 64-разрядной виртуальной машине Java . В последних версиях операционных систем Mac OS X (начиная с Mac OS X Lion ) JACK можно установить только с помощью консольного установщика .
Расширения
Платформа JACK была расширена несколько раз с момента ее создания. Большинство расширений, таких как JACK Teams и CoJACK, были разработаны AOS или в сотрудничестве с ней.
- JACK Teams : расширение программной модели BDI , которое облегчает агентам совместную работу в командах для достижения цели. [5] Как и JACK, JACK Teams поддерживает собственный язык планов в том, что AOS называет командно-ориентированным программированием . JACK Teams интегрирован и доступен как часть платформы JACK Intelligent Agents. [6]
- CoJACK : расширение платформы JACK, которое добавляет когнитивную архитектуру к агентам для выявления более реалистичного (человеческого) поведения в виртуальных средах. [7]
- FIPA JACK : расширение платформы JACK для поддержки языка коммуникаций агентов FIPA . [8]
- Prometheus : методология разработки программного обеспечения, ориентированная на агента, для управления SDLC многоагентной системы. JACK использовался в качестве основы для исследования, сравнения и тестирования методологии. Prometheus включал разработку Prometheus Design Tool (PDT), который был инструментом на основе графического интерфейса для управления проблемами проектирования в процессе. [9]
- JACK Eclipse Plug-in : плагин, который облегчает разработку систем на основе JACK в Eclipse IDE . В частности, плагин добавляет возможности Eclipse для поддержки типов файлов JACK (таких как .plan, .agent и т. д.), а также поддержку языка планов JACK.
- JACK WebBot : расширение, которое встраивает ядро JACK в веб-сервер Apache Tomcat, позволяя интеллектуальным агентам взаимодействовать и формулировать ответы на HTTP- запросы (через API Java Servlet ). [10]
Смотрите также
Примечания
- ^ Бусетта, Паолосдада; Николас Хауден; Ральф Роннквист; Эндрю Ходжсон (2000). «Структурирование агентов BDI в функциональных кластерах». Интеллектуальные агенты VI. Архитектуры теорий агентов и языки . Конспект лекций по информатике. 1757. Springer: 277–289. doi :10.1007/10719619_21. ISBN 978-3-540-67200-5.
- ^ "Руководство по среде разработки: Руководство по среде разработки JACK Intelligent Agents®". www.aosgrp.com . Архивировано из оригинала 17 января 2013 г. Получено 6 июня 2022 г.
- ^ "Руководство по редактору графических планов: Руководство по редактору графических планов JACK Intelligent Agents®". www.aosgrp.com . Архивировано из оригинала 7 июля 2011 г. . Получено 6 июня 2022 г. .
- ^ "JACOB Manual: JACK Intelligent Agents® JACOB Manual". www.aosgrp.com . Архивировано из оригинала 7 июля 2011 г. . Получено 6 июня 2022 г. .
- ^ Джарвис, Беван; Джарвис, Деннис; Джейн, Лакхми (2007). «Команды в многоагентных системах». Интеллектуальная обработка информации III . Международная федерация IFIP по обработке информации. 228. Springer: 1–10. doi : 10.1007/978-0-387-44641-7_1 . ISBN 978-0-387-44639-4.
- ^ "Руководство по командам: Руководство по командам JACK Intelligent Agents®". www.aosgrp.com . Архивировано из оригинала 7 июля 2011 г. . Получено 6 июня 2022 г. .
- ^ Эвертс, Р.; Бусетта, П.; Педротти, М.; Риттер, Ф.Е.; Биттнер, Дж.Л. (2008). "CoJACK — Достижение принципиальной вариативности поведения в модерируемой когнитивной архитектуре" (PDF) . Труды 17-й конференции по представлению поведения в моделировании и имитации (08-BRIMS-025) .
- ^ de Silva, Lavindra (2001). Building FIPA Compliance into JACK (PDF) . Технический отчет / Исследовательский проект (RMIT) . RMIT. Архивировано из оригинала (PDF) 2009-10-03 . Получено 2009-06-04 .
- ^ Падхэм, Лин; Виникофф, Майкл (2002). "Прометей: прагматичная методология проектирования интеллектуальных агентов" (PDF) . Труды семинара по агентно-ориентированным методологиям (в OOPSLA) .[ постоянная мертвая ссылка ]
- ^ "WebBot Manual: JACK Intelligent Agents® WebBot Manual". www.aosgrp.com . Архивировано из оригинала 18 января 2013 г. Получено 6 июня 2022 г.
Ссылки
- Паоло Бусетта, Ральф Роннквист, Эндрю Ходжсон и Эндрю Лукас (1999) JACK Интеллектуальные агенты – компоненты для интеллектуальных агентов на Java Архивировано 05.03.2022 в Wayback Machine , AgentLink News, выпуск 2.
- Ник Хауден, Ральф Рённквист, Эндрю Ходжсон, Эндрю Лукас (2001) Интеллектуальные агенты JACK – Краткое изложение инфраструктуры агента. Труды 5-й Международной конференции по автономным агентам
- P. Busetta, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (1999) Легковесные интеллектуальные программные агенты в моделировании, в Трудах Simulation Technology and Training (SimTecT 99), Мельбурн, Австралия
- М. Виникофф (2005) Интеллектуальные агенты JACK: Платформа промышленной мощи. В многоагентном программировании. Springer.
- J. Tweedale, N. Ichalkaranje, C. Sioutis, B. Jarvis, A. Consoli, G. Phillips-Wren, «Инновации в многоагентных системах» (PDF), Journal of Network and Computer Applications, том 30, выпуск 3, август 2007 г., страницы 1089–1115
- Рик Эвертс, Мартин Флетчер, Ричард Джонс, Джеки Джарвис, Джеймс Бруси, Сэнди Дэнс: Реализация промышленных многоагентных систем с использованием JACK. в Программирование многоагентных систем (PROMAS) 2003: 18–48
- Ойстейн Спиллум, Сравнение интеллектуальных агентов JACK и команд JACK, применяемых в командной работе, магистерская диссертация, Норвежский университет науки и технологий, ноябрь 2008 г.
Внешние ссылки
- Домашняя страница Agent Oriented Software Pty. Ltd. (AOS)
- Веб-страница продукта JACK
- Официальная документация JACK, включая руководства пользователя и учебные пособия.
- Австралийский JSF История поставок для AOS