Аннотация
Актуальной остается потребность в разработке методологий и инструментальных средств для создания распределенных многоагентных систем. Представленный в данной статье инструментарий Zeus есть современная среда разработки сложных многоагентных приложений. Zeus, результат тщательного синтеза существующих многоагентных технологий и новых подходов, предоставляет интегрированную среду для быстрого создания программного кода сложных многоагентных приложений. Zeus оперирует собственной методологией проектирования многоагентных систем, предоставляет визуальные средства для спецификации агентов пользователем, автоматически генерирует выполняемый программный код на основе пользовательских спецификаций.
Ключевые слова
Архитектуры агента, распределенные многоагентные системы, создание сложных многоагентных приложений.
Введение
В данной статье описываются возможности современной инструментальной среды Zeus для разработки сложных многоагентных приложений. Инструментарий упрощает разработку сложных многоагентных приложений, представляемых делиберативными моделями и действующих в открытых и ограниченных во времени средах (Nwana 1996).
Причины создания среды Zeus можно отнести к двум категориям. Во-первых, разработчики многоагентных приложений нуждаются в создании методологий и инструментариев в виде фреймворков, инструментальных сред для создания распределенных многоагентных систем (Ndumu & Nwana 1996). Во-вторых, инструментарий по типу Zeus облегчает разработку многоагентных приложений: ускоряет процесс разработки, позволяет многократно использовать программный код, способствует стандартизации агентных технологий.
Философия и спецификация Zeus
Zeus был разработан как универсальная, настраиваемая и масштабируемая инструментальная среда промышленного уровня для разработки сложных многоагентных приложений. Мы вложили в инструментарий следующие принципы:
Во-первых, должны быть четко разделены способность принятия решений на предметном уровне и функциональность на агентном уровне. Способность характеризует возможность приобретения знаний о предметной области, функциональность же охватывает аспекты коммуникации, кооперации, координации, выполнения задач, обработки исключений и т.д. Таким образом, инструментарий должен предоставлять разработчикам многоагентных систем все функциональные возможности агентного уровня, чтобы им оставалось лишь добавить программный код, реализующий специфичные способности проектируемых агентов в области принятия решений.
Во-вторых, инструментарий должен поддерживать концепцию визуального программирования, т.е. предоставлять набор меню, списков выбора, используемых разработчиками для спецификации проектируемых агентов, их структуры и поведения.
В-третьих, инструментарий должен воплощать стандартизированные технологии, например, язык KQML (Finin & Labrou, 1997) в качестве язык коммуникации агентов.
В-четвертых, инструментарий должен поддерживать открытый легко расширяемый интерфейс.
Также мы полагали, что инструментарий должен предоставлять таких предопределенных агентов, как агент-сервер доменных имен, агенты-диспетчеры и агенты-визуализаторы. Главными целями агентов-визуализаторов должны были стать анализ и отладка распределенных многоагентных систем, которые, как известно, являются ключевыми и сложными задачами. Таким образом, основными целями при создании среды Zeus стали:
Концепция агента Zeus и методология Zeus проектирования агентов
На абстрактном уровне агент Zeus состоит из трех уровней: определения, организации и координации (рис. 1).
На уровне определения агент рассматривается в терминах его способностей к рассуждению (и обучению), целей, ресурсов, навыков, убеждений, предпочтений и т.д. На уровне организации он рассматривается с точки зрения его отношений с другими агентами, а именно: к какому сообществу агентов он принадлежит, какие роли он играет в этих агентствах, каких агентов он знает, о каких знаниях, принадлежащих другим агентам, он осведомлен и др. На уровне координации агент рассматривается как социальная сущность в рамках протоколов координации, которыми он обладает. Что касается двух других уровней, уровень коммуникации обеспечивает реализацию взаимодействия агентов, а уровень API связывает агента с программной реализацией его ресурсов и навыков.
На рис. 2 изображена архитектура агента Zeus. Уровень координации (рис. 1) представлен механизмом координации, уровень организации – моделью «знакомств», в то время как уровень определения относится ко всему шаблону агента.
Почтовый ящик регистрирует общение между агентами.
Обработчик сообщений обрабатывает входящие сообщения агента, перенаправляя их соответствующим модулям агента.
Механизм координации и система рассуждений вырабатывают решения в зависимости от целей, преследуемых агентом, и координируют все действия агента.
Модель «знакомств» описывает знания агента о возможностях других агентов сообщества и его отношения с ними.
Планировщик планирует выполнение задач агентом, основываясь на решениях, принимаемых механизмом координации и системой рассуждений, а также контролирует ресурсы, необходимые для выполнения задач.
База данных ресурсов содержит логическое описание ресурсов, доступных агенту.
База данных задач содержит логическое описание задач, доступных агенту для выполнения.
Диспетчер выполнения запускает, останавливает и контролирует выполнение внешних программ, указанных планировщиком. Также он сообщает механизму координации об успешном или ошибочном завершении контролируемых им задач.
Инструментарий Zeus
Инструментарий Zeus состоит из набора визуальных редакторов, которые разработчик использует для спецификации агентов Zeus. Набор редакторов включает:
Помимо визуальных редакторов инструментарий Zeus предоставляет следующие библиотеки:
Инструментарий Zeus реализован на языке программирования Java и работает под управлением операционных систем Windows NT, Solaris, Unix.
Визуализация и отладка кода в Zeus
Набор инструментальных средств визуализации Zeus включает:
Заключение
Таким образом, в данной статье описаны философия, методология, вопросы проектирования и реализации, визуализации и отладки распределенных многоагентных приложений в инструментальной среде Zeus.
© Зудикова Юлия Владимировна, ДонНТУ, 2010