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

кандидата технических наук
Болдырев, Евгений Викторович
город
Красноярск
год
2005
специальность ВАК РФ
05.13.17
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Агентный подход к созданию приложений параллельного поиска информации в распределенной системе разнородных баз данных»

Автореферат диссертации по теме "Агентный подход к созданию приложений параллельного поиска информации в распределенной системе разнородных баз данных"

На правах рукописи

Болдырев Евгений Викторович

АГЕНТНЫЙ ПОДХОД К СОЗДАНИЮ ПРИЛОЖЕНИЙ ПАРАЛЛЕЛЬНОГО ПОИСКА ИНФОРМАЦИИ В РАСПРЕДЕЛЕННОЙ СИСТЕМЕ РАЗНОРОДНЫХ БАЗ ДАННЫХ

05.13.17 - Теоретические основы информатики

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Красноярск - 2005

Работа выполнена в Красноярском государственном техническом университете

Научный руководитель: кандидат технических наук, Кирякова Г.С.

доцент

Официальные оппоненты: доктор технических наук, Доррер Г. А.

профессор

кандидат технических наук, Цибульский Г.М. профессор

Ведущая организация: Институт вычислительного моделирования СО РАН,

г.Красноярск

Защита состоится «15» ноября 2005 г. в 14й0 часов на заседании диссертационного совета К212.098.02 в Красноярском государственном техническом университете по адресу: 660074, г. Красноярск, ул. Киренского, 26, ауд. Г4-17, тел. 49-73-81, факс (8-3912)49-79-90.

С диссертационной работой можно ознакомиться в научной библиотеке Красноярского государственного технического университета.

Автореферат разослан « И » октября 2005 г.

Ученый секретарь

диссертационного Совета, кандидат технических наук, профессор

Н. Г. Кузьменко

flßOM тдц

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность проблемы. Мир меняется, и изменяются приоритеты развития общества. Использование информационных технологий ускоряет этот процесс. Информация рассматривается как товар, её роль, как товара, возрастает, при этом ценность информации зависит от сроков получения и затрат на её обработку. Рост сложности и объемов информации делает актуальными вопросы поиска новых подходов доступа к ней, так как использование традиционных технологий приводит к увеличению сроков и стоимости разработки программных средств доступа к информации. Имеющиеся системы обеспечивают поиск в источниках информации одного типа, оставляя без внимания другие. Например, такие системы как Яндекс, Рамблер, Google, Yahoo обеспечивают поиск информации в базах ключевых слов, соответствующих определенным HTML-страницам, остальная же информация (аудио-, видеоданные и другие данные, отличные от HTML-страниц) находящаяся на серверах в сети Интернет остается без внимания. Это определяет актуальность работ в области разработки более эффективных методов построения систем доступа к распределенной разнородной информации.

В работе рассматривается организация доступа к информации и поиск еб в разнородных базах данных. Для этого предлагается использовать технологию программных агентов и мультиагентных систем.

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

Достижение этой цели предполагает решение следующих задач:

• обзор и систематизация существующих методов построения рассматриваемых систем;

• проведение сравнительного анализа методов построения и определение наиболее оптимального их них;

• предложение архитектуры и алгоритмов системы параллельного поиска информации в распределенных системе разнородных баз данных;

• реализация прототипа системы поиска и оценка эффективности её работы.

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

1. Использование агентного подхода для минимизации затрат на поиск и обработку информации в распределенной системе разно

2. Разработана методика проектирования приложений с использованием агентных технологий, в том числе способных работать па устройствах ограниченными возможностями (сотовые телефонов и PDA).

3. Разработаны функциональные модели и алгоритмы системы параллельного поиска информации в распределенной системе разнородных баз данных.

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

Апробация работы. Основные положения диссертации докладывались на Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям (Новосибирск, 2004), Межвузовской конференции «Информатика и информационные технологии» (Красноярск, 2003-2004), Всероссийской научно-методической конференции «Повышение качества непрерывного профессионального образования» (Красноярск, 2005) и обсуждались на международной конференции «Parallel Computing (РаСТ-2005)» (Красноярск, 2005).

Сведения о внедрении. Агентная система поиска информации в системе распределенных баз данных внедрена в учебный процесс в Красноярском Государственном Техническом Университете (акт о внедрении от 15.06.2005) и в ООО «Мобилон» (акт о внедрении от 22.07.2005), организации, занимающейся предоставлением услуг IP-телефонии и широкополосного доступа в Интернет.

Публикации. По результатам работы опубликована депонированная статья в ВИНИТИ (рег.№ 236-В2005), статья в журнале «Вычислительные технологии» (Новосибирск, 2005), а также б докладов на Всероссийских и межвузовских конференциях.

Структура работы. Диссертационная работа состоит из введения, шести глав, заключения и библиографического списка использованных источников. Она содержит 107 страниц основного текста, 29 рисунков и 4 таблицы, расположенных в тексте диссертации. Список литературы включает 123 наименование.

СОДЕРЖАНИЕ РАБОТЫ

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

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

