Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диссертация.doc
Скачиваний:
20
Добавлен:
20.11.2018
Размер:
3.34 Mб
Скачать

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

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

4.2.1 Классификация существующих методологий проектирования агентно-ориентированных систем.

Методологии проектирования агентно-ориентированных систем всё еще находятся в начальной стадии развития. Известные подходы можно разделить на четыре основных класса:

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

  • использующие традиционные методы инженерии знаний;

  • основанные на организационно-ориентированных представлениях;

  • комбинирующие в различной степени методы трёх первых классов.

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

Рис. 4.6 Взаимное влияние агентно-ориентированных методологий.

В методологиях первого класса разрабатываются расширения объектно-ориентированных методологий и технологий для проектирования АОС. Известны попытки непосредственного применения UML-нотации для представления агентно-ориентированных систем и образцов взаимодействия агентов. Однако эти предложения не могут охватить автономность и проактивное поведение агентов, так же как и богатство их взаимодействий. С другой стороны, некоторые предлагают расширить и адаптировать объектно-ориентированные модели и технологии для определения методологий МАС. Это ведёт, например, к расширенным моделям для представления агентного поведения и взаимодействия агентов и агентно-ориентированным расширениям UML [182]. Однако, хотя эти средства могут обеспечивать достаточные описания автономного поведения агентов и их взаимодействий, они не имеют адекватных концептуальных механизмов для работы с организациями и сообществами агентов.

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

Подход Common Kads пытается снять эти ограничения, явно вводя в методологию абстракцию агентного сообщества. Однако, это нововведение сводится к моделированию сообщества как коллекции взаимодействующих сущностей без идентификации концептов, таких как социальные задачи или социальные законы. MAS-CommonKADS – это методология разработки агентно-ориентированного программного обеспечения, предназначенная для применения на этапах анализа и проектирования. Она является гибридом хорошо известной методологии инженерии знаний CommonKADS, объектно-ориентированной методологии «Техника объектного моделирования» (Object Modelling Technique – OMT), объектно-ориентированной инженерии программного обеспечения (Object-oriented Software Engineering – OOSE) и метода проектирования, получившего название «проектирование, управляемое ответственностью» (Responsibility Driven Design – RRD). Основным отличием этой методологии от других является то, что разрабатываемая агентно-ориентированная система рассматривается с различных точек зрения. Разработчик получает описание, позволяющее выполнять реализацию на различных программных платформах. Сильной стороной методологии принято считать использование стандартных методов инженерии программного обеспечения, которые расширяются естественным способом. MAS-CommonKADS создавалась в расчете на многоразовое использование материалов, полученных на каждом уровне проектирования, что дает возможность использования данных из других проектов. Главный недостаток этой методологии – слабая поддержка этапов проектирования, тестирования и кодирования.

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

Другие модели и подходы направлены на создание АОС с «организационно–ориентированной» точки зрения [138,178]. Однако, эти подходы определяют организацию просто как коллекцию взаимодействующих ролей, таким образом, не разрешая проблемы коллективного поведения агентов.

В работах [126,183] предложена и исследована методология Gaia. Gaia – это методология агентно-ориентированного анализа и проектирования, явно использующая организационную точку зрения. Наиболее абстрактной сущностью в иерархии концептов Gaia является «система». Хотя термин «система» используется в стандартном смысле, он также означает «сообщество» или «организацию». Следующий уровень иерархии – это роли. Роль определяется тремя атрибутами: ответственности, разрешения, протоколы. Ответственности определяют функциональность и являются ключевым атрибутом, связанным с ролью. Ответственности разделяются на два типа: жизненные свойства и свойства безопасности. Для реализации ответственностей роль обычно связывается с множеством разрешений. Разрешения являются «правами», связанными с ролью и идентифицируют ресурсы, которые доступны в этой роли, для реализации ответственности. В различных системах, которые обычно моделируются, разрешения становятся информационными ресурсами. Роль идентифицируется определённым числом протоколов, которые определяют пути взаимодействия с другими ролями.

Ограничения и недостатки методологии Gaia проявляются в следующем:

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

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

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

  • организационная структура системы статична, т.е. ни число агентов, ни их отношения не изменяются в текущем времени;

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

