Методологии проектирования мультиагентных систем
Авторы: Зубарева Мария Георгиевна, Цветков Александр Андреевич, Хамуш Анис Ленин, Шорох Данила Кириллович, Шуклин Алексей Владимирович, Юрсков Сергей Валерьевич
Рубрика: 1. Информатика и кибернетика
Опубликовано в
VI международная научная конференция «Технические науки в России и за рубежом» (Москва, ноябрь 2016)
Дата публикации: 05.11.2016
Статья просмотрена: 2511 раз
Библиографическое описание:
Методологии проектирования мультиагентных систем / М. Г. Зубарева, А. А. Цветков, Анис Ленин Хамуш [и др.]. — Текст : непосредственный // Технические науки в России и за рубежом : материалы VI Междунар. науч. конф. (г. Москва, ноябрь 2016 г.). — Москва : Буки-Веди, 2016. — С. 3-8. — URL: https://moluch.ru/conf/tech/archive/228/11320/ (дата обращения: 22.12.2024).
В данной статье рассмотрены методологии проектирования мультиагентных систем, в том числе, применительно к созданию искусственного интеллекта. Приведен анализ популярных подходов к разработке информационных систем на всех этапах создания.
Ключевые слова: мультиагентная система, объектно-ориентированный подход, искусственный интеллект
В основе мультиагентного подхода лежит понятие программного агента, который реализован и функционирует как самостоятельная элемент программного обеспечения или элемент искусственного интеллекта. Суть мультиагентных технологий заключается в принципиально новом методе решения задач. В отличие от классического способа, когда проводится поиск некоторого четко определенного (детерминированного) алгоритма, позволяющего найти наилучшее решение проблемы, в мультиагентных технологиях решение получается автоматически в результате взаимодействия множества самостоятельных целенаправленных программных модулей — агентов. В данной статье были рассмотрены некоторые популярные способы построения мультиагентных систем.
Методология создания МАС на основе онтологии
Создание онтологии для конкретной бизнес задачи имеет преимущества для разработки, совместимости, возможности многократного использования и интеграции разрабатываемой системы. МАС в совместимости с онтологией могут использовать эти преимущества, предоставляя возможность создавать семантически-совместимые приложения. Данный подход фокусируется на развитии онтологии в качестве движущей силы развития системы и предполагает разработку приложения, в большей части, при помощи экспертов в предметной области, требующую минимального участия разработчиков программного обеспечения. Существует два подхода:
- Поэтапная итеративная методология;
- Конвейер избранных инструментов, с помощью которых осуществляется методология.
Описание методологии
Онтология представляет собой спецификацию объектов, понятий, сущности и отношения между объектами в определенной области. В качестве альтернативы, онтология определяется как формальная, явная спецификация общей концептуализации.
В контексте мультиагентных систем использование онтологии способствует анализу и проектированию этапов разработки системы, развитию интеллекта отдельных агентов, связи и взаимодействию между агентами во время работы, а также возможности взаимодействия агентов с другими системными компонентами. Полностью такой подход звучит как методология развития МАС с онтологией (eng. MOMA).
Конструктивными целями MOMA являются:
- Разработка предметно-ориентированных онтологий для повторного использования и обмен информацией между приложениями в определенной области;
- Перемещение бизнес логики и знаний предметной области из базового кода агента на более высокий уровень развития онтологии;
- Содействие использованию инструментов для ускорения разработки приложения с использованием онтологии;
- Отделение эксперта в предметной области от разработчика агента;
Существуют еще четыре методологии разработки MAS, также включающие в себя понятия онтологии, хотя и не в полной мере, как это используется в МОМА. Этими методологиями являются:
‒ MAS-CommonKADS;
‒ MESSAGE;
‒ Multi-agent Systems Engineering (MaSE);
‒ Процесс спецификации и реализации объединений агентов (PASSI).
MOMA состоит из двух основных этапов развития: разработки онтологии и разработки агента (рисунок1).
Рис. 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) Расширение модели для достижения требуемой функциональности.
Достоинства:
‒ Реактивность;
‒ Ситуационный подход;
‒ Гибкость;
‒ Расширяемость
‒ Высокое качество
Недостатки:
‒ Глубокое понимание предметной области разработки
‒ Жесткая формализация
‒ Сложность формализации требований
Выводы
В данной статье были рассмотрены методологии проектирования мультиагентных систем, в том числе, применительно к созданию искусственного интеллекта. Приведен анализ популярных подходов к разработке информационных систем на всех этапах создания.
Литература:
- Nikolaos Spanoudakis, Pavlos Moraitis. Agent Systems Engineering Methodology: The Development Process
- Egons Lavendelis. MASITS — A MULTI-AGENT BASED INTELLIGENT TUTORING SYSTEM DEVELOPMENT METHODOLOGY
- Zambonelli, F., et al., 2005. Multi-Agent Systems as Computational Organisations: The Gaia Methodology. Agent-
- Oriented Methodologies, (Eds. Henderson-Sellers B., Giorgini P.) Idea Group Publishing, London.
- V. Julian and V. Botti. Developing Real-Time Multi-Agent Systems
- DeLoach, S., 2001. Analysis and Design Using MaSE and agentTool. Proceedings of the 12th Midwest Artificial
- Intelligence and Cognitive Science Conference, Oxford OH, March 31 — April 1 2001
- Petros Kefalas, George Eleftherakis, Evangelos Kehris. A methodology for developing component-based agent systems focusing on component quality
Похожие статьи
Методы проектирования архитектуры информационных систем
Статья посвящена методам проектирования архитектуры информационных систем. Описаны достоинства и недостатки рассмотренных подходов. Представлено мнение автора об использовании нужного из перечисленных методов при проектировании архитектуры различных ...
Формализация требований для средств разработки и обучения нейронных сетей
Статья посвящена описанию требований для разработки программных средств проектирования нейронных сетей, рекомендуемые функциональные и общие системные решения, основанные на опыте использования различных библиотек моделирования для программ машинного...
Перспективы разработки программного обеспечения для визуализации результатов теоретико-множественного анализа сложных систем
В данной статье рассмотрена актуальность проведения теоретико-множественного анализа. Проведен анализ предметной области. Рассмотрены недостатки существующих программных решений. Создана функциональная модель реализации визуализации сложной системы.
Обзор методов сценарного подхода, применяющихся при проектировании информационных систем
В данной статье приведен обзор наиболее используемых методов сценарного подход, а также рассмотрена проблема использования диверсионного анализа применительно к информационным технологиям с целью повышения надежности.
Анализ средств для реализации нейронных сетей на языке программирования Java
В данной статье рассматриваются основные требования к реализации нейронных сетей, описываются возможности языка Java по созданию компонентов нейронных сетей. Так же приводится анализ и сравнение уже существующих решений для данного языка и производит...
Актуальность применения микросервисной архитектуры в системах обработки данных
В статье рассматриваются основные виды архитектур программного обеспечения. Подробно рассматривается микросервисная архитектура, обсуждаются её достоинства и недостатки. Проведен анализ актуальности применения микросервисной архитектуры в системах об...
Моделирование систем защиты информации. Приложение теории графов
В статье рассматриваются основные теории и методы моделирования систем защиты информации (СЗИ). Автор останавливает внимание на применении математической теории графов к моделированию СЗИ и предлагает собственную модель, реализующую подход управления...
Анализ современных подходов в архитектуре предприятий
В статье рассматриваются современные подходы в архитектуре предприятий, их особенности, достоинства и недостатки. Изучены фреймворк Захмана, подход TOGAF и методология компании “Gartner”.
Исследование методов автоматического программирования с применением искусственного интеллекта
В статье автор исследует методы применения искусственного интеллекта для разработки инструментов разработки программного обеспечения направлены на создание интеллектуальных систем, способных автоматически анализировать, оптимизировать и документирова...
Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки
В статье рассматриваются современные подходы к автоматизации процессов разработки программного обеспечения с использованием искусственного интеллекта и нейронных сетей. Проанализированы существующие решения и перспективы их развития.
Похожие статьи
Методы проектирования архитектуры информационных систем
Статья посвящена методам проектирования архитектуры информационных систем. Описаны достоинства и недостатки рассмотренных подходов. Представлено мнение автора об использовании нужного из перечисленных методов при проектировании архитектуры различных ...
Формализация требований для средств разработки и обучения нейронных сетей
Статья посвящена описанию требований для разработки программных средств проектирования нейронных сетей, рекомендуемые функциональные и общие системные решения, основанные на опыте использования различных библиотек моделирования для программ машинного...
Перспективы разработки программного обеспечения для визуализации результатов теоретико-множественного анализа сложных систем
В данной статье рассмотрена актуальность проведения теоретико-множественного анализа. Проведен анализ предметной области. Рассмотрены недостатки существующих программных решений. Создана функциональная модель реализации визуализации сложной системы.
Обзор методов сценарного подхода, применяющихся при проектировании информационных систем
В данной статье приведен обзор наиболее используемых методов сценарного подход, а также рассмотрена проблема использования диверсионного анализа применительно к информационным технологиям с целью повышения надежности.
Анализ средств для реализации нейронных сетей на языке программирования Java
В данной статье рассматриваются основные требования к реализации нейронных сетей, описываются возможности языка Java по созданию компонентов нейронных сетей. Так же приводится анализ и сравнение уже существующих решений для данного языка и производит...
Актуальность применения микросервисной архитектуры в системах обработки данных
В статье рассматриваются основные виды архитектур программного обеспечения. Подробно рассматривается микросервисная архитектура, обсуждаются её достоинства и недостатки. Проведен анализ актуальности применения микросервисной архитектуры в системах об...
Моделирование систем защиты информации. Приложение теории графов
В статье рассматриваются основные теории и методы моделирования систем защиты информации (СЗИ). Автор останавливает внимание на применении математической теории графов к моделированию СЗИ и предлагает собственную модель, реализующую подход управления...
Анализ современных подходов в архитектуре предприятий
В статье рассматриваются современные подходы в архитектуре предприятий, их особенности, достоинства и недостатки. Изучены фреймворк Захмана, подход TOGAF и методология компании “Gartner”.
Исследование методов автоматического программирования с применением искусственного интеллекта
В статье автор исследует методы применения искусственного интеллекта для разработки инструментов разработки программного обеспечения направлены на создание интеллектуальных систем, способных автоматически анализировать, оптимизировать и документирова...
Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки
В статье рассматриваются современные подходы к автоматизации процессов разработки программного обеспечения с использованием искусственного интеллекта и нейронных сетей. Проанализированы существующие решения и перспективы их развития.