Новая версия JADE 3.7 и WADE 2.5

2 июля 2009 года Telecom Italia Lab выпустили новый релиз JADE.

Новая версия получила названия ‘OSGAgents’, благодаря интеграции с OSGi – спецификацией динамической модульной шины для создания Java-приложений, разрабатываемой консорциумом OSGi Alliance. Данная интеграция позволяет запускать агентов в OSGi среде, дает им доступ к основным возможностям OSGi(регистрация и использования OSGi-сервисов и др.). На сайте можно также скачать JADE-OSGi Guide.

Еще одним достоинством новой версии является поддержка WSDC (Web Service Dynamic Client). Это расширение позволяет вызывать веб-службы на лету, минуя генерацию классов-заглушек.

Более подробную информацию можно получить на официальном сайте JADE и WADE

Е.Н. Владимирская

Национальный аэрокосмический университет им. Н.Е.
Жуковского «ХАИ», Харьков, Украина
catherine.vladimirskaya@gmail.com

В настоящее время для решения сложных задач управления распределенными бизнес-процессами целесообразно использовать такие взаимодополняющие подходы, как сервис-ориентированный и агентный. Мультиагентные системы(МАС) строятся из множества взаимодействующих агентов и интегрируют в себе достижения последних десятилетий в сфере искусственного интеллекта, параллельных вычислений и телекоммуникаций. Рассмотрение задач, связанных с распределенным накоплением, обработкой и использованием знаний в МАС, приводит к необходимости расширения и детализации классической агентной архитектуры и использованию современных информационных технологий для реализации механизмов интеграции с существующими информационными системами и web-приложениями.

Направление «МАС» распределенного искусственного интеллекта рассматривает решение одной задачи несколькими интеллектуальными подсистемами. Для решения задачи агенты могут взаимодействовать между собой, с пользователями, а также с другими информационными системами ресурсами сети Интернет. Перспективным представляется взаимодействие агентов в сфере Semantic Web – расширении классического веба, где информация более пригодна для машинной обработки. Таким образом, актуальным и важным является  создание архитектуры и средств для организации взаимодействия и управления агентами, где бы агенты могли обмениваться сообщениями с использованием заранее определенных словарей, где возможно было бы производить подбор необходимых сервисов и информационных ресурсов, а также использовать многие другие возможности Semantic Web.

Некоторые проблемы организации функционирования агентов можно решить, опираясь на готовые базовые решения – агентные платформы, реализующие основные механизмы, обеспечивающие работу МАС. В настоящее время существует множество агентных платформ, как коммерческих, так и с открытым исходным кодом. Для решения поставленных задач выбрана платформа Jade[2]. Данная платформа и ее расширения предоставляют различные средства для обеспечения функционирования агентов в рамках парадигмы Semantic Web.  Платформа Jade обеспечивает поддержку онтологий (пакет jade.content), при этом информация об онтологиях представлена в виде java-объектов. Более эффективным представляется использование библиотеки AgentOWL[3], которая поддерживает RDF/OWL модели для агентов Jade. Описание модели знаний агента(«generic agent model» [3]) основано на пяти основных элементах: Resources, Actions, Actors, Context и Events. Поддерживается обмен сообщениями в формате RDF/OWL, включение полученной информации в модель.  Для того чтобы агенты могли функционировать в контексте Semantic Web, им добавляются методы работы с построенной моделью знаний, а также методы обработки и отправки сообщений в формате OWL и SPARQL. В AgentOWL используется библиотека проекта Jena[4], поэтому данный подход легко расширять новыми возможностями работы с онтологической моделью знаний, используя Jena API.

Рассмотрение агентов в контексте Semantic Web ведет к необходимости интеграции МАС с веб-приложениями, в частности, создания веб-интерфейса для агентов. Существует несколько готовых подходов, которые облегчают решение данной задачи. Подход JadeGateway[5] обеспечивает взаимодействие между внешним приложением и платформой Jade. Все служебные классы доступны в пакете jade.wrapper.gateway. Основное назначение – создание веб-интерфейса для агентов, при этом агент контролирует все запросы к странице. Основной принцип подхода заключается в применении цепочки: servlet – gatewayagent – МАС. Другой подход – проект Jade4spring – обеспечивает легкую интеграцию контейнеров агентов Jade и фреймворка Spring[6]. Такой подход позволяет эффективно использовать агентов в контексте веб-приложения. Визуализацию онтологических моделей предлагается осуществлять с использованием Flare Prefuse [7]. Flare представляет собой ActionScript библиотеку  для создания визуализаций, которые выполняются в Adobe Flash Player. Для преобразования OWL в формат, требуемый для Flare, используется OWL2Prefuse[8]. Используя библиотеку Flare можно получить OWL-граф, информация о котором сохраняется в формате SWF. Объект SWF встраивается на страницу, при этом необходимо обеспечить обмен информации между указанным объектом и агентами, запущенными в контексте веб-приложения, для обеспечения динамической визуализации онтологических моделей.

