Научная статья на тему 'Агентно-ориентированная технология проектирования'

Агентно-ориентированная технология проектирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
237
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Лещев В. А., Семенов С. В., Кеменов А. Ф., Конюхов И. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Агентно-ориентированная технология проектирования»

Следовательно, распределение промежутков времени между обработанными запросами: О(е) = 1 - е-**.

Таким образом, согласно [4], промежутки времени между поступающими и обработанными запросами распределены по показательному закону с одинаковым параметром

Однако для оценки быстродействия АПКЗИ для конкретной задачи необходимо учитывать тот факт, что каждый МЗ может обрабатывать последовательно поступающие запросы разных задач, выполняющихся в защищаемой системе параллельно. Это означает, что входной поток запросов каждого МЗ 8к+1 в цепи реализации задачи складывается из выходного потока запросов, обработанных МЗ 8к, и потока запросов, поступающих от других задач. Модель реализации данной задачи показана на рисунке 3.

Cl C2 Ci

Л -1 1-1 ~ —I оЛ 1—1

—*<8>—H S1 — -xgb-H S2 1- ■ ■■ Гф-Н Si 1—►

TYI TY2 Т Tyi

Рис. 3. Цепь реализации задачи АС с учетом

дополнительных потоков запросов

Решение задачи может быть получено при помощи результатов работы Джексона [6]. На вход каждого МЗ 8к цепи реализации задачи поступает поток запросов от предыдущего МЗ 8к-1 и поток запросов других задач ук. Необходимо вычислить полную интенсивность входящего потока запросов *к для МЗ 8к. Согласно [6] полная интенсивность входящего потока запросов *к равна сумме интенсивностей потоков от МЗ 8к-1 *к.1 и внешнего потока ук: = Ук +*к-1.

к-1

Учитывая [5], для Хк запишем = *+ 2У1 .

1=1

Таким образом, быстродействие каждого МЗ 8к в цепи реализации задачи определяется как:

Лк_

Ck = -

1

+ ksVi jxk

Согласно второй теореме Джексона [6] поведение каждого МЗ в цепи реализации задачи не зависит от остальных МЗ. В таком случае быстродействие АПКЗИ для данной задачи (задержка, вносимая АПКЗИ в реализацию задачи) определяется как сумма быстродействий всех МЗ цепи реализации задачи: л - ' Тк

càïêçè = 2 ck = 2

