Jade+Агенты+Semantic Web: обзор

, , , , , , , , , , , , , | Shcherbak Sergey | 12.03.2008 | 23 комментария


Под влиянием комментариев из предыдущей заметки решил написать о JADE.

JADE (Java Agent Development Framework)– фреймворк для разработки мультиагентных систем (МАС).

Фреймворк JADE состоит из двух взаимосвязанных компонент. С одной стороны JADE – это среда разработки java-агентов, а с другой – это платформа, в рамках которой могут функционировать эти агенты.

Если говорить в терминах, близких к понятию «онтология», то

Агенты — это «активные» объекты, которые могут осуществлять целенаправленную деятельность по изменению состояния других объектов (например, объектов предметной области, которые описаны на OWL).

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

Но главное в агентах – это конечно же инициативность, то есть возможность инициирования каких-то конкретных действий, которые приведут к «осознанному» изменению окружающей среды. Хотя, наверное, лучше сказать так — …, которые приведут к изменению окружающей среды в соответствии с какими-то внутренними целями агента.

Такое псевдо-интеллектульное поведение агента позволяет эффективно обрабатывать онтологические знания даже в условиях неполноты определения объектов предметной области и/или распределености компонентов описания объектов (т.е. в случаях когда определение какого-то свойства конкретного объекта может быть недоступно в связи, например, с аппаратным сбоем сервера и т.п.)

На сегодняшний день, JADE представляет собой наиболее полную реализацию спецификаций FIPA (Foundation for Intelligent Physical Agents).

FIPA разрабатывает спецификации, стандарты, регламентирующие способы взаимодействия интеллектуальных агентов, их структуру и особенности программной реализации.

Более подробно о функциональных возможностях JADE можно почитать здесь — http://jade.tilab.com/

а скачать JADE можно здесь — http://jade.tilab.com/download.php [нужно зарегистрироваться на сайте] ❗