Предпосылки применения агентного подхода. Рассмотрим следующий пример: клиент хочет стереть с удаленного сервера все файлы, которые были созданы более чем два месяца назад. Если решать эту задачу с помощью классического клиент-серверного подхода, то клиенту придется выполнить +1) вызовов (1 — для получения данных о файлах, N - для удаления N файлов). Таким образом, всего по сети будет передано 2(ЛГ+1) сообщений ((#+ 1) запросов и (#+1) ответов). Рассмотрим другой подход к решению этой задачи: клиент (человек, программа) создает процедуру (другую программу), которая анализирует файлы сервера и удаляет файлы, удовлетворяющие заданному в ней критерию. Затем клиент передает эту процедуру для выполнения на удаленном сервере. При таком подходе по сети передается два сообщения (передача процедуры и возврат результатов ее работы). Будем называть такую перемещаемую процедуру (программу) мобильным агентом. Удаленное взаимодействие заменяется локальным, и уменьшается зависимость от работы сети, уменьшается трафик. Второе преимущество этого метода — расширение функциональности сервера. Серверные компоненты клиент-серверного приложения должны быть статически инсталлированы, в то время как серверные компоненты приложения, использующего второй подход, динамически инсталлируются агентами.

Можно рассмотреть пример, в котором клиент хочет взаимодействовать с несколькими серверами. Пусть существует М таких серверов и к каждому из них клиент делает Ы, обращений. При использовании клиент-серверного подхода имеем 2(0^1 +1) + (#2 + +1)) сообщений. Если воспользоваться агентным подходом,

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

закончить работу В случае использования клиент-серверного подхода, анализ получаемых от серверов результатов ложится на клиента. Если агент последовательно "обходит" все сервера, по сети будет передано (М +1) сообщение.

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

Рисунок 1 - Классы решаемых задач Классическая клиент-серверная архитектура работает хорошо, если есть только один сервер (одна БД), а клиентские приложения совершают четко определенные простые действия с данными. Однако, по мере возрастания сложности системы - когда количество серверов, источников данных и количество пользователей возрастает, число и алгоритмическая сложность приложений увеличивается, клиент-серверная система очень быстро исчерпывает возможности по развитию. По мере возрастания сложности клиентского приложения увеличивается и его размер. По мере возрастания размера приложения возрастают требования к клиентскому компьютеру, его вычислительной мощности, размеру оперативной и долговременной памяти. А поскольку количество пользователей в системе также имеет тенденцию к росту, должна увеличиваться мощность серверной аппаратуры.

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

Области применения программных агентов обширны, в зависимости от класса решаемых задач (Рисунок 1).

Использование агентных технологий позволяет:

• Упростить процессы размещения (deployment) программного обеспечения в условиях сети, автоматизируя процессы перемещения программного кода, его установки и конфигурирования;

• Упростить процессы обновления программного кода, заменяя неактивные в данный момент компоненты новыми версиями, сохраняя при этом ассоциированные с компонентом данные, совершенно прозрачно для работы всей системы в целом;

• Упростить удаленный доступ и управление в условиях сети, в том числе с использованием мобильных устройств, таких как сотовые телефоны и PDA;

• Перейти на качественно новый способ работы с данными как со знаниями, учитывая контекст существования информации за счет использования онтологий;

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

• Уменьшить влияние качества и латентяости каналов связи за счет возможности асинхронной обработки данных по следующим схемам: 1) отправили запрос агенту на обработку - отключились от сети - подключились к сети - получили результаты обработки, 2) отправили запрос - выполняем другую работу - получили уведомление о завершении обработки - запросили результаты обработки;

• Балансировать нагрузку между несколькими вычислительными ресурсами и вести параллельную обработку данных за счет возможности коммуникация между агентами и возможности перемещения кода агента на другие агентные платформы;

• Значительно сократить время и затраты на администрирование за счет возможности коммуникаций между агентами и перемещения их кода;

• Ввести персонифицированную обработку данных, ориентируясь на предпочтения пользователя;

• Упростить разработку программного обеспечения за счет возможности повторного использования уже существующего программного обеспечения и параллельной разра-

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

Выполнено сравнение клиент-серверного и агентного подходов и их оценочная классификация. Оцепки были получены в результате опроса экспертов в области разработки программного обеспечения н профессиональных программистов, занимающихся в данный момент разработкой распределенной информационной системы поддержки бизнес-процессов промышленного предприятия PRO VIS Process Visualization System. По результатам оценки сделан вывод, что агентный подход превосходит клиент-серверный по большинству признаков, проигрывая лишь в пригодности работы в реальном времени и в простоте разработке.

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

Введем понятия агента и агентной системы, которыми будем пользоваться в дальнейшем в диссертационной работе:

Агент - это программа, которая выполняется автономно соответственно поведению, заложенному в неё разработчиком или её хозяином, в качестве которого может выступать как человек, так и другая программа, способная определят, аспекты функционирования агента. Модель агента приведена на рисунке 2:

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

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

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

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

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

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

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

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

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

Множество агентов образуют агентвую систему. Некоторые варианты моделей архитектур агентных систем отображены на рисунках 3.1-3.2.

Рисунок 3.1- Мультиагентная архитектура Рисунок 3.2 - Архитектура системы с общей

памятью

Агент может обладать следующими свойствами:

• автономность - агенты могут выполнять свои задачи без непосредственного вмешательства клиентов или других агентов;

• интероперабельность - при возникновении потребности агенты взаимодействуют с другими агентами или людьми с целью получения или оказания помощи в решении задачи;

• мобильность — способность перемещаться между различными узлами сети во время выполнения; агенты, не обладающие этим свойством, называются статическими;

• реактивность - агенты реагируют на изменения среды в реальном времени, обычно их деятельность описывается следующим образом: WHEN event IF condition THEN action;

• проективность - способность решать задачи (достигать цели); в отличие от реактивных агентов, они не просто реагируют на изменения среды, но и сами ее опрашивают;

• способность существовать как постоянно выполняющийся процесс и иметь собственный поток управления;

• способность выполняться от имени некоторого владельца;

• гибкость - действия агентов не фиксированы жестко;

• интеллектуальность (обучаемость) - способность находить новые решения; такие агенты могут изменять свое поведение, используя как свой опыт, так и опыт других агентов.

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

Множество состояний S = {s'.j2.....i"}, в которых может пребывать агент и переходы R = ^г1,г3,..У}, между ними составляют жизненный цикл агента L = Обоб-

агентной системе Жизненный цикл агента включает в себя:

• Создание агента (Agent Creation)- исходная точка, с которой начинается существование агента

• Принятие решения (Making Décision) - основное состояние агента

• Ожидание задания (Waiting for task) - состояние пассивного ожидания задания

• Выполнение задания (Task Execution) - активное состояние

• Возврат результатов (Resuits Return)- передача результатов обработки агенту-инициатору, запросившему выполнение задания

• Делегирование задания (Delegate)- передача всего задания или его части одному или нескольким агентам

• Ожидание результатов (Waiting for Resuits) - ожидание результатов обработки делегированных задач

• Клонирование (Clone) - создание собственной копии, выполняющейся параллельно оригиналу

• Перемещение (Move) - перемещение собственного тела на другую вычислительную платформу

• Приостановка (Suspend)—временная остановка для экономии ресурсов вычислительной платформы

• Взаимодействие со средой (Environment Interaction) - запросы к датчикам и мониторинг состояния среды

• Уничтожение (Terminate) - завершающий этап жизненного цикла агента.

Для обеспечения процессов интероперабельности агенты должны иметь возможность общения. В рамках данной работы предлагается использовать для этого язык взаимодействия агентов (Agent Communication Language, ACL) предложенный организацией FIPA.

В ACL присутствует жесткое разделение между целью сообщения и его содержанием. Сообщение может иметь только ограниченный набор целей. Например, целью сообщения может быть запрос на предоставление получателем определенной службы. Также целью сообщения может быть ответ на ранее присланное сообщение с запросом. Другим примером цели сообщения может быть уведомление принимающей стороны о произошедшем событии или предложение чего-либо в ходе согласования. Некоторые из целей сообщений на языке ACL, разработанные FIPA, перечислены в таблице 1. Идея ACL состоит в том, что агент-отправитель и агент-получатель как минимум одинаково понимают цель сообщения. Более того, цель сообщения обычно определяет и реакцию получателя. Так, например, при запросе предложения путем сообщения, имеющего в заголовке цель CFP, получатель на самом деле должен будет послать предложение, посредством сообщения с целью PROPOSE. В этом смысле ACL действительно определяет высокоуровневый коммуникационный протокол для набора агентов.

Таблица 1. Варианты целей ACL сообщения

Цель сообщения Описание Содержание сообщения

INFORM Информировать, что данное предположение истинно Предположение

QUERY-IF Запросить, истинно ли данное предположение Предположение

CFP Запросить предложение Зависит от предложения

PROPOSE Предоставить предложение Предложение

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

Необходимо, чтобы принимающему агенту была предоставлена вся необходимая информация для правильной интерпретации содержания. Для этого заголовок сообщения ACL должен также определять язык или схему декодирования содержания. Этот подход хорошо работает до тех пор, пока отправитель и получатель одинаково интерпретируют данные, или, точнее, символы сообщения. Если единое понимание отсутствует, нередко требуются дополнительные поля, идентифицирующие стандартное отображение символов в их смысл. Такое отображение обычно называется онтологией (ontology).

В таблице 2 приведен пример значений полей, в котором агент weather информирует своего подписчика subscriber о том, что сейчас идет дождь.

Таблица 2. Пример значений полей сообщения на языке ACL

Поле Значение

Цель INFORM

Отправитель weather®.htto://poeoda.ru:3520

Получатель subscriberiffiiioD://home.user.com:5623

Язык Prolog

Онтология Weather

Содержимое Weather(Now, Raining)

Пример реального сообщения на языке ACL: (inform

:sender (agent-identifier :name weather@http://pogoda.rn:3520) :receiver (set (agent-identifier :name subscriber@iiop://home.user.com:5623)) : content

"weather (now, raining)" :langnage Prolog)

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

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

Рисунок 5 - Уровни представления системы При этом каждой компонент системы (агент):

1) может разделяться любым количеством прикладных систем;

2) может работать на одной или сразу на нескольких вычислительных машинах;

3) взаимодействует друг с другом через общий интерфейс, который скрывает детали реализации соответствующей логики.

