КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Инструментарий AgentBuilder
Инструментарий для построения MAC компании Reticular Systems, Inc. состоит из двух компонентов: средств разработки (development tools) и окружения периода исполнения (run-time execution environment). Первый компонент ориентирован на поддержку процессов анализа предметной области создаваемой MAC и проектирование агентов с заданным поведением. Второй - обеспечивает эффективную среду для выполнения агентно-ориентированных программ. И тот и другой компоненты реализованы на языке Java, что позволяет им работать на всех платформах, где установлена Java-среда. Агентные программы, проектируемые в рамках AgentBuilder, тоже являются Java-программами и могут исполняться на любом компьютере, где установлена виртуальная Java-машина JVM (Java-virtual machine). Общая схема процесса проектирования и реализации агентно-ориентированных приложений на основе AgentBuilder Toolkit представлена на рис. 9.1. Этот инструментарий имеет средства для организации и предметной области создаваемой MAC, средства спецификации архитектуры агентства и поведения агентов, а также средства отладки агентных приложений и наблюдения за поведением созданных агентов. Модель «жизненного цикла» агентов, разрабатываемых в рамках AgentBuilder, представлена на рис. 9.2. Как следует из данной схемы, стандартный «жизненный цикл» агента включает следующие основные шаги: • обработка новых сообщений; • определение, какие правила поведения применимы в текущей ситуации; • выполнение действий, специфицированных этими правилами; • обновление ментальной модели в соответствии с заданными правилами; • планирование.
Собственно ментальные модели (начальная и текущая) включают описания исходных (текущих) намерений, полаганий, обязательств и возможностей, а также спецификации правил поведения.
Рис. 9.1. Технологическая схема процесса разработки агентно-ориентированных приложений на базе AgentBuilder ToolKit
Данная модель получила название Reticular Agent Mental Model (RAMM) и является развитием модели Шохама (Shoham) [Shoham, 1993], где все действия выполняются только как результат определенных обязательств. В рамках RAMM эта идея расширена до уровня общих правил поведения, которые определяют причину действия агента в каждой точке его функционирования. При этом правила поведения фиксируют множество возможных «откликов» агента на текущее состояние среды так, как это предписывается полаганиями. Для спецификации поведения агентов в системе AgentBuilder используется специальный объектно-ориентированный язык RADL (Reticular Agent Definition Language). Правила поведения в этом языке могут рассматриваться как конструкции вида WHEN-IF-THEN. WHEN-часть правила адресована новым событиям, возникающим в окружении агента и включает новые сообщения, полученные от других агентов. IF-часть сравнивает текущую ментальную модель с условиями применимости правила. Образцы в IF-части работают на намерениях, полаганиях, обязательствах и возможностях, определенных в ментальной модели.
Рис. 9.2. Модель «жизненного цикла» агента в системе AgentBuilder
THEN-часть определяет действия в ответ на текущие события и состояния ментальной модели и внешнего окружения. Они могут включать обновление ментальной модели, коммуникативные и внутренние действия.
Общий формат правил поведения следующий:
NAME имя правила WHEN Message Condition(s) IF Mental Condition(s) THEN Private Action(s); Mental Change(s); Message Action(s)
Для иллюстрации возможностей этого языка рассмотрим пример правила «Движение-Вперед-На-Зеленый-Свет» из предметной области «Управление автомобилем», взятый из руководства пользователя [AgentBuilder, 1999].
NAME "Green light Move Forward Rule" WHEN ? KQMLMessage.Performative EQUALS TELL ? KQMLMessage.Sender EQUALS "stoplight-agent" ? KQMLMessage.Content EQUALS String ? KQMLMessage.Ontology EQUALS "Stoplight" IF ? KQMLMessage.Content EQUALS "stoplight-green" ? KQMLMessage.Status EQUALS "stoppedAtRedLight" currentMotion.Content EQUALS "stoplight-green" current Location EQUALS nextlntersection NOT (currentLocation EQUALS destination) F0R_ALL (?Blocked Intersection, NOT(?BlockedIntersection.Location EQUALS currentLocation)) THEN DO (Go(traffic Speed)) DO ($nextlntersection = getNextlntersection (currentLocation, currentMotion.Direction)) ASSERT (SET_VALUE_OF currentMotion.Status TO moving) ASSERT (SET_VALUE_OF nextlntersection TO $nextlntersection) SEND (performative = REPLY, receiver = "stoplight-agent", content = "acknowledged", in-reply-to =?KQMLMessage.Reply-with)
Как следует из данного примера, в языке RADL активно используются образцы, имеются достаточно развитые средства работы с переменными и представительный набор действий, включающий формирование перформативов языка KQML [Labrou et al., 1997]. Структуры данных, на которых «работает» данный язык, являются, по существу, фреймами, а сами правила - суть продукции специального вида. Язык поддержан на инструментальном уровне системой специальных языково-ориентированных редакторов. Спецификация поведения агентов и их ментальных моделей составляет специальный файл (agent definition file), который используется совместно с классами и методами из библиотеки действий агентов и библиотеки интерфейсов. Этот файл интерпретируется в рамках компонента Reticulars Run-Time Agent Engine, являющегося частью окружения периода исполнения AgentBuilder. Оценивая подход к спецификации моделей поведения агентов, используемый в AgentBuilder, можно констатировать, что в целом это серьезная система представления и манипулирования знаниями, ориентированная на описание моделей типа RAMM. Вместе с тем в данной модели отсутствуют средства эксплицитного управления выводом, которые могли бы существенно увеличить функциональную мощность языка. Нет в модели и средств явной фиксации состояния агента, отличных от флагов и/или значений переменных. Не вполне ясно и то, как в спецификации моделей поведения могут быть учтены разные, но одновременно сосуществующие «линии поведения», что характерно для действительно интеллектуальных агентов. Не вполне обоснованным представляется и использование режима интерпретации для реализации поведения агентов. Но в целом можно еще раз отметить, что инструментарий AgentBuilder является современным и мощным средством проектирования и реализации MAC.
Дата добавления: 2015-07-02; Просмотров: 540; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |