Средства для создания программных агентов



Download 0,78 Mb.
bet4/7
Sana21.02.2022
Hajmi0,78 Mb.
#68497
1   2   3   4   5   6   7
Bog'liq
диссертация

4. Программная среда JADE (Java Agent Development Framework) получила широкое применение для разработки многоагентных систем. Она полностью реализованная на языке Java и поддерживает FIPA – стандарты для создания интеллектуальных агентов. Цель создания среды JADE – упростить процесс разработки посредством стандартизации способов взаимодействия агентов во всеоохватывающей среде системных сервисов.
Для достижения этой цели JADE предлагает програмисту-разработчику агентных систем следующие возможности:

  1. агентную платформу FIPA-compliant Agent Platform, основанную на FIPA и включающую обязательные типы системных агентов для управления, во-первых, агентной платформой (AMS), во- вторых, каналом коммуникации (ACC) и службы каталогов (DF) (эти типы агентов автоматически активируются при запуске платформы);

  2. распределенную агентную платформу Distributed Agent Platform, которая может использовать несколько хостов, при чем на каждом узле запускается только одна Java Virtual Machine. Агенты выполняются как Java- потоки. В зависимости от местонахождения агента, посылающего сообщение, и того, кто его получает, для доставки сообщений используется соответствующий транспортный механизм.

  3. Multiple Domains support – ряд основанных на FIPA DF-агентов могут объединится в федерацию, таким образом реализуя мультидоменную агентную среду.

  4. Multithreaded execution environment with twolevel scheduling. Каждый JADE-агент имеет собственный поток управления, но он также способен работать в многопотоковом режиме. Java Virtual Machinе проводит планирование задач, исполняемых агентами или одним из них.

  5. Object-оriented programming environment. Большинство концепций, свойственных FIPA- спецификации, представляются Java-классами, формирующими интерфейс пользователя.

  6. Library of interaction protocols. Используются стандартные интерактивные протоколы fipa request и fipa-contract-net. Для того, чтобы создать агента, который мог бы действовать согласно таким протоколам, разработчикам прикладных программ нужно только имплементировать специфические доменные действия, в то время как вся независимая от прикладной программы протокольная логика будет осуществляться системой JADE.

  7. Administration GUI. Простые операции управления платформой могут исполняться через графический интерфейс, отображающий активных агентов и контейнеры агентов. Используя GUI, администраторы платформы могут создавать, уничтожать, прерывать и возобновлять действия агентов, создавать иерархии доменов и мультиагентные федерации DF (фасилитаторов).

JADE базируется на технологиях Java RMI, Java CORBA IDL, Java Serialization и Java Reflection API. Разработка МАС в этой среде упрощается благодаря использованию FIPA-спецификаций и ряда инструментов поддержки фазы отладки и развертывания системы. Эта агентная платформа может устанавливаться на компьютерах с разными операционными системами, и ее можно конфигурировать через удаленный GUI-интерфейс. Процесс конфигурирования этой платформы достаточно гибкий: ее можно изменить даже во время исполнения программ, посредством перемещения агентов с одной машины на другую. Единственным требованием для работы системы является установка на машине Java Run Time 1.2.
Каждый запущенный экземпляр среды JADE является контейнером, т.к. может содержать несколько агентов. Группа активных контейнеров образуют платформу. Главный контейнер всегда должен быть активен, а все другие контейнеры должны быть зарегистрированы им при их создании. Поэтому, первый контейнер, запущенный на платформе является основным контейнером, а все остальные - обычными контейнерами и должны получить указания о том, где находится их основной контейнер, на котором они должны быть зарегистрированы. Если в сети запускается еще один основной контейнер, то он представляет собой другую платформу, на которой новые обычные контейнеры имеют возможность зарегистрироваться. На рисунок 2.4 показаны приведенные выше концепции платформы и контейнера и показывает сценарий с двумя JADE платформами, состоящими из трёх и одного контейнера соответственно.

Р
ис. 2.4 Среда «существования» агентов JADE


JADE агенты должны иметь уникальные имена, знать имена друг друга и, благодаря этому, они могут общаться напрямую, независимо от их фактического местонахождения, т.е. внутри одного контейнера (например, агенты A2 и A3), в различных контейнерах внутри одной платформы (например, A1 и A2) или в различных платформах (например, A4 и A5). Основной контейнер отличается от обычных тем, что содержит систему управления агентами и маршрутизатор, которые автоматически запускаются при запуске основного контейнера. Система управления агентами AMS (Agent Management System), представляет собой «власть» в платформе (создание / удаление агентов в удаленных контейнерах, запрашиваемых через AMS) и обеспечивает службу именования агентов. Маршрутизатор каталогов DF (Directory facilitator), который обеспечивает сервис «Жёлтых страниц», помогает найти агенту других агентов, для получения от них необходимых услуг, необходимых ему для достижения своих целей.