Для выбора количества и типов агентов, входящих в агентную систему, рассмотрим алгоритм работы этой системы (рисунок б) и выделим основные его блоки:

Исходя из представленного алгоритма, можно произвести распределение ролей между агентами следующим образом:

1. Блоки 3 и 4 должны выполняться агентами доступа к базам данных А^, которые целесообразно располагать на серверах с БД;

2. Формирование запросов и обработка ответов в блоках 2 и 5 возложим на промежуточного агента-обработчика А0, местоположение которого целесообразно определять исходя из качества каналов связи, при этом, в случае необходимости (при большом объеме запросов, высокой нагрузке на каналы связи), агентов обработчиков может быть несколько;

3. Пользовательский интерфейс, используемый в блоках 1 и б, возложим на интерфейсных агентов АЁ, располагающихся непосредственно на локальной машине клиента, либо на его мобильном терминале (сотовом телефоне, PDA).

Q Начало ^

1

/ Ввод j / пользователем / 1 запроса / Передача результатов от каяадой БД

2 5

Формирование запросов к разным БД Формирование и передача ответа

а в

Выполнение запроса х БД / Вывод / пользователю / / результата /

С

Конец

J

Рисунок 6 - Алгоритм работы системы Полученное распределение обязанностей агентов складывается в архитектуру системы, общая схема которой показана на рисунке 7.

Лотка доступа к данным

Авд1 --» MySQL

Авд2 ч-»■ Postgress

Рисунок 7 - Предлагаемая архитектура агентной системы поиска информации

Алгоритмы работы архитектурных компонентов системы (интерфейсного агента, агента-обработчика и агента доступа к БД) приведены на рисунках 8.1-8.3 соответственно.

3 ( » ) ( Начало )

с

с

3

Передача личных данных на доску объявлений

Рисунок 8.1- Алгоритм ра- Рисунок 8.2 - Алгоритм работы интерфейсного агента боты агента-обработчика

Рисунок 8.3 - Алгоритм работы агента доступа к БД

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

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

Рассмотрены существующие программные реализации агентных платформ и выполнен их анализ (Таблица 3).

^~\Платформы Параметры —^ SMART D'Agents Grasshopper Aglets JADE

Соответствие FIPA - - + - +

Соответствие MASIF + - + - -

Язык реализации Java c++- Java Java Java

Язык агентов Java Java, Tel, Scheme Java Java Java

Протоколы коммуникации MASIF HOP IP Sockets CORBA HOP MASIF IIOP RMI IP Sockets ATP HTTP RMI IIOP JICP

Протоколы безопасности - - ACL SSL - ACL SSL

Поддержка устройств с ограниченными ресурсами - - - - CDC CLDC (через LEAP)

Поддержка модели BDI (вера-цель-намерение) - - - - через JADEX