Рассмотренные программные решения и технологии позволяют создавать мультиагентные системы для решения различных задач в рамках парадигмы Semantic Web.  Основные преимущества от применения предлагаемых решений можно получить для таких предметных областей как электронное обучение, электронная коммерция, а также в сферах общественного и ассоциативного обслуживания, где важным фактором является распараллеливание задач и взаимодействие агентов для достижения поставленных пользователем  целей. С помощью описанного подхода разработана мультиагентная система для управления контекстной рекламой в Интернет.

Список литературы
1.    Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. – СПб.: Питер, 2003.
2.    Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB, formerly CSELT), Giovanni Rimassa (University of Parma) . JADE PROGRAMMER’S GUIDE, 2006.
3.     Michal Laclavik, Marian Babik, Zoltan Balogh, Ladislav Hluchy AgentOWL: Semantic Knowledge Model and Agent Architecture In Computing and Informatics. Vol. 25, no. 5 (2006), p. 419-437. ISSN 1335-9150, Chapters 1, 4, 5.
4.     Jena, HP Labs Semantic Web Toolkit. http://jena.sourceforge.net/.
5.    Viktor Kelemen “Accessing a JADE MAS from a Servlet using the JadeGateway” http://jade.tilab.com/doc/tutorials/JadeGateway.pdf
6.    Spring, the leading platform to build and run enterprise Java applications http://www.springsource.org/.
7.    Flare: data vizualization for the web. http://flare.prefuse.org/.
8.    OWL2Prefuse. http://owl2prefuse.sourceforge.net/.


Международная научно-практическая конференция «Веб-программирование и Интернет-технологии WebConf09″: Сб. матер. Междунар. науч.-практ. конф. Минск, 8-10 июня 2009г.- Мн.: Институт математики НАН Беларуси, 2009.-112с.

Jade и Web

Рассматривая jade-агентов в контексте Web вообще и Semantic Web в частности, можно уделить немного внимания вопросам интеграции агентов с веб-приложениями.

Существует несколько готовых подходов, которые можно использовать. Сначала предлагаю некоторый обзор, в дальнейшем – более подробное описание

Read the rest of this entry »

Наиболее активным участникам SHCHERBAK.NET посвящается…

Уже давно SHCHERBAK.NET превратился из моей домашней странички в нечто большее, главной целью которого является ознакомление читателей с интересными материалами по технологиях Semantic Web.

Скажу чесно, когда я начинал изучать Semantic Web, в русскоязычной части интернета не было подобных образовательных ресурсов. И это было не хорошо. Попытки собрать воедино разрозненные фрагменты информации о SW  на русском  в то время не привели к успеху. Сейчас глобально ситуация не изменилась, но есть зарождающиеся островки информации, которые помогут нам, пользователям, предствителям русскоязычного сообщества SW создать мощную платформу для будущих свершений в области семантическоо веба. И мне очень приятно, что одним из таких островков будет SHCHEBAK.NET.

На сегодняшний день, как читатели могли заметить, сайт пополнился интереснейшими очерками по тематикам OWL и JADE, за что  можно поблагодарить новых участников SHCHERBAK.NET, а именно Павла Клинова и Екатерину Владимирскую. Чесно сказать, я сам с интересом читаю их труды и открываю для себя очень много нового. В этом плане я даже пошутил – подписался на RSS сайта  SHCHERBAK.NET … ))

Об новых участниках сайта SHCHERBAK.NET можно прочитать здесь !!!

PS. На этой странице я думаю в ближайшем будущем вы увидите много сюрпризов ;)

C ув.  Щербак Сергей, ведущий сайта SHCHERBAK.NET

Агенты и онтологии на примере AgentOWL

В прошлый раз я описывала использование AgentOWL. Сейчас  я предлагаю рассмотреть некоторые теоретические и практические аспекты поддержки и использования RDF/OWL моделей агентами. Целью будет выявления возможностей и ограничений подхода AgentOWL.

Read the rest of this entry »

8 Марта – Международный женский день! :)