к=11 - [л + ^2* ^jxk

Наличие запросов НСД в потоке запросов частной задачи АС означает, что выходной поток МЗ 8к разрежается с вероятностью рк и поступает на вход МЗ 8к+1. В таком случае для полной интенсивности входящего потока запросов *к запишем: к-1 к-1 к-1 *к = *П Р1 + 2 Г1 ПРл +Ук .

1=1 1=1 л=1

Быстродействие МЗ определяется как:

Ck =-

Tk

1 -

k-1 k-1 k-1

ЛП Pi + 2 Yi П Pj +Yk

i=1 i=1 j=i

Соответственно, быстродействие АПКЗИ для задачи защищаемой АС, цепь реализации которой затрагивает п МЗ, составит:

_Тк_

CÀÏÊÇÈ = 2 k=1

1-

k-1 k-1 k-1

ЛП Pi + 2 Yi ПPj + Yk

i=1 i=1 j=i

В заключение отметим, что предложенный подход к определению быстродействия АПКЗИ учитывает интенсивности исходных потоков запросов, обрабатываемых МЗ, а также вероятности их разрежения вследствие блокирования запросов НСД и позволяет оценивать быстродействие АПКЗИ и, соответственно, временную задержку, вносимую в реализацию определенных задач защищаемой АС.

Адекватность приведенных критериев может быть проверена на практике посредством оценки быстродействия реальных АПКЗИ и при помощи имитационного моделирования [7].

Список литературы

1. Карпов В.В. Вероятностная модель оценки защищенности средств вычислительной техники с аппаратно-программным комплексом защиты информации от несанкционированного доступа. // Программные продукты и системы. -2003. - №1.

2. Карпов А.В. Задача адаптации системы защиты информации от несанкционированного доступа. // Программные продукты и системы. - 2005. - № 4.

3. Клейнрок Л. Теория массового обслуживания. - М.: Машиностроение, 1979.

4. Гуляев В.А. Оптимальный синтез систем контроля цифровых управляющих машин. - В кн.: Теорема точности и надежности кибернетических систем: 2-е изд. - К.:. Ин-т кибернетики АН УССР, 1969.

5. Burke P.J. The Output of a Queuing System. Operations Research, 4, 1956.

6. Jackson J.R. Networks of Waiting Lines. Operations Research, 5, 1957.

7. Григорьев В.А., Карпов А.В. Имитационная модель системы защиты информации. // Программные продукты и системы. - 2005. - №2.

АГЕНТНО-ОРИЕНТИРОВАННАЯ ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ

В.А. Лещев, С.В. Семенов, А.Ф. Кеменов, И.А. Конюхов

Агенты и мультиагентные системы имеют давнюю историю, и их роль возрастает с ростом числа

20

распределенных систем и баз данных. Именно в распределенных системах агенты наиболее ярко демон-

стрируют свои преимущества. Происходит поворот от создания лучших компонентов к созданию лучшего способа сотрудничества компонентов.

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

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

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

И тем не менее можно сказать, что подход к решению распределенных задач с помощью агентов уже сформировался в отдельную ветвь технологий проектирования - AOSE - Agent oriented software engineering. Более того, идея семантической сети, которую выдвинул Тим Бернерс-Ли, председатель консорциума WS^ подразумевает, что все элементы семантической сети будут дополнены метаинформаци-ей - формальным описанием своего содержания - и смогут иметь произвольное число семантических связей с другими элементами. Информационные ресурсы в такой сети смогут обрабатывать не только люди, но и программы, получая семантически значимые результаты. В такой сети становится возможной деятельность программных агентов, которые будут выполнять множество рутинных, но требующих определенного интеллекта задач по обработке информации без помощи человека. Основной трафик будет порождаться агентами, а конечный пользователь будет только давать задания агентам и выполнять общее управление такой деятельностью.

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

ских. Тогда знания можно представлять в виде набора ролей, а сами роли удачнее было бы представить в виде распределенных интеллектуальных агентов-двойников [1].

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

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

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

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

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

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

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

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

Теория агентных систем начала развиваться задолго до появления XML-технологий и успела накопить значительный потенциал, который можно использовать в новых технологиях. Например, в самых простых случаях можно делать обертку (wrapper) для веб-сервиса в виде агента (или наоборот), в более сложных (при проектировании систем) использовать стандарты W3C на хореографию и композицию веб-сервисов (для этого служит язык BPEL). Такие идеи уже развиваются.

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

Становится все более ясно, что агентские системы, семантическая сеть, и веб-сервисы являются дополнительными, а не конкурирующими технологиями [3].

21

Преимущество веб-служб над предыдущими middleware-технологиями на основе компонентов (например, CORBA и DCOM) в том, что протоколы являются веб-ориентируемыми и легковесными.

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

Jena успешно использовалась в множестве агентских проектов, включая RDF/ XML, как подмножество выводов, санкционированных семантикой XML, например, библиотека агента для поддержки модели RDF/OWL, основанная на Jena - AgentOWL. Она охватывает следующие функциональные возможности: модель знания агента, основанная на OWL; посылка сообщений OWL; получение сообщений OWL; включение полученной информации в модель; XML-RPC получение сообщений; XML-RPC возврат в виде RDF и XML.

Библиотека состоит из таких классов, как онтология, память, сообщение.

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

Разработка агентных систем в Европе приобрела такие масштабы, что встал вопрос о стандартизации, для решения которого еще в 90-х годах были основаны две организации MASIF (Mobile agent system interoperability facility) и FIPA (Foundation of intellectual physical agents). Их работа вылилась в появление стандартов MASIF и FIPA, дающих рекомендации по созданию систем мобильных агентов и систем интеллектуальных агентов соответственно.

FIPA была образована в 1996 для разработки спецификаций стандартов ПО для гетерогенных и взаимодействующих агентов и систем на основе агентов [5].

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

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

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

ной системы в единую цепочку. Методологии преодолевают разрыв между концепциями, используемыми объектно-ориентированными и агентно-ориентируемыми разработчиками. На данный момент нет единого представления о том, как нужно разрабатывать агентные системы. Методологий много (Gaia, MaSE, AUML, Fusion, Tropos и др.), каждая претендует на оптимальное решение, по крайней мере, частных вопросов. Различные школы и течения различаются не только на уровне последовательности действий, но и на уровне принятых обозначений.

Методология Gaia, например, строится на упомянутом выше ролевом мышлении, когда проектируемая система представляется как организация, а последняя функционирует, реализуя набор ролей. Методология предусматривает следующую последовательность действий при проектировании мультиа-гентной системы:

• определить роли и построить модель ролей;

• для каждой роли определить протоколы и построить модель взаимодействия;

• создать модель агентов;

• создать модель сервисов;

• создать модель контактов.

В контекте Gaia «агент - это некоторая активная программная сущность, проигрывающая набор ролей».

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

Агентная платформа:

- является средой, в которой живут агенты;

- предоставляет агентам базовые сервисы, необходимые для их существования;

- реализует всю низкоуровневую инфраструктуру (не нужно писать весь код заново при создании очередной мультиагентной системы);

- реализует определенные стандарты для обеспечения взаимодействия с другими платформами. (Например, следующие агентные платформы: JADE, Zeus, Cougaar, FIPA-OS, Grasshopper, AgentBuilder, Aglets, Agent Platform и др.).

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

22

ких каталогах и т.д.). Взаимодействие между программными агентами происходит через сообщения, которые кодируются в соответствии со спецификацией «FIPA ACL Message structure spécification».

