<< В библиотеку

ZEUS: СОВРЕМЕННЫЙ ИНСТРУМЕНТАРИЙ ДЛЯ РАЗРАБОТКИ РАСПРЕДЕЛЕННЫХ МНОГОАГЕНТНЫХ СИСТЕМ

Hyacinth S. Nwana, Divine T. Ndumu & Lyndon C. Lee (перевод с английского Зудикова Ю.В.)

Intelligent Systems Research,
Advanced Research & Technologies Department
BT Laboratories, MLB1, PP12,
Martlesham Heath
Ipswich, Suffolk IP5 3RE
England


На сайте представлена часть статьи. Оригинал статьи находится по адресу: http://www.agent.ai/doc/upload/200302/nwan98.pdf


Аннотация

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

Ключевые слова

Архитектуры агента, распределенные многоагентные системы, создание сложных многоагентных приложений.

Введение

В данной статье описываются возможности современной инструментальной среды Zeus для разработки сложных многоагентных приложений. Инструментарий упрощает разработку сложных многоагентных приложений, представляемых делиберативными моделями и действующих в открытых и ограниченных во времени средах (Nwana 1996).

Причины создания среды Zeus можно отнести к двум категориям. Во-первых, разработчики многоагентных приложений нуждаются в создании методологий и инструментариев в виде фреймворков, инструментальных сред для создания распределенных многоагентных систем (Ndumu & Nwana 1996). Во-вторых, инструментарий по типу Zeus облегчает разработку многоагентных приложений: ускоряет процесс разработки, позволяет многократно использовать программный код, способствует стандартизации агентных технологий.

Философия и спецификация Zeus

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

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

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

В-третьих, инструментарий должен воплощать стандартизированные технологии, например, язык KQML (Finin & Labrou, 1997) в качестве язык коммуникации агентов.

В-четвертых, инструментарий должен поддерживать открытый легко расширяемый интерфейс.

Также мы полагали, что инструментарий должен предоставлять таких предопределенных агентов, как агент-сервер доменных имен, агенты-диспетчеры и агенты-визуализаторы. Главными целями агентов-визуализаторов должны были стать анализ и отладка распределенных многоагентных систем, которые, как известно, являются ключевыми и сложными задачами. Таким образом, основными целями при создании среды Zeus стали:

Концепция агента Zeus и методология Zeus проектирования агентов

На абстрактном уровне агент Zeus состоит из трех уровней: определения, организации и координации (рис. 1).

Абстрактная схема агента Zeus
Рис. 1. Абстрактная схема агента Zeus

На уровне определения агент рассматривается в терминах его способностей к рассуждению (и обучению), целей, ресурсов, навыков, убеждений, предпочтений и т.д. На уровне организации он рассматривается с точки зрения его отношений с другими агентами, а именно: к какому сообществу агентов он принадлежит, какие роли он играет в этих агентствах, каких агентов он знает, о каких знаниях, принадлежащих другим агентам, он осведомлен и др. На уровне координации агент рассматривается как социальная сущность в рамках протоколов координации, которыми он обладает. Что касается двух других уровней, уровень коммуникации обеспечивает реализацию взаимодействия агентов, а уровень API связывает агента с программной реализацией его ресурсов и навыков.

На рис. 2 изображена архитектура агента Zeus. Уровень координации (рис. 1) представлен механизмом координации, уровень организации – моделью «знакомств», в то время как уровень определения относится ко всему шаблону агента.

Архитектура агетна Zeus
Рис. 2. Архитектура агетна Zeus

Почтовый ящик регистрирует общение между агентами.

Обработчик сообщений обрабатывает входящие сообщения агента, перенаправляя их соответствующим модулям агента.

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

Модель «знакомств» описывает знания агента о возможностях других агентов сообщества и его отношения с ними.

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

База данных ресурсов содержит логическое описание ресурсов, доступных агенту.

База данных задач содержит логическое описание задач, доступных агенту для выполнения.

Диспетчер выполнения запускает, останавливает и контролирует выполнение внешних программ, указанных планировщиком. Также он сообщает механизму координации об успешном или ошибочном завершении контролируемых им задач.

Инструментарий Zeus

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

  1. Редактор Онтологии: для создания онтологии предметной области.
  2. Редактор описания задачи: для описания простых задач, который агент может выполнять.
  3. Редактор сложных задач: для описания группы простых задач, выполняющихся в определенной последовательности.
  4. Редактор уровня организации агента: для задания отношений между агентами и указания знаний агентов, о которых осведомлены другие агенты.
  5. Редактор уровня определения агента: для логического описания агентов, указания их ресурсов и выполняемых задач.
  6. Редактор уровня координации агентов: для выбора или создания новых протоколов координации, в рамках которых взаимодействуют агенты.
  7. Редактор фактов: для спецификации фактов онтологии.
  8. Редактор ограничений: для задания ограничений на значения входных и выходных фактов задач.
  9. Редактор генерации программного кода: для автоматической генерации программного кода агентов на основе введенных спецификаций пользователем.

Помимо визуальных редакторов инструментарий Zeus предоставляет следующие библиотеки:

Инструментарий Zeus реализован на языке программирования Java и работает под управлением операционных систем Windows NT, Solaris, Unix.

Визуализация и отладка кода в Zeus

Набор инструментальных средств визуализации Zeus включает:

  1. Society tool, который иллюстрирует обмен сообщения между агентами в сообществе.
  2. Report tool, который изображает в виде графа процесс выполнения задач.
  3. Micro tool для контролирования внутреннего состояния агентов.
  4. Control tool для удаленного изменения состояния агентов: уничтожения агентов, добавления, изменения или удаления целей, ресурсов, задач, стратегий координации и др.
  5. Statistics tool для собирания статистики работы агентов и сообщества агентов в целом.
  6. Video tool для записи и последующего воспроизведения сессий взаимодействия агентов.

Заключение

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


© Зудикова Юлия Владимировна, ДонНТУ, 2010