Библиографическое описание:

Зубарева М. Г., Цветков А. А., Хамуш А. Л., Шорох Д. К., Шуклин А. В., Юрсков С. В. Методологии проектирования мультиагентных систем [Текст] // Технические науки в России и за рубежом: материалы VI Междунар. науч. конф. (г. Москва, ноябрь 2016 г.). — М.: Буки-Веди, 2016. — С. 3-8.



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

Ключевые слова: мультиагентная система, объектно-ориентированный подход, искусственный интеллект

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

Методология создания МАС на основе онтологии

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

  1. Поэтапная итеративная методология;
  2. Конвейер избранных инструментов, с помощью которых осуществляется методология.

Описание методологии

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

В контексте мультиагентных систем использование онтологии способствует анализу и проектированию этапов разработки системы, развитию интеллекта отдельных агентов, связи и взаимодействию между агентами во время работы, а также возможности взаимодействия агентов с другими системными компонентами. Полностью такой подход звучит как методология развития МАС с онтологией (eng. MOMA).

Конструктивными целями MOMA являются:

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

Существуют еще четыре методологии разработки MAS, также включающие в себя понятия онтологии, хотя и не в полной мере, как это используется в МОМА. Этими методологиями являются:

‒ MAS-CommonKADS;

‒ MESSAGE;

‒ Multi-agent Systems Engineering (MaSE);

‒ Процесс спецификации и реализации объединений агентов (PASSI).

MOMA состоит из двух основных этапов развития: разработки онтологии и разработки агента (рисунок1).

MAS LR1.png

Рис. 1. Этапы развития MOMA

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

Преимущества и недостатки методологии.

Плюсы:

При использовании определенных инструментов возможно ускорить процесс разработки приложения с использованием онтологии.

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

Минусы:

Определение понятий и отношений при помощи стандартных высокоуровневых онтологий для моделирования своей онтологии является трудным процессом и отнимает много времени (для решения данной проблемы используется инструмент GT). Также на данном этапе можно упустить некоторые понятия (необходимо иметь несколько итераций в разработки онтологии)

Во время настройки онтологии для тестирования невозможно использовать слишком сложную логику (для использования более сложной логики необходимо определить больше понятий в редакторе Protege).

Методология разработки мультиагентной системы ASEME.

ASEME (AgentSystemsEngineeringMethodology) — это методология проектирования агентных систем, которая заключается в объединении нескольких подохов или их элементов к проектированию подобных систем, доказавших свою применимость и эффективность на практике. Данная методология основывается на модельно-ориентированном подходе. что на практике означает, что модели предыдущего этапа разработки применяются в последующем этапе, но с определенными видоизменениями.

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

Этапы создания МАС

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

Рис. 2. Общий подход к разработке МАС

МОП заключается в систематическом использовании моделей как главных артефактов во время всего цикла разработки. МОП совместима с модельно-ориентированной архитектурной парадигмой разработки, созданной организацией OMG (ObjectManagementGroup). Данная парадигма описывает 3 основные модели:

‒ Вычислительно-независимая модель (Computation Independent Model, CIM) описывает общие требования к системе, словарь используемых понятий и условия функционирования (окружение). Поэтому CIM рекомендуется выполнять с использованием унифицированного языка моделирования UML.

‒ Платформенно-независимая модель (Platform Independent Model, PIM) описывает состав, структуру, функционал системы. Модель PIM создается на основе CIM.

‒ Платформенно-зависимая модель (Platform Specific Model, PSM) описывает состав, структуру, функционал системы применительно к вопросам ее реализации на конкретной платформе.

Фаза анализа требований

Три базовые действия являются примером трех уровней абстракции, о которых было сказано выше: определение действующих лиц, определение целей, определение требований для достижения целей. Входными данными на данном этапе является документ с требованиямим, а выходными — список требований для достижения конкретной цели и диаграма действующих лиц.

Фаза анализа

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

Фаза проектирования

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

Фаза реализации

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

Фазы верификации и оптимизации

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

Достоинства и недостатки методологии

Данная методология уже доказала свою эффективность в задачах проектиорования сложных систем. Основными достоинствами системы являются:

‒ модельно-ориентированных подход

‒ агенто-независимость

‒ платформо-независимость

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

Из недостатков стоит выделить дополнительную сложность проектирования МАС с использованием данного подхода.

Методология MASITS

MASITS (Мультиагентная система для интеллектуальных систем передачи) является методологией полного жизненного цикла для агентно-ориентированной разработки интеллектуальных систем передачи. Методология MASITS включает в себя наиболее важные результаты исследований в области развития ITS и AOSE методологий. Наиболее подходящие методы из существующих методик AOSE используются на стадиях, когда существующие методики позволяют интегрировать конкретные знания для развития ИТС. Кроме того, новые методы введены в шагах, где известные методы не позволяют интегрировать свои знания.

Процесс развития ITS состоит из следующих этапов: анализ, проектирование (внешний и внутренний дизайн), внедрение, тестирование, развертывание и обслуживание. Эти фазы представлены последовательно, хотя процесс разработки является итеративным. Итерации используются как внутри фазы, так и в разных фазах.

Этапы создания МАС

Фаза анализа

Первым шагом является моделирование цели, в результате диаграмма целей отображает иерархию целей системы. В первую очередь определяются глобальные цели на уровне системы. Затем каждая цель разбивается на подцели с помощью разложение на «И« и «ИЛИ». Эти цели разбиваются до тех пор, пока не смогут быть достигнуты с помощью простых действий.

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

Внешнее строение агента

Фаза разработки для интеллектуальной транспортной системы может быть разделена на 2 стадии — внутренний и внешний дизайн агентов. На протяжении первой фазы (внешнего дизайна) агенты разрабатываются с точки зрения функциональных возможностей и взаимодействий. Даная фаза состоит из таких этапов как: определение задачи, распределение задач агентам, дизайн взаимодействия и дизайн онтологии.

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

Внутреннее строение агента

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

Выполнение, тестирование, развертывание и обслуживание

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

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

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

Для фазы тестирования используются JADE тесты и происходит деление на 3 этапа. Во-первых, отдельные агенты тестируют путем создания группы тестов для каждого агента. Во-вторых, каждый холон проходит испытания в качестве составной сущности, то есть в качестве агента. В-третьих, тестируют функциональность системы в целом с использованием традиционных методов тестирования.

Развертывание выполняется с использованием модифицированной версии схемы развертывания UML, который показывает JADE контейнеры и экземпляры агентов, развернутых в каждом контейнере. Диаграмма развертывания используется MASITS, чтобы сформировать пакетный файл.

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

Преимущества и недостатки

Преимущества:

‒ Изменения в системе на подобие изменения функциональных возможностей, соответствующих открытому холону или изменения внутри одного холона, или изменения на уровень выше холона могут реализованы в MASITS, но не могут быть реализованы в ITS (только при переработке системы полностью).

‒ В методологии используются разработки ITS, путем интегрирования в отдельные шаги, чтобы облегчить различные этапы развития.

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

‒ Обеспечиваются соответствующие методы для развития системы в течение всего жизненного цикла.

Недостатки

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

Методология X-machine

В данном подходе используется формальный метод, а именно метод «X-machine», который удовлетворяет потребностям развивающихся агентов и позволяет использовать их на практике. Здесь представлена формализированная методология для разработки систем, основанных на реактивных агентах. Агенты, а также все необходимые расширения модели, представляются формальным образом, которые, в свою очередь, оптимизируют агентную систему. Предложенная методика использует априорные методы (формального моделирования и верификации), чтобы избежать дефектов на ранних стадиях разработки совместно с апостериорными методами (стратегия тестирования черного ящика) чтобы обнаружить любые неоткрытые недостатки в более поздних стадиях.

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

Cвязи всех этих агентов задаются отдельно таким образом, чтобы можно было рассмотреть полную систему в виде сообщающихся X-машин. Такая модель предполагает модульный подход «снизу вверх» и поддерживает итеративное постепенное развитие. Это также облегчает возможность многократного использования существующих моделей данного типа, что делает управление всем проектом более гибким и эффективным, достигая его завершения с меньшей стоимостью и меньшим временем разработки.

Шаги создания МАС

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

1) Разработка моделей типа X-машина (типов агентов X-машины)

Разработка идет независимо от целевой системы, в том числе, можно использовать существующие стандартные типы модели

2) Кодирование модели Х-машина

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

3) Выражение желаемых свойств

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

4) Тестирование

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

5) Создание агентов Х-машины

Создание агентов X-машины и определение способов их взаимодействия между собой.

6) Расширение модели для достижения требуемой функциональности.

Достоинства:

‒ Реактивность;

‒ Ситуационный подход;

‒ Гибкость;

‒ Расширяемость

‒ Высокое качество

Недостатки:

Глубокое понимание предметной области разработки

Жесткая формализация

‒ Сложность формализации требований

Выводы

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

Литература:

  1. Nikolaos Spanoudakis, Pavlos Moraitis. Agent Systems Engineering Methodology: The Development Process
  2. Egons Lavendelis. MASITS — A MULTI-AGENT BASED INTELLIGENT TUTORING SYSTEM DEVELOPMENT METHODOLOGY
  3. Zambonelli, F., et al., 2005. Multi-Agent Systems as Computational Organisations: The Gaia Methodology. Agent-
  4. Oriented Methodologies, (Eds. Henderson-Sellers B., Giorgini P.) Idea Group Publishing, London.
  5. V. Julian and V. Botti. Developing Real-Time Multi-Agent Systems
  6. DeLoach, S., 2001. Analysis and Design Using MaSE and agentTool. Proceedings of the 12th Midwest Artificial
  7. Intelligence and Cognitive Science Conference, Oxford OH, March 31 — April 1 2001
  8. Petros Kefalas, George Eleftherakis, Evangelos Kehris. A methodology for developing component-based agent systems focusing on component quality
Основные термины (генерируются автоматически): предметной области, мультиагентных систем, создания МАС, проектирования мультиагентных систем, разработки онтологии, уровень развития онтологии, разработки агента, методологии проектирования мультиагентных, Этапы создания МАС, использованием онтологии, базового кода агента, разработки приложения, знаний предметной области, процесс разработки, действующих лиц, процессе разработки агента, этапов разработки системы, разработке информационных систем, Создание агентов, строение агента.

Обсуждение

Социальные комментарии Cackle
Задать вопрос