Решение различных задач на основе AOSE показывают перспективность такого подхода во многих отраслях, в том числе для обучающих систем [6,7].

Список литературы

1. Кибяков П.П. Мир нейронных сетей и агенты - двойники. (http://oasis.peterlink.ru/~dap/nneng/nnlinks/NNAgents-Doubles.html).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2. Тарасов В.Б. Агенты, многоагентные системы, виртуальные сообщества: стратегическое направление в информати-

ке и искусственном интеллекте. // Новости искусственного интеллекта. - 1998. - №3. - С .5-54.

3. Ian Dickinson. The Semantic Web and Software Agents: Partners, or Just Neighbours? AgentLink News 15, 2004, pp. 3-6.

4. Daniel Elenius. Tools for Semantic Web Services. AgentLink News, 18.

5. Monique Calisti. Latest News from the Standardisation World. //AgentLink News, 18, 2005, pp. 31-32.

6. Kabassi, K., & Virvou, M. Using Web Services for Personalised Web-based Learning. Educational Technology & Society, 6(3), 2003, рр.61-71.

7. Келеберда И.Н., Лесная Н.С., Репка В.Б. Использование мультиагентного онтологического подхода к созданию распределенных систем дистанционного обучения. //Educati-onal Technology & Society 7(2), 2004, pp. 190-205.

ИНТЕЛЛЕКТУАЛЬНЫЕ ХРАНИЛИЩА ДАННЫХ В СИСТЕМАХ ГОСУДАРСТВЕННОГО УПРАВЛЕНИЯ

Б.М. Суховилов

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

Рассмотрим основные характеристики разработанного ИХД.

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

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

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

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

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

Учитывая, что с хранилищем будут работать пользователи разной компьютерной квалификации, был разработан программный антивирусный модуль, автоматически противодействующий распространению вирусного заражения файлов пользователей хранилища. Модуль выполнен в виде сервиса Windows и реализует следующий алгоритм работы. Антивирусный файловый сканер настраивается на периодическую проверку файлов хранилища. Результатом такой проверки является файл отчета, помещаемый сканером в одну из папок сервера. Антивирусный модуль ИХД перехватывает событие появления нового файла и анализирует этот отчет. При обнаружении в отчете записей, свидетельствующих о заражении какого-либо файла, антивирусный модуль помещает в БД ИХД информацию об этом. Это позволяет программе, обслуживающей хранилище, принять решение о блокировании загрузки пользователем зараженных файлов. Файлы, которые еще не прошли антивирусную проверку, соответствующим образом помечаются в интерфейсе пользователя.

Кратко опишем процесс работы с хранилищем. Новый пользователь ИХД должен отправить запрос на регистрацию в системе, сообщив о себе требуемые данные. Администратор ИХД с помощью инструментов администратора обрабатывает запрос на регистрацию и назначает пользователю роль в системе, квоту на объем данных или отказывает ему в регистрации.

23

i Надоели баннеры? Вы всегда можете отключить рекламу.