Открытый исходный код - + - - +

На основании проведенной классификации был сделан вывод о целесообразности использования системы JADE в рамках данной работы.

В пятой главе освещаются вопросы проектирования системы с использованием языка Java и платформы JADE. Особое внимание уделяется вопросам работы системы на устройствах с ограниченными возможностями и проблемам локализации. Разработаны алгоритмы реализации правил поведения, коммуникаций и управления агентами на платформе JADE. Кроме того, разработаны алгоритмы доступа к базам данных с мобильных телефонов и PDA. Особенность разработки связана с необходимостью преобразования форматов данных для использования в мобильных устройствах для корректного представления русскоязычной информации.

В тестой главе приводятся результаты экспериментальных испытаний системы и оценка эффективности ей применения в условиях работы оператора IP-телефонии ООО

«Мобилон», предоставляющего услуги местной, междугородней и международной телефонной связи используя технологию пакетной коммутации данных (IP-телефонию). Результаты эксперимента представлены в таблице 4.

Таблица 4. Результаты экспериментального исследования работы агентной системы в ООО «Мобилон» для одного шлюза IP-телефонии VocalTec VTGW120

\ Средний Средние Средняя за- Суммарная за- Интервал

Параметры объем затраты на держка, держка следо- получе-

трафика, трафик, вносимая в вания пакета ния дан-

Подходы Мб/день руб/день разговор, мс данных, мс ных, мин

Клиент-серверный подход 384 691,2 85 136 30

Агентный подход 12 21,6 5 70 1

Результаты эксперимента показали значительное снижение трафика (и затрат на

него) в среднем в 32 раза, снижение задержек с 85 мс до 5 мс, что обеспечило значительное улучшение качество речи, повышение актуальности представления информации с 30

минут до 1 минуты, и экономию 1339,2 рублей в день для двух шлюзов 1Р-телефонии.

ОСНОВНЫЕ ВЫВОДЫ

1. В целях минимизации затрат на поиск и обработку информации в распределенной системе разнородных баз данных был применен агентный подход.

2. Разработана методика проектирования приложений с использованием агентных технологий, в том числе способных работать на устройствах ограниченными возможностями (сотовые телефонов и PDA).

3. Разработаны функциональные модели и алгоритмы системы параллельного поиска информации в распределенной системе разнородных баз данных.

4. Выполнена программная реализация мультагентной системы поиска информации в распределенной системе разнородных баз данных на платформе JADE.

5. Анализ функционирования системы с использованием мобильных устройств показал, что использование агента на платформе CLDC (мобильном телефоне) требует использования специальных классов-посредников для системы JADE.

6. Экспериментально подтверждена эффективность разработанной агентной системы поиска информации.

СПИСОК ОПУБЛИКОВАННЫХ РАБОТ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Болдырев, В. В. Использование агентных технологий в образовательном процессе. / Е.В. Болдырев. // Материалы Всероссийской научно-методической конференции «Повышение качества непрерывного профессионального образования» - Красноярск, 2005 - С.249-252

2. Болдырев, Е. В. Архитектуры мультиагентных систем. / Е.В. Болдырев. Депонирована в ВИНИТИ №236-В2005.

3. Болдырев, Е. В., Кирякова, Г.С., Шилкин, А.В. Агентный подход к проектированию сетевых приложений поиска информация. / Е. В. Болдырев, Г. С. Кирякова, А В. Шилкин. // Журнал «Вычислительные технологии» - Новосибирск, 2005.

4. Болдырев Е. В. Анализ архитектур мультиагентных систем. / Е. В. Болдырев. // Тезисы V Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям. - Новосибирск, 2004 - С.41-42

5. Болдырев Е. В. Модели интеллектуальных программных агентов. / Е. В. Болдырев. // Материалы Межвузовской конференции «Информатика и информационные технологии». - Красноярск, 2004 - С.13-18

6. Болдырев Е. В. Мобильные технологии электронного образования. / Е.В. Болдырев. // Материалы Всероссийской научно-методической конференции «Совершенствование систем управления качеством подготовки специалистов». - Красноярск, 2004. - С.25-

7. Болдырев Е. В. Математическая модель программного агента. / Е. В. Болдырев. // Материалы Межвузовской конференции «Информатика и информационные технологии». - Красноярск, 2004 - С.19-20

8. Болдырев Е. В. Что такое 1Р-телефония. / Е.В. Болдырев. // Сборник студенческих научных статей. Издано при поддержке ФЦП "Интеграция", проект ЖГ20-07. - Красноярск, 2002г.-С.4-11

29

Е.В. Болдырев

РНБ Русский фонд

2006-4 21294

Подписано в печать 10 ¿OOS Формат бумаги 60x84 1/16 Усл.печ. л. 1.0 Тираж 100 экз. Заказ № 2/S

Отпечатано на ризографе КГТУ 660074, г.Красноярск, ул.Киренского, 26

Оглавление автор диссертации — кандидата технических наук Болдырев, Евгений Викторович

Введение.

Актуальность проблемы.

Цель работы.

Задачи работы.

Методы исследования.

Научная новизна.

Теоретическая значимость.

Практическая ценность.

Апробация работы.

Сведения о внедрении.

Публикации.

Структура работы.

Глава 1. Подходы к построению систем доступа к данным.

1. Клиент-серверный подход.

2. Агентный подход.

2.1. Классы решаемых задач.

2.2. Преимущества применения.

2.3. Предпосылки применения.

Глава 2. Теория агентных систем.

1. Основные понятия.

2. Варианты архитектур.

3. Понятие агента.

4. Архитектура агента.

5. Модель жизненного цикла агента.

Глава 3. Проектирование системы параллельного поиска информации в системе распределенных баз данных с использованием агентного подхода.ЗО

1. Декомпозиция задачи.

2. Построение модели.

3. Выявление факторов, которые могут повлиять на агента.

4. Выбор агентной платформы.

5. Адаптация построенной модели.

6. Разработка функциональности агентов.

7. Разработка схем взаимодействия и выбор языков общения.

8. Программная реализация.

