ОСОБЕННОСТИ МУЛЬТИАГЕНТНОГО ПОДХОДА В ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННЫХ СИСТЕМ
ОСОБЕННОСТИ МУЛЬТИАГЕНТНОГО ПОДХОДА В ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННЫХ СИСТЕМ
Бестаева Наталия Викторовна
аспирант, Астраханский государственный технический университет,
РФ, г. Астрахань
FEATURES OF MULTI-AGENT APPROACH IN DESIGNING INFORMATION SYSTEMS
Natalia Bestaeva
Postgraduate, Astrakhan Technical State University,
Russia, Astrakhan
АННОТАЦИЯ
Наступает эра распределенных программных сред и исследования мультиагентных систем, которые решают сложные проблемы. В настоящем документе предлагается ориентированный на архитектуру метод разработки, который поддерживает важные этапы систематической разработки программного обеспечения. В частности, этот подход направлен на поддержку свойств системы, специально ориентированных на координацию и автономность агентов. Для анализа проблемной области используется целевой подход, и отдельные агенты сопоставляются с уточненными целями системы.
ABSTRACT
The era of distributed software environments and the study of multi-agent systems that solve complex problems is coming. This document proposes an architecture-oriented development method that supports important steps in systematic software development. In particular, this approach aims to support system properties specifically focused on agent coordination and autonomy. A targeted approach is used to analyze the problem area, and individual agents are matched against refined system objectives.
Ключевые слова: информационный агент, мультиагентные системы, архитектура.
Keywords: Intelligent agent, Multi-agent systems, architecture.
В настоящее время, по причине расширения областей применения веб-приложений, появилась острая необходимость проектирования и разработки информационных систем (ИС) за короткий период времени. Одним из подходов, обычно используемых для ускорения разработки распределенных систем, является повторное использование ранее разработанных компонентов с аналогичными функциональными возможностями.
Крупная распределенная система может быть разработана путем выявления многоразовых программных компонентов, их адаптации к новым требованиям и интеграции с недавно разработанным программным обеспечением. С целью решения данных задач увеличивается количество исследований в области мультиагентных систем (MAS) и их применения. С помощью мультиагентной системы (МС) исследователи пытаются решить сложные проблемы с сущностями, называемыми агентами, используя их автономные свойства. Однако возникает сложность в проектировании и разработке из-за отсутствия систематического подхода, основанного на методологиях разработки программного обеспечения.
Для систематической разработки МС необходимо проанализировать систему с точки зрения ее конечных целей и спроектировать ее как абстрактно, так и конкретно, сопоставив цели с программными агентами. Внедрение МС является не менее сложным, чем его разработка; поэтому крайне важно, чтобы были приняты правильные проектные решения. Хорошо продуманная архитектура для системы обеспечивает эффективный план для ее правильной реализации с незначительными ошибками. Следовательно, для создания надежной системы необходимо проводить систематический анализ, разрабатывать архитектуру и отслеживать результаты на каждом этапе разработки с последующей апробацией.
При проектировании ИС первым шагом является определение ее функциональных возможностей и проблем, которые она будет решать. Распространенной проблемой при разработке ИС является трудность в выражении требований к системе со стороны конечных пользователей. Таким образом, концепция определения решаемых задач и целей имеет центральное значение.
Целенаправленный анализ в основном включает в себя определение целей более высокого уровня, и для каждой из этих целей, генерируются подцели и отношения между ними.
Рисунок 1 иллюстрирует общую структуру иерархии целей системы: корень иерархии содержит основную цель, которую МС должна достичь в конечном итоге, и подцели, которые подразделяются на системные основные цели. Цели подразделяются на три типа: внешние, которые рассматриваются вне системы; цели пользователей, которые определяются пользователями и внутренние цели системы. Их также можно классифицировать по свойствам: достижимые и поддерживаемые. Диаграмма иерархии целей, полученная из целевого анализа, используется для сопоставления агентов с целями для разработки архитектуры МС [1, 2].
Рисунок 1. Диаграмма иерархии целей
На основе проанализированных целей необходимо определить агентов и смоделировать их отношения. Например, «Для каждой идентифицированной главной цели создается соответствующий агент, когда это необходимо» и «Если подцели сопоставлены агентам, цель верхнего уровня может быть затем сопоставлена агенту-координатору для поддержки связи между агентами». После этого для каждого идентифицированного агента моделируют его внутренние элементы. В ходе этого процесса формируются знания агента и набор действий, позволяющий ему действовать автономно. Знания – это те данные, которыми обладает агент. Они содержат информацию об окружающей инфраструктуре и о нем самом. Эти данные постоянно обновляются. Данная информация используется для установления базы знаний агента или онтологии [4].
Правила, определяющие, какая информация переходит в различные онтологии, перечислены ниже:
1. Онтология, которая может быть определена на ранней стадии проектирования:
- Информация о протоколе или ACL (языке связи агента).
2. Онтология, которую необходимо постоянно обновлять
- Атрибуты и операции на диаграмме класса, установленной как онтология.
- Сообщения между объектами в диаграмме последовательности, установленной как онтология.
- Информация агента в базе знаний, созданной как онтология.
Процесс разработки архитектуры МС сосредоточен на двух основных аспектах:
- Архитектура организации агента с точки зрения координации агентов;
- Внутренняя архитектура агента с точки зрения автономии агента.
Первый рассматривает надежность и гибкость системы с точки зрения взаимодействия агентов. Последнее касается способности каждого агента реагировать на изменения, происходящие в динамической среде, основанной на его текущем состоянии и наборе знаний. Каждый вид должен рассматриваться в процессе разработки общей архитектуры для МС. Этот процесс включает четкое определение основных элементов, корректировку архитектурного стиля, представление архитектуры и проверку архитектуры [3].
С учетом координации агентов архитектура показывает структуру организации системы и взаимосвязи между системными элементами (агентами).
Из проведенного анализа определяются цели системы, и агенты сопоставляются с подцелями. Каждый агент может быть определен как пара (G, {R}), где G означает цель агента и {R} - роли агента. Роль агента может быть сопоставлена с целью пользователя в диаграмме иерархии целей. Конкретная значимая задача (цель пользователя) может быть достигнута одним или несколькими агентами, называемыми группой агентов (Gr), которая работает на одну и ту же роль. В одной группе агенты взаимодействуют друг с другом, чтобы завершить свою роль. Это взаимодействие требует взаимодействия между агентами, и агент-координатор (C) облегчает его. Он ведет список агентов, участвующих в группе, обеспечивает связь между ними и управляет их взаимодействием.
После определения основных элементов системы генерируются схема агента и его взаимодействия для представления структуры организации системы. Архитектура организации агента должна быть проверена путем тестирования системных элементов и их взаимосвязей.
После понимания общей картины благодаря полученной схеме организации агентов, их внутренняя архитектура представляется в контексте автономии. Автономия в этом случае подразумевает независимость от свойств или состояний других компонентов для его функциональности. То есть агент имеет единоличный контроль над активизацией своих функций и может отказать в предоставлении конкретной из них или потребовать компенсацию за нее. Автономность агентов играет большую роль в определении внутренней архитектуры агентов и их реакции на изменения окружающей среды.
Рассмотренный подход сосредоточен на важных свойствах MAS, таких как координация агентов и их автономность. Для анализа проблемной области используется подход, основанный на целях, и агенты сопоставляются с целями системы. Благодаря полученной архитектуре они могут полноценно функционировать самостоятельно и в своих группах, выполняя поставленные цели и подцели. Система подразумевает возможность тестирования как отдельных агентов, так и ее функциональных модулей. Что, в свою очередь, обеспечивает ее надежность.
Список литературы:
- K.H. Dam, M. Winikoff Comparing agent-oriented methodologies 5th International Bi-conference Workshop on Agent-Oriented Information Systems (AOIS’03), July 2003, Melbourne, Australia (2003), pp. 79-94
- Dardenne, A.V. Lamsweerde, S. Fickas Goal-directed requirements acquisition Science of Computer Programming, 20 (1/2) (1993), pp. 3-50
- R.J. Dzeng, Y.C. Lin Intelligent agents for supporting construction procurement negotiation Expert Systems with Applications, 27 (1) (2004), pp. 107-119
- T.R. Gruber A translation approach to portable ontologies Knowledge Acquisition, 5 (2) (1993), pp. 199-220