
ТРПО_теория / ТРПО / 0112838
.pdf
УДК 681.324
АНАЛИЗ СРЕДСТВ РАЗРАБОТКИ МУЛЬТИАГЕНТНЫХ СИСТЕМ
Д.А. Кузьмин, Д.Г. Селютин, Л.И. Покидышева*
В статье рассмотрены средства проектирования мультиагентных систем, позиционируемых как проекты с открытым исходным кодом: агентная платформа JADE, основанная на спецификации FIPA, и инструментарий проектирования IDK. Показаны возможности использования представленных средств по созданию и исполнению агентов.
Активные исследования и разработки в области мультиагентных систем (МАС) ведутся уже более 11 лет. Структура исследований очень широка и сравнима с широтой исследований в области искусственного интеллекта. Это не случайно, поскольку обусловлено интегративностью самого понятия такой системы, сложностью архитектуры и многообразием компонент каждого отдельного агента, большим набором математических и программных средств, используемых при его описании и разработке, сложностью структуры и разнообразием вариантов взаимодействия агентов между собой, компонент внешней среды, в которой функционируют агенты и т.д. [1].
Определение. Под мультиагентной системой будем понимать систему, состоящую из набора агентов (программных модулей), которые могут вступать во взаимодействие между собой, передавать друг другу некоторую информацию.
Варианты архитектур мультиагентных систем и рациональный выбор архитектуры отдельного агента и мультиагентной системы в целом существенно зависят от того:
-какова концептуальная модель агента,
-какой принят для ее описания формализм и язык спецификаций,
-какова математическая модель кооперации агентов при совместном функционировании в системе,
-на какое приложение или класс приложений ориентирована мультиагентная система,
атакже от ряда других факторов.
Можно с уверенностью утверждать - сколько существует и разрабатывается агентов и мультиагентных систем, столько существует и архитектур.
Среда существования МАС
Средой существования МАС являются агентные платформы. За прошедшее десятилетие было разработано множество программных реализаций агентных платформ, каждая из которых имеет свои особенности, достоинства и недостатки. Вот лишь небольшой список из более чем ста доступных платформ, публикуемых на сайте AgentLink (http://www.agentlink.org): JADE, FIPA-OS, AOS, ZEUS, KADOMA, NOMADS, ARA, AGLETS, GRASSHOPPER, TRACY, AJANTA, LEAP, JACK, SEMOA. Многие из проектов уже прекратили свое существование, многие успешно существуют в виде коммерческих проектов (таких как JACK) или проектов, позиционируемых, как проекты с открытым исходным кодом (JADE, ZEUS и др.).
Среди людей, занимающихся преподаванием и проектированием агентных систем, определенную популярность завоевала платформа JADE – одна из немногих основанная на спецификации FIPA[2].
В 90-х годах встала необходимость создания единых стандартов на разработку агентных систем. В этот период были основаны две организации MASIF (Mobile Agent System Interoperability Facility) и FIPA (Foundation of Physical Intelligent Agents). В результате их работы появились стандарт MASIF и стандарт FIPA,
дающие рекомендации по созданию систем мобильных агентов и систем интеллектуальных агентов.
* © Д. А. Кузьмин, Д. Г. Селютин, Л. И. Покидышева, Красноярский государственный технический университет, кафедра вычисли-
тельной техники, e-mail: pok@fivt.krgtu.ru
– 168 –

Информатика
Агентная платформа JADE
Проект JADE (достаточно новый) разрабатывается компанией Telecom Italia Lab с 2000 года
(http://jade.tilab.com/).
JADE предлагает программисту - разработчику агентных систем:
-FIPA-compliant Agent Platform – агентную платформу, основанную на FIPA и включающую обязательные типы системных агентов: AMS, ACC и DF. Эти три типа агентов автоматически активируются при запуске платформы.
-Distributed Agent Platform – распределенную агентную платформу, которая может использовать несколько компьютеров(узлов), причем на каждом узле запускается только одна Java Virtual Machine. Агенты исполняются как Java-потоки. Для доставки сообщений между агентами, в зависимости от их местонахождения, используется соответствующий транспортный механизм - Multiple Domains support - ряд основанных на FIPA-спецификациях DF-агентов, которые могут объединяться в федерацию, реализуя таким образом мультидоменную агентную среду.
-Multithreaded execution environment with two-level scheduling. Каждый JADE-агент имеет собственный поток управления, но он также способен работать в многопотоковом режиме. Java Virtual Machinе проводит планирование задач, исполняемых агентами или одним из них.
-Object-оriented programming environment. Большинство концепций, свойственных FIPA-
спецификации, представляются Java-классами, формирующими интерфейс пользователя.
-Library of interaction protocols. Использование стандартных интерактивных протоколов fipa-request и fipa-contract-net. Для того чтобы создать агента, который мог бы действовать согласно таким протоколам, разработчикам прикладных программ нужно только имплементировать специфические доменные действия, в то время как вся независимая от прикладной программы протокольная логика будет осуществляться системой JADE.
-Administration GUI. Простые операции управления платформой могут исполняться через графический интерфейс, отображающий активных агентов и контейнеры агентов. Используя GUI, администраторы платформы могут создавать, уничтожать, прерывать и возобновлять действия агентов, создавать иерархии доменов и мультиагентные федерации DF.
JADE используется рядом компаний и академических групп. Среди них можно выделить наиболее из-
вестные: BT, CNET, NHK, Imperial College, IRST, KPN, University of Helsinky, INRIA, ATOS и много других. JADE написана на языке программирования Java с использованием Java RMI, Java CORBA IDL, Java Serialization и Java Reflection API. Она упрощает разработку мультиагентных систем благодаря использованию FIPA-спецификаций и инструментов (tools), которые поддерживают фазы исправления ошибок (debugging) и развертывания (deployment) системы. Эта агентная платформа может распространяться среди компьютеров с разными операционными системами, и ее можно конфигурировать через удаленный GUIинтерфейс. Процесс конфигурирования этой платформы достаточно гибкий: ее можно изменить даже во время исполнения программ. Для этого необходимо просто переместить агентов с одной машины на другую. Единственным требованием такой системы является установка на машине Java Run Time требуемой версии. Коммуникационная архитектура предлагает гибкий и эффективный процесс обмена сообщениями, где JADE создает очередь и управляет потоком ACL-сообщений, которые являются приватными для каждого агента. Агенты способны обращаться к очереди с помощью комбинации нескольких режимов своей работы: блокирования, голосования, перерыва в работе и сопоставления с эталоном. На данный момент в системе используется Java RMI, event-notification и IIOP, но легко можно добавить и другие протоколы. Также предусмотрена возможность интеграции SMTP, HTTP и WAP. Большинство коммуникационных протоколов, которые уже определены международным сообществом разработчиков агентных сред, доступны и могут быть показаны на конкретных примерах после определения поведения системы и ее основных состояний. Онтология управления агентами также реализована с поддержкой определенных пользователем контентных языков. С целью существенного расширения работоспособности JADE предусмотрена возможность интеграции с JESS
и Java-оболочкой CLIPS.
JADE предлагает графический интерфейс платформы администрирования с использованием RMA агента. Этот агент показывает состояние агентной платформы (Agent Platform) и предлагает разнообразные инструменты администрирования, исправление ошибок и тестирование приложений, базирующихся на JADE.
Для платформы Jade разработана среда Jadex, которая расширяет возможности Jade в области использования высокоуровневых концепций для создания агента. Собственно Jadex представляет собой BDI расширение мультиагентной платформы Jade. Проект имеет статус open-source - работа над Jadex проводится
Distributed Systems and Information Systems Group Гамбургского университета [10] Разработанное про-
граммное обеспечение доступно под GNU LGPL лицензией и непрерывно развивается.
Средства проектирования МАС
Процесс создания МАС хорошо вписывается в рамки современных технологий разработки и реализации сложных программных систем. Ведь и здесь необходимы такие традиционные этапы, как анализ, проектирование и реализация, отладка и тестирование, моделирование и сопровождение. Несмотря на то, что агент-
– 169 –

Информатика
но-ориентированное проектирование и программирование во многом схожи с объектно-ориентированным подходом, создатели МАС работают со значительно более сложными сущностями (агентами) и на более высоком уровне абстракции, чем при объектно-ориентированном подходе. Все это предъявляет особые требования к инструментальным средствам разработки МАС, которые должны быть более "сообразительными". В настоящее время в технологиях разработки сложных систем наблюдается сдвиг от изолированных инструментов (даже адекватных и мощных) к интегрированным и сбалансированным инструментальным комплексам поддержки всего жизненного цикла разработки. При этом современные тенденции в данной области связываются с интеллектуализацией инструментов на основе использования методов и средств представления и обработки знаний, а также с интеграцией таких интеллектуальных инструментов в общие технологические среды, использующие классические подходы, разработанные и апробированные в программировании.
Вряде статейных публикаций и в Интернете широко представлены различные средства проектирования
иреализации агентов и мультиагентных систем [3,4,5], среди которых определенный интерес вызывает инструментарий INGENIAS Development Kit (IDK). Рассматриваемая среда [6] является разработкой исследовательской группы GRASIA (http://grasia.fdi.ucm.es) и распространяется под GNUGpl лицензией.
Всовокупности IDK представляет собой набор инструментальных средств для описания, проверки и реализации мультиагентных систем. Данная среда разработки функционально замкнута и платформонезависима. Кросс-платформенность обеспечивается за счет реализации на языке Java, а функциональная замкнутость проявляется в том, что среда позволяет осуществлять полный цикл проектирования МАС – от визуального описания до финального моделирования.
Рассматриваемым инструментарием могут пользоваться как начинающие программисты, которым нужно описать свою МАС и сформировать для нее код, так и опытные разработчики, желающие дополнить функционал INGENIAS Development Kit за счет собственных модулей, например, осуществляющих автоматическую генерацию кода или верификацию описания МАС для тех агентных платформ, которые не поддерживаются IDK. Такое возможно за счет удобства доступа к программному интерфейсу IDK. Рассмотрим модули, которые изначально входят в состав IDK:
-HTML модуль. Функция модуля заключается в построении набора HTML файлов на основе описания мультиагентной системы;
-JADE модуль. Преобразует описание МАС в исполняемый код на платформе JADE. На выходе данного модуля разработчик получает набор агентов, поведение каждого из которых описано в метамодели агента, а взаимодействие между ними описано в метамодели взаимодействия;
-JADE Leap модуль. Данный модуль является модификацией JADE-модуля, он позволяет адоптировать разработанную МАС на платформу JADE Leap для последующего использования в мобильных устройствах;
-модуль верификации кода. Модуль проверяет описание МАС на наличие недоопределенных сущностей. При нахождении ошибки указывает их местоположение.
Моделирование МАС осуществляется при использовании Ant Apache XML Parser, который загружает JADE-контейнер и запускает на нем указанную МАС.
INGENIAS Development Kit поддерживает два вида визуального описания: язык AUML[7] и методологию INGENIAS [8]. AUML представляет собой расширение языка UML, специализированное для описания агентно-ориентированных процессов и программного обеспечения. В настоящее время происходит тенденция стандартизации и унификации средств описания таких процессов. Наиболее вероятно, что использование языка AUML станет стандартом описания МАС. Методология INGENIAS основывается на определении набора метамоделей[9] (Рис.1):
-описание поведения каждого агента;
-взаимодействие между агентами;
-организация МАС;
-окружение;
-цели и задачи, определенные для каждого агента.
Организация
Агент |
МАС |
Цели/Задачи |
|
||
|
Взаимодействия |
Окружение |
Рис. 1. Аспекты описания МАС
– 170 –

Информатика
Таким образом, в методологии INGENIAS присутствуют 5 метамоделей, описывающих элементы МАС. Представление МАС, составленное в контексте метамодели, отображается на одноименной диаграмме. Сущности данных метамоделей, т.н. метасущности, не являются уникальными – одна и та же метасущность может появляться в разных диаграммах.
Остановимся на этих метамоделях подробнее:
1)организационная метамодель. Описывается диаграммой организации. Организация – эквивалент архитектуры МАС. Организация имеет структуру и функции. Функции определяются в момент задания целей организации и порядка их исполнения;
2)метамодель окружения. Описывается диаграммой окружения. Окружением является среда выполнения МАС, то, что существенно влияет на восприятие агента. Разработчик МАС должен определить, каким образом его система взаимодействует с окружающими системами. Исходя из этого определяется окружение для конкретной МАС;
3)метамодель целей/задач. Описывает, как меняется состояние агента во времени, как на его состоянии отражается выполнение конкретной задачи, как достигаются цели и что происходит, если цель не может быть достигнута;
4)метамодель агента. Отражает примитивы, описывающие поведение каждого агента. Данная метамодель может быть использована для определения возможностей агента и его состояния.
5)метамодель взаимодействия. Описывает поведение двух и более взаимодействующих агентов. В за-
висимости от языка описания может быть представлена в виде UML-диаграммы кооперации, AUMLдиаграммы или GRASIA-диаграммы взаимодействия.
Полученное посредством представленных метамоделей описание МАС может обрабатываться соответствующими модулями (НTML, Jade, Jade lite, модулем верификации) (Рис.2).
Поведение агентов определяется их целями и задачами, а также взаимодействием между ними. Цели в свою очередь могут разбиваться на более простые подцели, которые могут достигаться определенными планами, последовательностями задач. В методологии INGENIAS любое взаимодействие может иметь одного инициатора и одного или нескольких участников. Поток сообщений в MAС может быть описан диаграммой Grasia или другими диаграммами взаимодействия, такими как UML, Agent UML. В INGENIAS любое взаимодействие начинается с задачи. Совокупность задач и взаимодействий определяет глобальное поведение системы. На основе всего описания системы происходит генерация кода. Полученное описание может быть использовано для создания программного кода МАС под конкретную платформу.
Итак, широта исследований в области мультиагентных систем, сложность архитектуры и многообразие компонент агентов, различные методологии представления МАС породили множество математических и программных средств для их разработки. Каждая группа разработчиков использует «привычные» агентные платформы, «привычные» средства проектирования. Зачастую начинающим осваивать агентные технологии трудно разобраться в этом многообразии идей, программ, платформ и т.п. Еще более сложная задача стоит перед преподавателями, в задачу которых входит создание учебных дисциплин, связанных с агентными технологиями. На наш взгляд, динамично развивающаяся агентная платформа JADE в совокупности с Jadex, являющейся воплощением BDI для JADE, и инструментарием INGENIAS Development Kit может стать основой программного обеспечения для преподавания агентноориентированных дисциплин.
СПИСОК ЛИТЕРАТУРЫ
1.Заболсева-Зотова А.В. Применение агентно-ориентированной технологии к синтезу новых технических систем / А.В. Заболсева-Зотова, М.В. Набока // Качество. Инновации. Образование. – 2004. – №1.
2.The Foundation of Physical Intelligent Agents // http://www.fipa.org/
3.Shoham Y. Agent Oriented Programming // Artificial Intelligence, 1993, pages 51-92.
4.Coulier Wim MESSAGE: a Methodology for the Development of Agent-based Applications/ Wim Coulier, Francisco Garijo, Jorge Gomez, Juan Pavón, Paul Kearney and Philip Massonet //Methodologies and Software Engineering for Agent Systems—The Agent-Oriented Software Engineering Handbook, Kluwer, 2004, pages 177-194.
5.Городецкий В.И. Многоагентные системы: современное состояние исследований и перспективы развития /В.И. Городецкий// Сб. докл. V национальной конференции «Искусственный интеллект - 96», Т.1. Ка-
зань, 1996, С. 36-45.
6.INGENIAS Development Kit (IDK) http://ingenias.sourceforge.net
7.Bauer B. Agent UML: A Formalism for Specifying Multiagent Interaction./ B. Bauer, Jorg P. Muller, and J. Odell //Ciancarini and M. Wooldridge, editors, Agent-Oriented Software Engineering, Springer, Berlin, 2001, pages 91-103.
8.Pavón J. The INGENIAS Methodology and Tools / J. Pavón, J. Gómez-Sanz & Rubén Fuentes //Agent-Oriented Methodologies, Brian Henderson-Sellers & Paolo Giorgini (eds.), Idea Group Publishing, 2005, pages 236-276.
–171 –

Информатика
9.Ferber J. A Meta-Model for the Analysis and Design of Organizations in Multi-Agent Systems / J. Ferber and O. Gutknecht // Proceedings of the Third International Conference on Multi-Agent Systems (ICMAS98), IEEE CS Press,1998.
10.http://vsis-www.informatik.uni-hamburg.de/projects/jadex/.
THE ANALYSIS OF MEANS OF MULTI-AGENT SYSTEMS DEVELOPMENT
D.A. Kuzmin, D.G. Selutin, L.I. Pokidysheva
The means of designing of multi-agent systems positioned, as the projects with an open initial code - an agent platform JADE, based on the specification FIPA and toolkit of designing IDK are described in the article. The opportunities of the submitted means are shown in the area of use of highlevel concepts for creation of the agents.
– 172 –