Глава 4. Варианты реализации системы на основе разработанных алгоритмов и архитектур.

1. Языковые средства разработки.

2. Технологии реализации распределенных вычислений.

3. Стандарты агентных систем.

3.1. FIPA.

3.2. MASIF.

4. Инструментальные средства разработки.

4.1. SMART.

4.2. D'Agents.

4.3. Grasshopper.

4.4. Aglets.

4.5. JADE.

5. Сравнительный анализ инструментальных средств разработки.

Глава 5. Реализации системы с использованием языка Java и агентной платформы JADE.

1. Обзор платформы JADE.

1.1. Контейнеры и платформы.

1.2. Служба каталогов и система управления агентами.

1.3. Создание агента.

1.4. Жизненный цикл агента.

1.5. Начало выполнения агента.

1.6. Поиск и регистрация агентов.

1.7. Коммуникационные модели.

1.8. Язык общения агентов ACL.

1.9. Организация взаимодействия агентов.

1.10. Постановка задач на выполнение агенту.

1.11. Завершение выполнения агента.

2. Поддержка устройств с ограниченными возможностями (CLDC).

3. Реализация системы поиска информации.

3.1. Средства разработки.

3.2. Подготовка служебных файлов и папок проекта.

3.3. Создание агента.

3.4. Отладка агентов.

4. Локализация и поддержка русского языка.

Глава 6. Экспериментальные исследования.

1. Описание условий эксперимента.

2. Полученные результаты.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Болдырев, Евгений Викторович

Актуальность проблемы

Мир меняется, и изменяются приоритеты развития общества. Использование информационных технологий ускоряет этот процесс. Информация рассматривается как товар, её роль, как товара, возрастает, при этом ценность информации зависит от сроков получения и затрат на её обработку. [1,2] Рост сложности и объемов информации делает актуальными вопросы поиска новых подходов доступа к ней, так как использование традиционных технологий приводит к увеличению сроков и стоимости разработки программных средств доступа к информации. Имеющиеся системы обеспечивают поиск в источниках информации одного типа, оставляя без внимания другие. Например, такие системы как Яндекс, Рамблер, Google, Yahoo [87] обеспечивают поиск информации в базах ключевых слов, соответствующих определенным HTML-страницам [119], остальная же информация (аудио-, видеоданные и другие данные, отличные от HTML-страниц) находящаяся на серверах в сети Интернет остается без внимания. Это определяет актуальность работ в области разработки более эффективных методов построения систем доступа к распределенной разнородной информации.

В работе рассматривается организация доступа к информации и поиск её в разнородных базах данных. Для этого предлагается использовать технологию программных агентов и мультиагентных систем.

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

Достижение этой цели предполагает решение следующих задач:

• обзор и систематизация существующих методов построения рассматриваемых систем;

• проведение сравнительного анализа методов построения и определение наиболее оптимального их них;

• предложение архитектуры и алгоритмов системы параллельного поиска информации в распределенных системе разнородных баз данных;

• реализация прототипа системы поиска и оценка эффективности её работы.

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

Научная новизна:

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

2. Разработана методика проектирования приложений с использованием агентных технологий, в том числе способных работать на устройствах ограниченными возможностями (сотовые телефонов и PDA).

3. Разработаны функциональные модели и алгоритмы системы параллельного поиска информации в распределенной системе разнородных баз данных.

Практическая ценность диссертации

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

Апробация работы

Основные положения диссертации докладывались на Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям (Новосибирск, 2004), VIII Всероссийской конференции «Проблемы информатизации региона» (Красноярск, 2003), Межвузовской конференции «Информатика и информационные технологии» (Красноярск, 2003-2004), Всероссийской научно-методической конференции «Повышение качества непрерывного профессионального образования» (Красноярск, 2005) и обсуждались на международной конференции «Parallel Computing (РаСТ-2005)» (Красноярск, 2005).

Сведения о внедрении

Агентная система поиска информации в системе распределенных баз данных внедрена в учебный процесс в Красноярском Государственном Техническом Университете (акт о внедрении от 15.06.2005) и в ООО «Мобилон» (акт о внедрении от 22.07.2005), организации, занимающейся предоставлением услуг 1Р-телефонии.

Публикации

По результатам работы опубликована депонированная статья в ВИНИТИ (рег.№ 236-В2005), статья в журнале «Вычислительные технологии» (Новосибирск, 2005), а также 7 докладов на Всероссийских и межвузовских конференциях.

Структура работы

Диссертационная работа состоит из введения, шести глав, заключения и библиографического списка использованных источников. Она содержит 107 страниц основного текста, 29 рисунков и 4 таблицы, расположенных в тексте диссертации. Список литературы включает 123 наименования.

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

Заключение

1. В целях минимизации затрат на поиск и обработку информации в распределенной системе разнородных баз данных был применен агентный подход.

2. Разработана методика проектирования приложений с использованием агентных технологий, в том числе способных работать на устройствах ограниченными возможностями (сотовые телефонов и PDA).

3. Разработаны функциональные модели и алгоритмы системы параллельного поиска информации в распределенной системе разнородных баз данных.

4. Выполнена программная реализация мультиагентной системы поиска информации в распределенной системе разнородных баз данных на платформе JADE.

5. Анализ функционирования системы с использованием мобильных устройств показал, что использование агента на платформе CLDC (мобильном телефоне) требует использования специальных классов-посредников для системы JADE.

6. Экспериментально подтверждена эффективность разработанной агентной системы поиска информации.

Библиография Болдырев, Евгений Викторович, диссертация по теме Теоретические основы информатики

1. Таненбаум Э. Распределенные системы. Принципы и парадигмы. / Э. Танненбаум, М. Ван Стеен. - СПб. Литер, 2003.

2. Гаврилова Т.А., Базы знаний интеллектуальных систем. / Т.А.Гаврилова, В.Ф.Хорошевский. СПб. Литер, 2000.

3. Карсаев О. Java и Web во встроенных приложениях // О.Карсаев. Журнал «Открытые системы» №2.