С помощью библиотеки AgentOWL [http://agentowl.sourceforge.net/] в JADE можно добавить поддержку RDF/OWL онтологий. Обработка онтологий осуществляется с помощью Jena.

В AgentOWL реализована поддержка протокола XML-RPC, что позволяет JADE-агенту возвращать информацию по запросу в форматах RDF или XML.

Кроме того, можно также использовать Sparql для организации взаимодействия агентов с онтологиями.

Для начала знакомства с JADE, как инструмента Semantic Web, думаю хватит, но к этой теме я еще вернусь…

Если тема интересна, пожалуйста пишите в комментарии, будет материал! :smile:

PS Был плагин для Eclipse(Ejip), который позволял интегрировать JADE в Eclipse, но сейчас увы он не доступен для скачивания.


Понравилась статья? Поделитесь с друзьями!


23 Responses to Jade+Агенты+Semantic Web: обзор

  1. А примеры потенциально-коммерчески перспективного применения агента где можно посмотреть? Ну кроме банальных сценариев поиска и «торговцев»?

  2. Простейшие «рефлексивные» агенты уже сейчас разрабатываются для взаимодействия с веб-сервисами различных сайтов, типа Amazon.

    Агенты — «Торговцы», занимающиеся опросом веб-сервисов электронных магазинов с целью узнать, где наименьшие цены на какую-то конкретную продукцию, тоже весьма не плохая вещь. Так как при прочих равных вы экономите свое время и главное «деньги». В этом плане Semantic Web, как «невизульный» Веб, может сыграть свою положительную роль — сервисы SW поддерживают единый интерфейс через SPARQL для получения «точечного» доступа к информации своих хранилищ Или SWSL(Semantic Web Services Language) для межсервисного взаимодействия, что значительно облегчает решение подобных задач.

    Агенты, особенно, использующие теорию конечных автоматов, хорошо решают задачи управления и интеграции. Потому потенциально-коммерческое применение агентов может быть найдено в электронной коммерции, о чем собственно и говорит в своем интервью «Semantic Web открыт для бизнеса» Тим Бернес Ли.

  3. В недалеком 2005 году были также такие агенты —
    Агенты приходят на помощь :roll:

  4. Спасибо за ответ, но ссылка из последнего комментария, к сожалению, не открылась.

  5. Это ошибка в работе плагина по обработке ссылок. Уже подправил.

    Ссылка рабочая(сегодня проверено).

  6. Alex:

    Доброе время суток у меня след. вопросы:
    1 Дело в том что у меня агенты даже тестовые не работаю если в сетевуху не воткнут кабель с сетью.
    От этого как то можно отвязаться так как приходится показывать людям а не всегда есть сеть.
    2 Передомной стоит задача что бы агенты общались через онтологии и пересылка шла именно файлов с owl. Можете прислать примерчик такого кода?
    Использую JADE.

  7. Все правильно, когда сетевая карта не активна, IP адрес компьютера, на котором запущен агент, не доступен.

    Потому, агентов в JADE (точнее JADE) необходимо сконфигурировать на использование IP-адреса 127.0.0.1
    Все будет работать (и без сети) 😆

    В заметке есть ссылки на программы, которые помогут вам в решении вашей задачи… Это не сложно… тем более пример кода вам ничего не даст 😉
    А когда разберетесь с JADE все станет ясно и без меня :smile:

  8. Alex:

    Просто хотелось бы знать как использовать AgentOWL, просто я ее выкачал а доки читаю и не могу понять потому просто хотел пример части кода когда один агент посылает онтологию например завтра будет дождь, а второй агент получив это о завтра будет дождь нужно надеть плащ ))), как у второго агента проходит восприятие онтологии, просто мне многое в этом не ясно и хотелось бы больше инфы.

  9. Честно говоря, я бы начитал знакомство agentowl и Jade c изучения основ SOA (сервис-ориентированной архитектуры).

    Этот материал вам поможет в ваших начинаниях!
    и
    Этот этот тоже

    Разберетесь, может захотите поделиться информацией по теме. Прошу — заметку опубликую со ссылкой на вас!

  10. Alex:

    Вы не пробовали агента например хотя бы классику (привет мир) сделать в eclipse без Ejip. А то натолкнулся на мануал как это сделать вроди все правельно сделал но не компился ((((

  11. Alex:

    все заработала хреновена )))

  12. Alex:

    Вы бы не могли мне подсказать как в онтологию «ввести» время, дату, (а точнее расписание)просто нужно работать с расписанием, которое будут представлено в онтологии, может на эту тему есть что почитать, а то даже представить не могу как агенты должны составить расписание взаимодействия.

  13. С датами все достаточно просто, единственно при оформлении дат необходимо придерживаться определенных правил, например, описанных в стандарте w3c XML SCHEMA здесь или здесь.
    Даты проще (и правильней)всего подключить к онтологии через Dublin Core, как описано в соответствующей заметке на SHCHERBAK.NET.

  14. Alex:

    У вас нет на примете готовой онтологии owl какой нибудь услуги например магазина м расписанием работы и товаром, или еще чего

  15. в редакторе онтологий Protege в examples красивые и понятные примеры онтологий. По аналогии можно сделать…
    Что касается конкретно магазина, то здесь лучше всего посмотреть на концептуальные схемы баз данных электронных магазинов. Выбрать оттуда все сущности(их структуру и описание)и связи. Вот вам 70 процентов онтологии сделано… А электронных магазинов с открытыми исходниками сейчас не много, а очень и очень много… Поэтому создать онтологию по аналогии это вообще не проблема! 😆 Кроме того, средства реверс инжиниринга никуда не девались.. Вы автоматом можете получить визуальное представление вашей концептуальной схемы БД.

  16. Alex:

    Вот, тут еще вопрос мне нужно что бы агенты составили расписание. Информацию о себе они загружают из онтологии но им придется время хранить и имя агента с которым договорились тоже в онтологии притом этой же возможно ее переписать добавить в нее новую запись методами AgentOWL-0.9. А то что то я в этом не сильно уверен.

  17. Alex:

    Знаете вы мне давали ссылки на Time Ontology in OWL. Пробовал на основе их онтологии делать свою, почему то агент не смог проанализировать мою онтологию. Вот тут сделал такую вещь(такая вещь не сделана на основе Time Ontology in OWL)

    2003-01-24T09:00:08+01:00
    2003-01-24T18:00:08+01:00

    на запрос вида «SELECT ?x WHERE {?x rdf:type ont:»+resourceType+»}»));
    resourceType= Schedule.
    Он мне выдает этот индивид класса. Но мне бы хотелось подать запрос такого содержания «будет ли индивид данный пересекаться с теми начальными и конечными датами которые подам в запросе»

  18. Alex:

    вашь редактор поел вот это
    /*

    2003-01-24T09:00:08+01:00
    2003-01-24T18:00:08+01:00
    */

  19. В jade можно добавлять новые записи к онтологии! И в agentowl ничего существенного не убиралось… должно быть. На namespace посмотрите, может ваши агенты его не воспринимают (в time ontology может быть другое пространство имен, не совместимое с agentowl )… хотя обработка онтологии у вас же идет(?) к ней можно подключится и запрос выполнить?
    А запрос мне не понятен :roll:
    «будет ли индивид данный пересекаться с теми начальными и конечными датами которые подам в запросе»

    Индивид не может пересекаться с атрибутами индивида.

    Индивид может пересекаться с индивидом по атрибутам (а точнее по значениям атрибутов) :smile:

  20. Alex:

    я просто не знаю в какой ведки задать этот вопрос потому задвю тут. Значит я подключаю плагин OWLViz. Насколькоя понимаю должна поевится вкладка которую можно настроить и называтся она толжна OWLViz. У меня вместо этого поевляется вкладка внутри пусная, а вместо названия красный квадрат что делать пользую полную версию протеже 3.4 (((

  21. Красный квадрат на вкладке Protege значит, что плагин не поддерживается для активного типа онтологий. Такое может быть из-за того, что, например, вы подключаете OWLViz к RDF/RDFS или к plain protege project ontology. Или вам просто надо почитать readme к плагину (возможно плагин нужно еще настроить).

    Для вопросов не по теме заметок создан раздел
    «Вопросы»

  22. Роман Р:

    Здравствуйте.

    Начал интересоваться агентными технологиями (несколько лет назад писал дипломную работу по агентным платформам).

    Сейчас же интересуюсь темами практического применения агентных технологий. По «практическому применению» есть международные конференции, но почему то мало информации в всемирной сети.

    Может быть посоветуете что почитать, где найти побольше информации?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Ответить с помощью ВКонтакте: