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

РАЗРАБОТКА ПРОГРАММНЫХ АГЕНТОВ В ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ AGENT DEVELOPMENT KIT

Зудикова Ю.В., Федяев О.И.

Донецкий национальный технический университет


Источник: Зудикова Ю.В., Федяев О.И. Разработка программных агентов в инструментальной среде Agent Development Kit / Ю.В. Зудикова, О.И. Федяев // Комп'ютерний моніторінг та інформаційні технології - 2009 / Матеріали V науково-технічної конференції студентів,аспірантів та молодих науковців. - Донецьк, ДонНТУ - 2009, с. 272-274.


Теория многоагентных систем породила новую и перспективную концепцию организации сложных программ, действующих в динамических и открытых средах и охватывающих такие сферы применения, как электронная коммерция и другие системы с распределенным искусственным интеллектом. Существует множество технологий и инструментальных средств различного качества для автоматизации создания агентно-ориентированных приложений. Данная работа посвящена рассмотрению основных возможностей одной из первых успешных инструментальных сред Tryllian Agent Development Kit [1].

Компания Tryllian разработала собственную технологию построения прикладных программ с применением мобильных агентов. На основе этой технологии создана инструментальная среда Agent Development Kit (ADK), позволяющая разработчикам писать собственные агентно-ориентированные прикладные программы.

На рис. 1 представлены архитектура и основные концепции мира агентов в представлении Tryllian. Среда ADK объединяет два важных компонента: Agent Foundation Classes (AFC) и Agent Runtime Environment (ARE). Компонент AFC инкапсулирует всю базовую функциональность компонента ARE, достаточную для разработки агентов в подавляющем числе случаев. Для работы среды ADK требуется Java Runtime Environment 1.3+.

Архитектура системы ADK
Рис. 1. Архитектура системы ADK

Компонент AFC предоставляет инструменты, библиотеки, интерфейсы, классы, API и примеры для создания агентно-ориентированных приложений на языке Java. Используя классы AFC можно создавать новых агентов, описывать задачи агентов, создавать сообщения для взаимодействия агентов, новые языки общения агентов.

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

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

Среда ADK предоставляет агентам возможность взаимодействовать друг с другом посредством обмена сообщениями по протоколам FIPA, JXTA, HTTP с использованием JMS и разрабатываемых языков общения, основанных на FIPA Agent Communication Language – международном стандарте взаимодействия агентов. Структура сообщений определяется стандартами FIPA (Federation of Intelligent Physical Agents) [2]. Мобильность представляет собой способность агентов перемещаться между окружениями и платформами для выполнения задач, перенося с собой свой код и состояние. Под безопасностью понимается сертификация агента, т.е. наделение его определенным набором прав, ограничивающим его действия в окружении. Устойчивость агентов подразумевает с помощью средств компонента ARE возможность сохранения в базе данных состояния агента перед закрытием окружения и его восстановления из базы данных при последующем запуске окружения. Среда ADK поддерживает работу с такими СУБД, как Oracle, MS-SQL, MySQL, DB2 и другие.

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

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

Фазы поведения агента
Рис. 2. Фазы поведения агента

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

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

Агентно-ориентированное приложение в среде ADK требует создания агентов (написания кода агентов на языке Java), описания их поведения (указания задач), определения окружения и способа взаимодействия агентов. Среда ADK предоставляет удобные инструменты для создания всех файлов проекта и управления приложением.

Литература:
  1. C. Karman. The Use of Tryllian Mobile Agent Technology in Military Applications. The RTO IST Symposium on “Technology for Evolutionary Software Development”, Bonn, Germany, 2002.
  2. Официальный сайт FIPA / http://www.fipa.org

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