4. В.Городецкий, О.Карсаев, В.Самойлов. Многоагентная технология принятия решений в задачах объединения данных. // Труды СПИИРАН, №1, 2003.

5. Городецкий В. Свойства моделей координации поведения агентов и модель планирования на основе аукциона // Труды международной конференции DIAMAS' 97, С.-Петербург, 1997.

6. Искусственный интеллект. Справочник, книга 2., Модели и методы, М.:Радио и связь, 1990.

7. Цибульский Г.М. Мультиагентный подход к анализу изображений / Г.М.Цибульский. Новосибирск, 2005.

8. V.Gorodetski, O.Karsayev, V.Samoilov. Generic Agent and Software Agent Technology Support. Proceedings of the conference "China-Russia Bilateral Conference on Intelligent Information Processing", December 58, 2002, Beijing, China, pp. 1-10.

9. V.Gorodetski, O.Karsayev, V.Samoilov. Distributed Data Mining for Data Fusion: Multi-agent Approach. Proceedings of the conference "China

10. Russia Bilateral Conference on Intelligent Information Processing", December 5-8, 2002, Beijing, China, pp.63-72.

11. FRANKLIN, S., GRAESSER, A., 1996. A Taxonomy for Autonomous Agents. In Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag.

12. KOTZ, D.,Gray, R.S.,1999. Mobile Agents and the Future of the Internet. Mobile Agents Workshop in the Context of Competition and Cooperation (MAC3) at Autonomous Agents, Seattle, Washington, USA.

13. GRAY, R.S., CYBENKO, G., KOTZ, D., PETERSON, R.A. AND RUS, D. 2002. D'Agents: Applications and performance of a mobile agent system. Software: Practice and Experience. Vol 35. Number 6.

14. ARIDOR, Y. AND LANGE, D.B. 1998. Agent Design Patterns: Elements of Agent Aplication Design. In Proceedings of the Second International Conference on Autonomous Agents. Minneapolis/St. Paul, USA.

15. MILOJICIC, D. 1999. Trend Wars Mobile Agent Applications. IEEE Concurrency. Vol. 7. No. 3. 80 90.

16. FIPA: THE FOUNDATION FOR INTELLIGENT AGENTS. 2000. http://www.fipa.org/specifications.

17. CALISTI,. M. 2003. FIPA standards for promoting interoperability of industrial agent systems. FIPA Presentation, Agentcities, Information Days. Barcelona, Spain. .

18. WONG, J., HELMER, G., NAGANATHAN, V., POLAVARAPU, S., HONOVAR, V. AND MILLER, L. 2001. SMART mobile agent facility. The Journal of Systems and Software. Vol 56.

19. MASIF: The OMG Mobile Agent System Interoperability Facility. 2000. Lecture Notes in Computer Science. Springer-Verlag: SpringerLink. Berlin, Germany. LNCS 1477, p. 50 ff.

20. GRAY, R.S., CYBENKO, G., KOTZ, D., PETERSON, R.A. AND RUS, D. 2002. D'Agents: Applications and performance of a mobile agent system. Software: Practice and Experience. Vol 35. Number 6.

21. VENNERS B. 1997. Under the hood: The architecture of aglets. http://www.iavaworld.com/iavaworld/iw-04-1997/iw-04-hood p.html

22. PAVLOU, G. 2000. The Grasshopper Mobile Agent Platform. Appearing in Mobile intelligent agents for managing the information infrastructure. http://www.ee.surrev.ac.uk/CCSR/ACTS/Miami/grasshopper.html.

23. Bellifemine F., Caire G., Poggi A., Rimassa G. 2003, JADE. A White Paper. http://jade.cselt.it/papers/WhitePaperJADEEXP.pdf

24. Schoeman M., Cloete E., 2003, Architectural Components for the Efficient Design of Mobile Agent Systems.

25. LANGE, D.B. 1997. Java Aglet Application Programming Interface (J-AAPI) White Paper Draft 2. http://www.trl.ibm.co.jp/aglets.

26. Георгиев В. О. Модели представления знаний предметных областей диалоговых систем // Изв. АН СССР. Техническая Кибернетика.-1991-№5.-С. 3-23.

27. Осипов Г.С. Построение моделей предметных областей. Неоднородные семантические сети // Изв. АН СССР. Техническая Кибернетика.- 1990-№ 5.- С. 32-45.

28. Осипов Г.С. Приобретение знаний интеллектуальными системами // М.:Наука.Физматлит, 1997.

29. Осуга С., Обработка знаний // М.:Мир, 1989.

30. Хорошевский В.Ф., Щенников С.Ю., Инструментальная поддержка процессов приобретения знаний в системе ПиЭС. // Изв. АН СССР. Серия "Техническая Кибернетика", 1990, N 4.

31. Ambros-Ingerson, J., Steel, S., 1988, "Integrating planning, execution and monitoring",. In Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI-88), St. Paul, MN., 1988.

32. Belgrave M., 1996,"The Unified Agent Architecture: A White Paper", http://www.ee.mcgill.ca/~belmarc/uaapaper.html

33. Benjamins V. R., Fensel D., et. all, 1998, "Community is Knowledge! in KA2", Proceedings of the KAW'98, Banff, Canada, 1998.

34. Braetman J.A., Magnini В., Rinaldi F. 1994 The Generalized Italian, German, English Upper Model, ECAI'94, Amsterdam, 1994

35. Brooks, R. A., 1991, "Intelligence without Representation", Artificial Intelligence 47, 139-159.

36. Brown С. E. et. all, 1995, AI on the WWW: Supply and Demand Agents, IEEE Expert 10(4), 1995.

37. Chandrasekaran B.,. Josephson J. R,. Benjamins V. R, 1998, "The Ontology of Tasks and Methods", Proceedings of the KAW'98, Banff, Canada, 1998.

38. Chess D., Harrison C., Kershenbaum A., 1995 Mobile Agents: Are They a Good Idea? IBM Research Division, http://www.research.ibm.com/iagents/paps/mobileideaabstr.html

39. Cochrane P., Smith R., 1994, "21st Century Information Systems", British Computer Society Expert Systems 1994 Conference, Cambridge, 3-17

