Организация сетевых вычислений на основе многоагентных систем

ЛИТЕРАТУРА

1. Берштейн Л.С., Карелин В.П., Целых AM. Модели и методы принятия решений в интегрированных интеллектуальных системах. - Ростов-на-Дону: изд-во Ростовского университета, 1999. - 296с.

2. Мелихов AM., Мелихова О.А. О логическом выводе в интеллектуальных системах на основе нечеткой логики // Изв. РАН, Техническая кибернетика. - 1995. - Вып. 5.

3. Мел ихов AM., Берштейн Л.С., Коровин С.Я. Ситуационные советующие системы с нечеткой логикой. - М.: Наука, 1990. - 272 с.

УДК 681.324

А.В. Аграновский, МЛ. Болотин, АЛ. Букатов ОРГАНИЗАЦИЯ СЕТЕВЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МНОГОАГЕНТНЫХ СИСТЕМ

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

.

каждое из мест обработки по компьютерной сети. Этот подход реализован с сетевых файловых системах типа Sun NFS, Novell Netware, Microsoft Network и пр. Для этого подхода характерна большая нагрузка на сеть, связанная с необходимостью пересылки больших объемов данных. Следует, однако, отметить, что при реализации сетевых файловых систем фактически используется более сложный механизм работы с удаленными данными, основанный на удаленном вызове процедур (RPC - remote procedure call), обеспечивающий удаленное выполнение процедур на компьютере, на котором хранятся данные с передачей по сети лишь входных и выходных параметров .

вычислительным ресурсам (производительный процессор и большой объем опера, , .).

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

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

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

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

компьютере, обладающем необходимыми вычислительными и/или информационны. -

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

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

, , ( -

, ), -

ным.

Самым простым вариантом применения этого подхода является средства удаленного выполнения программ, предоставляемые операционными системами. Однако этот подход требует совместимости аппаратных и операционных платформ компьютеров и не получил широкого распространения.

Следующим шагом в развитии этого подхода было создание систем распределенного хранения и выполнения объектов (CORBA, OLE, COM/DCOM, DCE и др.). Эти системы обеспечивают миграцию по сети к месту их исполнения мобильных объектов, включающих исполнимые процедуры и некоторые структуры данных, используемых при их выполнении. Однако эти системы, основанные на сложных стандартах совместимости объектно-ориентированных систем, сложны в реализации и применении.

90-

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

: ,

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

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

, , -ру в комнатах, измерять потребление энергии и т.д. Такая система описана в статье Agent with Power [3].

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

Такие системы реализуются на базе мобильных (обеспечивающих независимость программного кода от аппаратной и операционной платформы) объектно, -ся Java. Одна из наиболее интересных инструментальных систем создания мобильных многоагентных приложений, система JINI [4], в качестве базового языка использует Java.

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

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

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

Рассмотренный подход к организации сетевых приложений в виде мобильных многоагентных систем в настоящие время интенсивно развивается и применяется при разработке распределенных информационных систем. Примеры конкретных разработок и аналитических статей по данному подходу можно найти в тематическом выпуске журнала Communications of the ACM [5]. Интересный обзор моделей многоагентных систем приводится в статье [6].

ЛИТЕРАТУРА

1. Ладыженский ГМ. Системы управления базами данных - коротко о главном. // СУБД -1995. - Вып.1-4.

2. Drashansky T, Houstis E.N., Ramakrishnan N., Rice J.R. Networked Agents for Scientific Computing // CACM, Vol. 42. - 1999. - №3. - C. 48-52.

3. Gustavsson R. Agents with Power. // CACM, Vol. 42. - 1999. - №3. - C.41-47.

4. Waldo J. The Jini Architechitecture for Network-centric Computing. // CACM, Vol. 42. -1999. - №7. - C. 76-82.

5. Communications of the ACM, Vol. 42. - 1999. - № 3.

6. Wong D., Paciorek N., Moore D. Java-based Mobile Agents. // CACM, Vol. 42.- 1999. -

.3. - . 92-96.

УДК 658.512

АЛ. Еремеев, В.В. Троицкий ПРЕДСТАВЛЕНИЕ ВРЕМЕННЫХ И ПРИЧИННО-СЛЕДСТВЕННЫХ ЗАВИСИМОСТЕЙ В СИСТЕМАХ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ РЕАЛЬНОГО ВРЕМЕНИ СЕМИОТИЧЕСКОГО ТИПА

Работа выполняется при финансовой поддержке РФФИ (проект 99-0100049).

Известно, что системы поддержки принятия решений реального времени (СППР РВ) представляют собой сложные программно-аппаратные комплексы, предназначенные для помощи лицам, принимающим решения (ЛПР) при управлении сложными объектами и процессами различной природы, как правило, в условиях жестких временных ограничений [1]. В [2-4] показано, что СППР РВ относятся к классу интегрированных динамических интеллектуальных систем семиотиче-,

, , -, , -.

СППР РВ семиотического типа формально можно определить набором 88 = < М, Я (М), Б (М), Б (88) >, где М = {М1,..., Мп} - множество формальных или семиотических (логико-) ,

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

Я(М) - функция выбора необходимой модели или совокупности моделей в те;

Б(М) = {Б (М1),..., Б (Мп)}- множество функций модификации моделей М1,..., Мп ;

Б(88) - функция модификации системы 88 в целом, т.е. ее базовых элементов М, Я(М), Б(М) возможно самой Б(88).

Поиск решения в рамках конкретной модели М1 поддерживается правилами , , . одной модели на другую сопровождается, как правило, нарушением ("р^рывом") монотонности. Этот переход осуществляется посредством реакции на соответствующее событие (например, выход некоторого параметра за допустимые границы) или посредством применения нечеткого продукционного правила типа А'* (А^Б), где А' и А - нечеткие множества, описывающие проблемные ситуации или состоя-

( А А' -