Достаточно оригинальная методология проектирования МАС, основанная на концепции М-архитектуры, развивается в работах коллектива польских ученых во главе с K. Cetnarowicz [129]. В структуре данной методологии определяются такие конструкции как жизненное пространство агентов, типы агентов, отношения между агентами и жизненным пространством и отношения среди агентов. Агентная архитектура рассматривается с двух различных точек зрения: как интеллектуальный профиль, описывающий способность агента решать данную проблему, и как энергетический профиль, описывающий «жизненную энергию» агента и разрешающий уничтожение нежизнеспособных агентов.

Методология Тropos [177] реализует идею использования концепции моделирования требований для построения системы такой, какой она должна быть. В методологии можно выделить следующие фазы: ранние требования, поздние требования, проектирование архитектуры и детальное проектирование. Анализ требований в Тropos делится на две стадии – ранний анализ и поздний анализ. Ранний анализ сосредоточен на изучении среды, в которой АОС будет функционировать. Поздний анализ описывает функциональные и нефункциональные требования к системе. Заинтересованные стороны представляются как социальные личности (акторы), зависящие друг от друга посредством целей, которые должны быть достигнуты, задач, которые должны быть выполнены, и ресурсов, которые должны быть получены. Каркас моделирования содержит стратегическую модель зависимостей (диаграмма личностей в Тropos), показывающую взаимозависимости между личностями, также как стратегическая диаграмма отношений показывает причины, по которым акторам необходимо поддерживать отношения с другими акторами. Во время раннего анализа требований разработчик представляет все сущности в виде социальных акторов. Такая модель дает возможность ответить на вопрос «почему?» в дополнение к обычным вопросам «что?» и «как?» по поводу функционирования системы. На стадии позднего анализа требований модель дополняется акторами, которые описывают систему такой, какой она должна быть и показывают зависимости между системой и средой.

В последние годы расширяется класс методологий проектирования агентно-ориентированных систем, комбинирующих объектно-ориентированные и организационные подходы. Методология PASSI расшифровывается как «процесс для спецификации и реализации агентных сообществ» (Process for Agent Societies Specification and Implementation) [165]. Она является результатом длительного периода теоретических исследований и экспериментов в области робототехники. Авторы методологии старались использовать существующие стандарты везде, где это возможно. Поэтому в качестве языка моделирования выбран UML, для реализации агентов используется архитектура FIPA, а для представления знаний при обмене сообщений между агентами используется XML. Применение методологии PASSI требует последовательного построения совокупности моделей, отражающих различные аспекты проектирования агентно-ориентированной системы.

Методология Prometheus поддерживает разработку агентных систем на основе целей и планов [127]. Предполагается, что основными пользователями методологии станут инженеры-программисты, работающие в промышленности, а также студенты информационных специальностей. Методология Prometheus предоставляет два средства автоматизации труда проектировщика МАС. Первое средство – это инструмент проектирования Prometheus (Prometheus Design Tool), который позволяет разрабатывать все виды необходимых диаграмм и строить по ним отчёты. Функциональность PDT постоянно расширяется, инструмент является свободно распространяемым. Второй инструмент, поддерживающий методологию Prometheus – это среда разработки Jack (JACK Development Environment), которая предоставляет возможности для рисования обзорных диаграмм в стиле методологии Prometheus. На основе этих диаграмм среда позволяет сгенерировать скелет программного кода и следить за тем, чтобы изменения, произведённые в коде, отображались и на диаграммах. Разработчики считают главным достоинством методологии её практичность и способность к улучшению на основе отзывов прикладных программистов. Отмечается также эффективность её применения при изучении студентами МАС. Однако, Prometheus имеет и свои недостатки. Для описания социального взаимодействия агентов используются только протоколы и сообщения. Расширение возможностей поддержки более специфичных типов агентных взаимодействий требует дальнейшего развития методологии. Prometheus также не поддерживает мобильность агентов, так как авторы методологии считают, что это свойство не является основным для ИА. Такие фазы разработки как реализация, тестирование и отладка в этой методологии поддерживаются достаточно ограниченно. Еще одна особенность методологии – отсутствие поддержки UML. С одной стороны это хорошо, т.к. не привязывает проектировщика к объектно-ориентированной парадигме, а с другой стороны, это не дает множеству программистов воспользоваться инструментом, с которым они хорошо знакомы.

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