40. Cohen P. R., Greenberg M. L., Hart D. M., Howe A. E., 1989, "Trial by fire: Understanding the design requirements for agents in complex environments." AI Magazine, 10(3), 1989.

41. Dobson S.A., Burrill V.A., 1995, "Lightweight databases, Computer Networks and ISDN Systems" 27(6), April 1995, pp. 1009-1015. In the Proceedings of the 3rd International World Wide Web Conference, Darmstadt.

42. Болдырев E.B. Что такое IP-телефония (статья) / Сборник студенческих научных статей. Красноярск 2005

43. Болдырев Е.В. Использование агентных технологий в образовательном процессе / Е.В. Болдырев // Материалы Всероссийской научно-методической конференции «Повышение качества непрерывного профессионального образования» — Красноярск, 2005.

44. Болдырев, Е. В. Архитектуры мультиагентных систем. / Е.В. Болдырев. Депонирована в ВИНИТИ №236-В2005.

45. Болдырев, Е. В., Кирякова, Г.С., Шилкин, А.В. Агентный подход к проектированию сетевых приложений поиска информации. / Е. В. Болдырев, Г. С. Кирякова, А. В. Шилкин. // Журнал «Вычислительные технологии» Новосибирск, 2005.

46. Болдырев Е. В. Анализ архитектур мультиагентных систем. / Е. В. Болдырев. // Тезисы V Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям. — Новосибирск, 2004.

47. Болдырев Е. В. Модели интеллектуальных программных агентов. / Е. В. Болдырев. // Материалы Межвузовской конференции «Информатика и информационные технологии». Красноярск, 2004.

48. Болдырев Е. В. Мобильные технологии электронного образования. / Е.В. Болдырев. // Материалы Всероссийской научно-методической конференции «Совершенствование систем управления качеством подготовки специалистов». Красноярск, 2004.

49. FIPA 1998, FIPA 98 Specification. Part 12. Ontology Service. October 1998 http://www.cset.it/fipa/

50. Franklin S., Graesser A., 1996, "Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents", Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996

51. Болдырев E. В. Математическая модель программного агента. / Е. В. Болдырев. // Материалы Межвузовской конференции «Информатика и информационные технологии». Красноярск, 2004.

52. Genesereth, М. R., Fikes, R. Е., Knowledge interchange format, version 3.0, reference manual. Technical report, Logic-92-1, Computer Science Dept., Stanford University, http://www.cs.umbc.edu/kse/.

53. Болдырев Е.В. Мобильные технологии электронного образования. / Е.В. Болдырев. // VIII Всероссийская конференция «Проблемы информатизации региона». Красноярск, 2003.

54. Grosz В, Davis R., 1994, "Twenty-First Century Intelligent Systems. A Report to ARPA" The American Association for Artificial Intelligence. AI Magazine 15(3): Fall 1994, 10-20.

55. Gruber T. R., 1993, "A translation approach to portable ontologies", Knowledge Acquisition, 5(2): 199-220, 1993.

56. Guifoyle, Warner, 1994, "Intelligent Agents: the New Revolution in Software", Ovum.IBM Agents, http://activist.gpl.ibm.com:8 l/WhitePaper/ptc2.htm, 1994.

57. Guarino, N., Poli, R., 1995, "The role of ontology in the information technology", International Journal of Human-Computer Studies, 43(5/6):623—965. Special issue on ontology, 1995.

58. Hayes-Roth В., 1995, "Agents on stage: Advancing the state of the art in AI", In Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence (IJCAI-95), Canada, 1995.

59. Hermens L., Schlimmer J., 1993, "A Machine Learning Apprentice for the Completion of Repetitive Forms", In Proceedings of the 9th IEEE Conference on Artificial Intelligence Applications, Orlando, Florida: IEEE Press, 1993.

60. Iglesias C. A., Garijo M., Gonzalez J. C., Velasco J. R., "A Methodological Proposal for Multiagent Systems Development extending CommonKADS", In Proceedings of KAW'96, Banff, Canada, November 1996.

61. Jennings, N. R., Varga, L. Z., Aarnts, R. P., Fuchs, J. & Skarek, P., 1993, "Transforming StandAlone Expert Systems into aCommunity of Cooperating Agents", International Journal of Engineering Applications of Artificial Intelligence 6(4), 1993.

62. Junsa, 1995, "Progmatic Applications of Information Agents", BIS Strategic Decisions., 1995.

63. Karp P.D., 1993, "A Qualitative Biochemistry and Its Application to the Regulation of the Trytophan Pperon", In Artificial Intelligence and Molecular Biology, ed. L. Hunter, AAAI Press, 1993

64. Kay, A., 1990, "User Interface: A Personal View", In Laurel, B. (ed.), The Art of Himan-Computer Interface Design, Reading, Mass: Addison-Wesley, 1990.

65. Khoroshevsky V. F., Maikevich N. V., 1998, "Knowledge Driven Processing of HTML-Based Information for Intellectual Spaces on Web", Proc. JCKBSE'98, Smolenice, Slovakia, 1998.

66. Kifer, M., Lausen, G., Wu, J., 1995, "Logical foundations of object-oriented and frame-based languages", Journal of the ACM, 1995.

67. Kirk Т., 1996, "Knowledge based access to information on the WWW", In: http://www.info.unicaen.fr/~serge/3wia/workshop/papers/paper20.html, 1996.

68. Kozierok, R., Maes, P., 1993, "A Learning Interface Agent for Scheduling Meetings", Proceedings of the ACM-SIGCHI International Workshop on Intelligent User Interfaces, Florida, 1993.

69. Kumar R., 1995, "Internet Information Resource Discovery Tools: Current Status and Future Trends", In the Proceedings of the CIKM'95 Intelligent Information Agents Workshop, Baltimore MD, December, 1995.

70. Lenat, D. В., 1995, "CYC: A Large-Scale Investment in Knowledge Infrastructure", Communications of the ACM 38, no. 11 (November 1995), http://www.cyc.com

71. Loke S.W., Davison A., Sterling L., 1996a, "CiFi An Intelligent Agent for Citation Finding on The World-wide Web", Proceedings of the PRICAI'96, North Queensland, Australia, August, 1996.