Для осуществления коммуникации архитектура среды предоставляет гибкий и эффективный процесс обмена сообщениями, в котором JADE создает очередь и управляет потоком ACL-сообщений, являющихся приватными для каждого агента. Агенты способны обращаться к очереди с помощью комбинации нескольких режимов своей работы: блокирование, голосование, перерыв в работе и сопоставление с эталоном (если это касается методов поиска).
В последних версиях системы используется Java RMI, event-notification и IIOP. Однако, можно легко добавить и другие протоколы. Также предусмотрена возможность интеграции SMTP, HTTP и WAP. Большинство коммуникационных протоколов, которые уже определены международным сообществом разработчиков агентных сред, доступны и могут иллюстрироваться на конкретных примерах после определения поведения системы и ее основных состояний. Вместе с поддержкой определенных пользователем контентных языков, реализованы онтологии управления агентами, а также онтологии, которые могут быть реализованы и зарегистрированы агентами и использованы системой. С целью существенного расширения работоспособности JADE, предусмотрена возможность интеграции с JESS и Java-оболочкой CLIPS.
Сравнительный анализ возможностей рассматриваемых инструментальных сред для разработки программных агентов приводится в таблице 4. А на рисунке 2.5 приведены результаты данного анализа.

Таблица 4


Сравнительный анализ возможностей инструментальных сред для разработки программных агентов

Возможности инструментальных сред

Agent Builder

Bee-gent

JACK

JADE

Средства построения агентств

да

нет

нет

нет

Средства управления проектом

да

нет

да

нет

Графическая среда для определения спецификаций агентов

да

нет

да

нет

Механизм контроля целостности

да

нет

да

нет

Средства построения онтологии

да

нет

нет

нет

Библиотека для разработки МАС

да

да

да

да

Механизм рассуждений агента о своих способностях и способностях других агентов

да

нет

да

нет

Формальный язык коммуникации

да

да

да

да

Средства отладки взаимодействия агентов

да

нет

да

да

Механизм поиска агентов с заданными способностями

нет

нет

нет

да

Оценка возможностей инструментальных сред в %

90%

20%

70%

40%


Рис. 2.5 Оценка возможностей инструментальных сред в %


На основании сравнения характеристик рассмотренных инструментальных сред можно сделать вывод о том, что наиболее мощными и гибкими технологиями реализации понятия “агент”, являются подходы, предложенные инструментарием AgentBuilder и средой JACK.
Необходимо обратить внимание на то, что для платформы JADE существует дополнительное BDI расширение - среда Jadex. Эта среда предусматривает гибридную реактивно-делиберативную архитектуру, в которой агент рассматривается как «черный ящик», принимающий и отправляющий сообщения. Основываясь на результатах обработки сообщений, внутренних и внешних событий, делиберативный механизм принимает решения о переходе к новому плану действий или продолжению старого. Действующий план может посылать сообщения другим агентам, изменять базу убеждений, формировать новые цели и вызывать внутренние события. Система использует библиотеку планов, которые обрабатываются как Java-классы.
Одним из главных преимуществ разработки интеллектуальных агентов на платформе Jadex является то, что не требуется изучения новых языков программирования. Вместо этого агенты кодируются на базе объектно-ориентированного программирования в интегрированной среде разработки (IDEs), типа Eclipse и Intellij IDEA.
Еще одним важным аспектом является независимость связующего программного обеспечения, поскольку Jadex независимо с его модулями может использоваться в совершенно других сценариях на верхнем уровне платформы. Ориентированные на агента программы добавляют явные свойства автономных действующих элементов, которые принимают участие в процессе принятия решений, к пассивных объектам. В этом отношении агенты предоставляют активные компоненты с индивидуальными возможностями взаимодействия с компонентами.
Jadex разработан как самостоятельный механизм принятия решений, адаптированные для работы с любыми связующими системами, которые выполняют взаимодействие с агентом относительно его собственного управления и получения сообщений.
Агент может свободно мигрировать между хостами, выполняя операции, как на серверной стороне, так и на стороне пользователя, сохраняя при этом независимость от места выполнения поставленных задач.
Проведенный анализ наиболее известных инструментальных систем позволил выбрать эффективную и доступную среду Jadex.


    1. 2.2 Модель программного агента ресурсов




