Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Агентно-ориентированная технология проектирования
Аннотация:
Abstract:
Авторы: Семенов С.В. () - , Лещев В.А. () - , Конюхов И.А. (konuhov@cps.tver.ru) - НИИ «Центрпрограммсистем» (заведующий отделом), Тверь, Россия, Кеменов А.Ф. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
Количество просмотров: 22254 |
Версия для печати Выпуск в формате PDF (1.26Мб) |
Агенты и мультиагентные системы имеют давнюю историю, и их роль возрастает с ростом числа распределенных систем и баз данных. Именно в распределенных системах агенты наиболее ярко демонстрируют свои преимущества. Происходит поворот от создания лучших компонентов к созданию лучшего способа сотрудничества компонентов. Прогресс в разработке программного обеспечения (ПО) за два последних десятилетия прошел через развитие все более и более мощных и естественных абстракций высокого уровня, моделирования и разработки сложных систем. Процедурная абстракция, абстрактные типы данных, такие как объекты и компоненты – все это примеры таких абстракций. Агенты представляют собой следующий шаг абстракции: они могут использоваться разработчиками ПО для более естественного понимания, моделирования, и разработки важного класса комплекса распределенных систем. Отмечая, что метафора агента полезна для моделирования и построения сложных систем и тот факт, что агентские приложения уже разработаны в разных предметных областях, специалисты задаются вопросом: почему агентские приложения не так широко используются, как разрекламированы (и очевидны) их достоинства? Разработка многоагентных систем затруднена сложностью процесса, обусловленного динамической и распределенной природой ПО, который к тому же имеет склонность к ошибкам, нет общепринятой методологии, нет достаточного количества хороших инструментальных средств. И тем не менее можно сказать, что подход к решению распределенных задач с помощью агентов уже сформировался в отдельную ветвь технологий проектирования – AOSE – Agent oriented software engineering. Более того, идея семантической сети, которую выдвинул Тим Бернерс-Ли, председатель консорциума W3С, подразумевает, что все элементы семантической сети будут дополнены метаинформацией – формальным описанием своего содержания – и смогут иметь произвольное число семантических связей с другими элементами. Информационные ресурсы в такой сети смогут обрабатывать не только люди, но и программы, получая семантически значимые результаты. В такой сети становится возможной деятельность программных агентов, которые будут выполнять множество рутинных, но требующих определенного интеллекта задач по обработке информации без помощи человека. Основной трафик будет порождаться агентами, а конечный пользователь будет только давать задания агентам и выполнять общее управление такой деятельностью. Ролевое мышление. Разработка мультиагентных систем использует представление системы в виде виртуальной организации, что требует развития ролевого мышления. При рассмотрении какой-либо области знаний, предметной области, понятий, решения задачи, человек подбирает и проигрывает роль специалиста в этой области знаний. Кроме того, человеком описано множество ролей, от различных должностных инструкций, правил поведения в экстремальных ситуациях до ролей актеров и методик проведения исследований учеными. В этом случае процесс мышления можно представить как перебор подходящих ролей как мысленных, так и поведенческих. Тогда знания можно представлять в виде набора ролей, а сами роли удачнее было бы представить в виде распределенных интеллектуальных агентов-двойников [1]. Агент – это развитие известного понятия объект, представляющего абстракцию множества экземпляров предметов реального мира, имеющих одни и те же свойства и правила поведения. Понятие агента на данный момент не является строго формализованным. Общепринято считать агент объектом, обладающим всеми или некоторыми из основных свойств, к которым относятся, в частности: · автономность: агенты функционируют без прямого вмешательства кого-либо и обладают определенной способностью контролировать свои действия и внутреннее состояние; · способность общения: агенты взаимодействуют с другими агентами, с окружающей их средой (и, возможно, людьми) посредством какого-либо коммуникационного языка; · реактивность: агенты обладают способностью воспринимать среду и адекватно реагировать в определенных временных рамках на происходящие изменения; · проактивность: агенты не просто реагируют на изменения среды, но и обладают целенаправленным поведением и способностью проявлять инициативу; · индивидуальная картина мира: каждый агент имеет собственную модель окружающего его мира (среды), которая описывает то, как агент видит мир; агент строит свою модель мира на основе информации, которую получает из внешней среды; · интеллектуальное поведение: поведение агента включает способность к обучению, логичной дедукции или конструированию модели окружающей среды для того, чтобы находить оптимальные способы поведения. С точки зрения разработчиков информационных систем агент – это модуль ПО, выполняющийся на определенной платформе, совершающий некоторые действия, такие как отображение и ввод информации, и обменивающийся сообщениями с другими агентами или человеком [2]. Теория агентных систем начала развиваться задолго до появления XML-технологий и успела накопить значительный потенциал, который можно использовать в новых технологиях. Например, в самых простых случаях можно делать обертку (wrapper) для веб-сервиса в виде агента (или наоборот), в более сложных (при проектировании систем) использовать стандарты W3C на хореографию и композицию веб-сервисов (для этого служит язык BPEL). Такие идеи уже развиваются. Веб-сервисы, как и мультиагентные системы, решают основную проблему гетерогенных IT-сред по обеспечению интеграции и взаимодействия систем. Становится все более ясно, что агентские системы, семантическая сеть, и веб-сервисы являются дополнительными, а не конкурирующими технологиями [3]. Преимущество веб-служб над предыдущими 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, который реализует функции взаимодействия с агентной платформой (регистрация, конфигурация, удаленное управление и др.), а также основной набор методов для организации поведения программного агента (например, послать/ принять сообщения, использование стандартных протоколов взаимодействия, регистрация в нескольких каталогах и т.д.). Взаимодействие между программными агентами происходит через сообщения, которые кодируются в соответствии со спецификацией «FIPA ACL Message structure specification». Решение различных задач на основе AOSE показывают перспективность такого подхода во многих отраслях, в том числе для обучающих систем [6,7]. Список литературы 1. Кибяков П.П. Мир нейронных сетей и агенты – двойники. (http://oasis.peterlink.ru/~dap/nneng/nnlinks/NNAgents-Doubles.html). 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. |
Постоянный адрес статьи: http://swsys.ru/index.php?id=470&page=article |
Версия для печати Выпуск в формате PDF (1.26Мб) |
Статья опубликована в выпуске журнала № 1 за 2006 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Зарубежные базы данных по программным средствам вычислительной техники
- Оптимизация обработки информационных запросов в СУБД
- Алгоритмы и программное обеспечение системы обработки топопланов
- Опыт разработки и эксплуатации системы управления базами данных (DBS/R)
- Сравнение сложных программных систем по критерию функциональной полноты
Назад, к списку статей