Поздравляю читательниц сайта SHCHERBAK.NET и всех наших замечательных девушек и женщин с этим праздником. Любви Вам и Cчастья!

Персонально хочу поздравить с этим праздником:
Катрину Владимирскую (Catherine Vladimirskaya)
Ирину Гришанову
Наталью Кеберле
Ваш вклад в развитие как ресурса SHCHERBAK.NET, так и русскоязычного сообщества Semantic Web, значителен. Успехов Вам!

Использование AgentOWL

Лирическое отступление

AgentOWL – небольшая java библиотека, разработанная для поддержки RDF/OWL моделей для Jade агентов.

Здесь используется описание модели знаний агента(generic agent model), основанная на пяти основных элементах: Resources, Actions, Actors, Context и Events. Поддерживается обмен сообщениями в формате RDF/OWL, включение полученной информации в модель.

Read the rest of this entry »

JADE и Semantic Web

Направление мультиагентных систем (МАС) возникло на стыке различных направлений, таких как искусственный интеллект, параллельное программирование, Интернет коммуникации, и в настоящее время стремительно развивается. МАС строятся из множества взаимодействующих агентов (зачастую представляющих собой полноценные интеллектуальные системы), совместно решающих поставленную задачу в распределенных средах.
Основным элементом программного агента системы, дающим ему возможность принимать решения, планировать действия, взаимодействовать с другими агентами, является онтологическая база знаний, содержащая модели концептуальных понятий, отношений предметной области и правила для анализа и ситуативной ориентации.
Программные агенты должны сыграть ведущую роль в Semantic Web. Однако пока большинство проектов посвященных МАС находятся на исследовательской стадии.
Можно найти и проекты, которые объявляют о готовности использования агентов в коммерческих целях. Такой пример можно посмотреть на сайте проекта Magenta.
«Magenta Toolkit многократно применялся для решения широкого спектра задач планирования и распределения ресурсов, а также для разработки Интернет-приложений, основанных на концепциях Web 3.0 и Semantic Web.»
Там же можно попросить Magenta Toolkit «в академических научно-исследовательских и образовательных целях». Кстати, планирую это сделать=))) Интересно посмотреть.
Среди других проектов можно выделить  наиболее популряный – JADE. Проект JADE идет по пути разработки фреймворка для построения МАС.
Основной упор делается на специфические аспекты взаимодействия агентов, такие как обмен сообщениями, кодировка и парсинг, жизненный цикл агентов и т.д.
А как же Semantic Web?
Semantic Web для агента – отличнейшее поле для деятельности.
А вот если проект SW? Нужны ли ему на данном этапе агенты(вообще агенты и агенты jade в частности)? Тут, конечно, все зависит от специфики приложения. Выбор агентного подхода должен быть четко обоснован при рассмотрении других альтернатив.

Что говорит википедия:

«Multi-agent systems are applied in the real world to graphical applications such as computer games. Agent systems have been used in films.They are also used for coordinated defence systems. Other applications include transportation, logistics, graphics, GIS as well as in many other fields. It is widely being advocated for use in networking and mobile technologies, to achieve automatic and dynamic load balancing, high scalability, and self-healing networks.»

Т.е. последнее замечание в некоторой степени касается и SW.  И я бы сказала, есть некоторый акцент на слове «advocated».

Что же предосталяет JADE(конкретно из того что могло бы быть полезно для приложений SW):

1)поддержка онтологий(jade.content package), которые агенты могут использовать для обмена сообщениями. Можно создать онтологию в Protégé а потом Beangenerator автоматически создаст «ontology definition class and the predicates, agent actions and concepts classes».

Beangenerator здесь. Написано что работает для protege 3.2.1 и след версий. Для OWL-онтологий с багами:). Для Protege 4 вроде не работает(по крайней мере у меня), а хотелось бы

2)есть интеграция с Jess – агенту можно прикрутить логический вывод

3) есть RDFCodec и AgentOWL

4) Простой пример использование jade  для выполнения простых SPARQL-запросов к http://dbpedia.org/sparql можно посмотреть тут.

Из примера видно, что jade по сути ничего для SPARQL и не предоставляет. А может, это и не надо? Для этого есть Jena к примеру.

5) JADE-агента достаточно легко развернуть как web-service(WSIG add-on)

6) Отдельным плюсом jade является интеграция с jsp(лучше бы конечно jsf:) При этом агент контролирует все запросы к странице.

Что еще хотелось бы, так это веб-интерфейс мониторинга и управления агентами.


надеюсь, эта информация будет вам полезной=)

немного об авторе review здесь