Программный агент в мультиагентной системе имеет свое описание в виде BDI модели, которая содержит его знания, планы и цели, которые агент выполняет по достижению своих задач. Рассмотрим описание BDI модели, т.е. описание целей агента, знаний и его планов.
Одной из самых интересных и широко распространяемых архитектур агента является архитектура Цели-Факты-Планы (BDI). Эта архитектура состоит из понятий знаний, фактов и целей как мысленные отношения, которые генерируют человеческое действие.
Jadex объединяет эту модель в агентов Jade, вводя цели, факты и планы для манипуляции внутри агента. В Jadex, агенты имеют знания, которые могут быть каким-нибудь видом объектов Java, и запомнены в базу знаний. Цели изображают конкретные побуждения (состояния, которые достигнуты).
Планы представляют собой определенные действия агента в среде функционирования и предопределяются разработчиком системы, составляя библиотеку действия планов выполнения агентом. В зависимости от ситуации выполнения системы, в которой функционирует агент, выбирается соответствующий план действия на выполнения агентом. Выбор планов осуществляется автоматически платформой Jadex.
Цели в Jadex представляют собой объекты с некоторыми атрибутами. Целевое состояние, достигаемой цели, может быть явно представлено выражением, которое проверяет, достигнута ли цель.
В отличие от традиционных BDI систем, которые понимают цели как специфический вид событий, в Jadex цели являются центральной концепцией. Цели - это конкретные, мгновенные желания агента. Любая цель, которую преследует агент, будет более или менее непосредственно осуществлена соответственным действием, пока не будет предположения, что цель достигнута, непостигаема или больше не желаема.
Jadex поддерживает 4 вида целей:

  1. цель выполнения – утверждает, что должно быть выполнено, но не обязательно приведет к определенному результату;

  2. цель достижения – описывает абстрактное целевое состояние, которое необходимо достигнуть, без определения как это сделать. Таким образом, агент может опробовать разные альтернативы, для достижения цели;

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

  4. цель поддержания – специфицирует состояние, которое должно сохраняться, и может вызываться, после того как будет выполнена.

Цели составляют мотивационную установку агента, которая является движущей силой его действий. Поэтому можно сделать вывод, что представление и обработка целей – это одна из главных функций Jadex.
Знания представляют осведомленность агента об окружающей среде и о себе непосредственно. В Jadex знания могут быть представлены любыми объектами java. Они сохраняются в базе знаний и могут быть упомянуты в выражениях, доступны и изменяются в зависимости от планов, использующих базы знаний приложения. Знания описываются в ADF-файле и обращаются к измененному плану, определяя единственную оценку плана и соответствии его требуемым результатом.
Рассмотрим схему работы программного агента ресурсов (рис. 2.6). Работа агента начинается с того, что агент координатор (1 блок модели) посылает агенту ресурса запрос на поиск информации. Далее запускается агент ресурсов (2 блок модели), после подачи запроса на поиск информации, которую ищет пользователь с помощью других агентов. После этого управление передается в следующей блок модели для поиска необходимой информации по метаданным. Агент координатор управляет взаимодействием между всеми агентами. В данной схеме возможно два варианта событий, при которых искомая информация либо найдена, либо нет. Если информация не найдена, агенту координатору отправляется сообщение о том, что данный ресурс отсутствует (блок 4). Если же информация найдена (блок 5), тогда агенту координатору перенаправляется материал, который был найден. При выполнении блока 4 или 5 функция агента считается выполненной. После чего агент переходит в спящий режим (блок 6), до того времени пока не появится новая необходимость в работе агента.


Р исунок 2.6 Схематическая модель работы программного агента ресурса


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


    1. Выводы по II главе




Широта исследований в области мультиагентных систем, сложность архитектуры и многообразие компонент агентов, различные методологии представления МАС породили множество программных средств для их разработки.
В данной главе были подробна рассмотрены наиболее известные и популярные среды разработки агентов, а так же проведен сравнительный анализ возможностей таких инструментальных сред для разработки программных агентов, как АВЕ (Agent Building Environment), Bee-gent, JACK и JADE.
В результате анализа можно сделать вывод, что на сегодняшний день наиболее динамично развивающейся, эффективной и доступной средой является агентная платформа JADE в совокупности с Jadex.
Кроме этого в данной главе рассмотрен программный агент в виде BDI модели и предложена схематическая модель работы программного агента ресурса, на которой описаны цели, факты и планы, которые агент будет достигать в процессе своей работы.



  1. Download 0,78 Mb.

    Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish