Имя материала: Базы знаний интеллектуальных систем

Но в целом можно еще раз отметить, что инструментарий AgentBuilder является современным и мощным средством проектирования и реализации MAC.

 

9.2.3. Система Bee-gent

 

Инструментарий AgentBuilder, обсуждавшийся выше, базируется на концепции среды разработки, принятой в технологии программирования. Отличный от этого подход применяется в системе Bee-gent [Bee-gent, 1999]. Здесь для проектирования и реализации MAC используется специальная МАС-библиотека, реализованная на языке Java, а собственно технология, на наш взгляд, представлена методологией спецификации поведения агентов распределенной системы. При этом в систтеме Bee-gent используется множество базовых агентов (generic agents), среди которых можно выделить упаковщики (agent wrappers) и медиаторы (mediation agents).

Поведение всей системы, направленное на достижение определенных целей, базируется на спецификации «бесед» (message exchanges) через протоколы взаимодействия (interaction protocols).

Такие протоколы представляются специальными графами (рис. 9.3), основными понятиями которых являются состояния (states) и переходы (transitions). При этом переходы, по сути дела, лишь специфицируют смещение «фокуса» в следующее состояние с помощью специальных правил перехода, а ядро формализма составляют состояния. Именно здесь проверяются предусловия перемещения в следующее состояние и в случае их удовлетворения выполняются действия, в основе которых обмен XML/ACL сообщениями. Возможны правила, результатом выполнения которых является выбор следующего состояния из множества подходящих.

Как и обычно в таких случаях, в качестве базиса сообщений декларируется использование теории речевых актов [Austin, 1965; Searle, 1985]. Однако в случае Bee-gent для этого используется специальный язык ACL, разработанный на основе KQML [Labrou et al, 1997]. Интересно здесь то, что логическая структура ACL-выражений представляется в формализме XML [XML, 1998]. Поэтому язык описания поведения агентов в Bee-gent называется XML/ACL. Основное отличие его от, например, языка RADL в том, что в XML/ACL введены перформативы представления намерений (intentions), а также средства спецификации потоков развертывания беседы (conversation flows). Вместе с тем в языке спецификации поведения агентов системы Bee-gent нет правил, определяющих, в каких случаях какие перформативы должны использоваться. И, следовательно, нет типовых сценариев диалогов. Пример перформатива в формализме XML/ACL приведен ниже:

 

<!DOCTYPE request SYSTEM "request.dtd">

<request>

<sender>Mediation Agent</sender>

<receiver>Agent Wrapper</receiver>

<content>

<action>actK/action>

<actor>Agent Wrapper</actor>

<args>null</args>

</content> ;

<protocol>Request-inform</protocol>

<reply-with>MSG-IO:K/reply-with>

<ontology>default</ontology>

</request>

 

        

Рис. 9.З. Общая структура протоколов взаимодействия

               в системе Bee-gent

 

Как следует из данного примера, для спецификации перформативов используется система специальных тегов, что хорошо коррелирует с предложениями FIPA по созданию языка SKDL (Structured Knowledge Description Language) [SKDL, 1998]. Вместе с тем реализация поведения агентов лежит на специальной системе Java-классов и практически никак не связана с внешним представлением перформативов в языке XML/ACL.

Для иллюстрации подхода Bee-gent к описанию поведения агентов рассмотрим модельную задачу брокера [Bee-gent, 1999], обслуживающего потенциального покупателя, который находит продавца определенного товара, обсуждает с ним цены и информирует покупателя о возможных вариантах покупки.

Контрактная сеть верхнего уровня для данной задачи представлена на рис. 9.4.

 

          Рис. 9.4. Контрактная сеть верхнего уровня для задачи брокера

 

С точки зрения системы представления знаний AgentBuilder, она наиболее близка к спецификации агентства (Agency). Однако в данном случае, по нашему мнению, в контрактной сети Bee-gent более детально специфицируются не только типы взаимодействий между агентами в агентстве, но и их реализация.

Собственно спецификацию поведения агентов в системе Bee-gent можно проиллюстрировать на примере протокола взаимодействия для продавца, показанного на рис. 9.5

Такая спецификация достаточно прозрачна и в дополнительных комментариях не нуждается. Поэтому, на наш взгляд, интереснее рассмотреть, как реализуется поведение агента в формализме системы Bee-gent.

 

      

 

Рис. 9.5. Граф протокола взаимодействия для поведения продавца

 

Собственно инициация агента здесь осуществляется стандарным для Java-приложений образом:

 

import com.toshiba.beegent.*;

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 |