72. Luke S., Spector L., Rager D., Hendler J, 1996, "Ontolodgy-based Knowledge Discovery on the World-Wide-Web", In the Proceedings of the Workshop on Internet-based Information Systems, AAAI-96, Portland, Oregon

73. Maes, P., 1994, "Agents that Reduce Work and Information Overload", Communications of the ACM 37 (7), 1994.

74. Maurer F., Dellen В., 1998, "A Concept for an Internet-based Process-Oriented Knowledge Management Environment", Proceedings of the KAW'98, Banff, Canada, 1998.

75. Muller, J. P. 1994, "A Conceptual Model for Agent Interaction", In Deen, S. M. (ed.), Proceedings of the 2nd International Working Conference on Cooperative Knowledge Based Systems (CKBS-94), Keele University: Dake Centre, 213-234.

76. Musliner D. H., Durfee E. H., Shin K. G.,1993, "CIRCA: A Cooperative Intelligent Real-Time Control Architecture", IEEE Transactions on Systems, Man Cybernetics 23, 1993.

77. Nwana H. S., 1996. "Software Agents: An Overview", Knowledge Engineering Review, Vol. 11, No 3, pp. 1-40, Sept 1996. © Cambridge University Press, 1996

78. O'Brien, P. & Wiegand, M. 1996, "Agents of Change in Business Process Management", British Telecommunications Technology Journal 14 (4), October.

79. Pagina H., 1996, "Intelligent Software Agents on the Internet", http://www.hermans.org/agents/index.html

80. PC Magazine, 1997a, Ричард В. Дрейган "Будущее программных агентов", Russian Edition 6/1997 стр. 92-94.

81. PC Magazine, 1997b, Ричард В. Дрейган, Эндрю Боскардин "Укрощение стихии Web", Russian Edition 6/1997 стр. 96-101.

82. PC Magazine, 1997c, "Labs Tests: Internet Search Sites", December 2, 1997

83. Rao, A. S. & Georgeff, M. P., 1995, "BDI Agents: From Theory to Practice", In Proceedings of the 1st International Conference on Multi-Agent Systems (ICMAS-95), San Francisco, USA, June, 312-319.

84. Shoham Y., 1993, "Agent-Oriented Programming", Artificial Intelligence 60(1), 1993.

85. Sheth В., Maes P., 1993, "Evolving Agents for Personalised Information Filtering", In Proceedings of the 9th IEEE Conference on Artificial Intelligence for Applications, 1993.

86. Simkin S., Bartlett N., Leslie A., 1996, "Java Programming Explorer", Coriolis Group Books, Inc., Arizona, 1996

87. Sloman A., 1996. "What sort of architecture is required for a human-like agent ?", Invited talk at Cognitive Modeling Workshop, AAAI96, Portland Oregon, Aug 1996.

88. Sycara, K. 1995, "Intelligent Agents and the Information Revolution", UNICOM Seminar on Intelligent Agents and their Business Applications, November, London, 143-159.

89. TOVE Manual: Department of Industrial Engineering, University of Toronto, http://www.ie.utoronto.ca/EIL/tove/

90. Van der Vet P.E., Mars N.J., Speel P.H., 1994, "The Plinius Ontology of Ceramic Materials", ECAI'94, Amsterdam, 1994.

91. Vere S., Bickmore Т., 1990, "A basic agent", Computational Intelligence, 6, 1990.

92. Watson M., 1996, "Programming Intelligent Agents for the Internet", McGraw-Hill, Inc. 1996

93. Wayner, P., 1995, "Free Agents", Byte, March, 105-114.

94. Wooldridge, M. & Jennings, N. 1995, "Intelligent Agents: Theory and Practice", Knowledge Engineering Review, 10(2), June 1995.

95. Wray R. Ron C. et. all., 1994, "A Survey of Cognitive and Agent Architecture", http://krusty.eecs.umich.edu/cogarchO/

96. URL 1: Autonomy AgentWaretm Technolodgy White Paper, http://www.agentware.com,

97. URL 2 http://arachnid.quarterdeck.com/qdeck/products/wc20/

98. URL 3: http://www.softwareag.com/coфorat/dcom/default.htm

99. URL 4: http://www.mcc.com/projects/infosleuth/

100. URL 5: http://searchenginewatch.com/

101. URL 6: http://www.comptek.ru/arcadia/review/review.html

102. URL 7: http://www.comptek.ru/arcadia/review/reviewrus.html

103. URL 8: http://www.cs.umbc.edu/agents/web

104. URL 9: http://www.citforum.ru/database/articles/art19.shtml

105. URL 10: http://wwwl.infoart.ru:8000/it/press/cwm/1498/xml.htm

106. URL 11: http://www.botspot.com

107. URL 12: http://www.citforum.ru/database/osbd/glava95.shtml

108. URL 13: http://www.citforum.ru/database/kbd97/22.shtml

109. URL 14: http://www.citforum.rU/database/postgres95/l.shtml

110. URL 15: http://www.cs.emu.edu/~softagents/warren/

111. URL 16: Mobile Information Device Profile 1.0 (MIDP1.0); JSR 37. http://jcp.org/aboutJava/communityprocess/final/isr037/index.html

112. URL 17: Mobile Information Device Profile 2.0 (MIDP2.0); JSR 118. http://jcp.org/aboutJava/communityprocess/final/jsrl 18/index.html

113. URL 18: Corba: Catching The Next Wave, http://home.netscape.com/library/wpapers/,

114. URL 19: Hypertext Markup Language (HTML), http://developer.netscape.com/library/documentation/htmlguid/index.htm

115. URL 20: LEAP and Java 2. http://www.ryerson.ca/~dgrimsha/jade/LEAPJavaSE.html

116. URL 21: Palm Source, http://www.palmsource.com/palmos/

117. URL 22: Microsoft Windows Mobile 2003 specifications. http://www.microsoft.com/windowsmobile/default.mspx

118. URL 23: All About Symbian; http://www.allaboutsymbian.com/features/