ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

Classification of common design patterns for multi-agent systems

Date of submission article: 11.05.2022
Date after edit article: 04.07.2022
UDC: 004.42:004.9
The article was published in issue no. № 4, 2022 [ pp. 670-679 ]
Abstract:Typically, developing multi-agent systems (MAS) involves using special frameworks or simulation model development environments. They provide the developer with the necessary functionality of an agent launch-ing environment, communication between agents, organization of access to resources and much more. However, there are cases when a stakeholder stipulates that it is necessary to avoid dependencies in the form of these toolkits. The lack of a unified database of MAS design patterns without their binding to specific domain in this case is a significant problem. Therefore, developers are coming up with solutions that have been already described earlier. The purpose of this work is to review and analyze the existing classifications of MAS design patterns, to identify common design patterns without their binding to specific domain, which can be used in the design of multi-agent systems and their classification. From more than 200 MAS design patterns in the public domain, the author has formed a base of 60 pat-terns that are not related to a specific domain. He also proposed the following classification of common MAS design patterns: structural, behavioral, migration, communication, architectural (system), protective and cognitive. Some of the classes of patterns allow introducing additional elements that extend functionali-ty of the system, while others aim to implement different aspects of both the agent and MAS. The most prominent class of all proposed patterns is architectural (systemic) patterns, as they specify different types of agent architectures, multi-agent systems or elements that lay down rigid software constraints on the functioning of the developed system or its parts.
Аннотация:При разработке мультиагентных систем обычно используются специальные фреймворки или среды разработки имитационных моделей. Они предоставляют разработчику необходимый функционал среды запуска агентов, коммуникацию между ними, организацию доступа к ресурсам и многое другое. Однако бывают случаи, когда стейкхолдер ставит условие, что при разработке системы необходимо избежать зависимостей в виде данных инструментальных средств. Отсутствие единой базы шаблонов проектирования мультиагентных систем без их привязки к конкретным предметным областям в данном случае представляет собой значительную проблему, поэтому разработчики заново придумывают описанные ранее решения. Цель данной работы – обзор и анализ существующих классификаций шаблонов проектирования мультиагентных систем, выявление общих шаблонов проектирования без их жесткой привязки к конкретной предметной области, которые можно применять в процессе проектирования мультиагентных систем, и их последующая классификация для удобства использования. Из более чем 200 шаблонов проектирования мультиагентных систем, находящихся в открытом доступе, автором была сформирована база в 60 шаблонов, не привязанных к конкретной предметной области. Также предложена классификация общих шаблонов проектирования мультиагентных систем: структурные, поведенческие, миграционные, коммуникационные, архитектурные (системные), защитные и когнитивные. Некоторые из классов шаблонов позволяют ввести в систему дополнительные элементы, расширяющие ее функциональные возможности, в то время как другие направлены на реализацию различных аспектов работы как агента, так и мультиагентных систем. Из всех предложенных классов шаблонов наиболее выделяются архитектурные (системные), так как они задают различные виды архитектур агентов, мультиагентных систем или элементов, которые закладывают жесткие программные ограничения функционирования разрабатываемой системы или ее частей.
Authors: S.A. Chernyshev (chernyshev.s.a@bk.ru) - General of the Army A.V. Khrulyov Military Academy of Logistics, St. Petersburg State University of Aerospace Instrumentation (Senior Researcher, Senior Lecturer), St. Petersburg, Russia, Ph.D
Keywords: multi-agent systems, design patterns, classification, analysis, pattern base
Page views: 1803
PDF version article

Font size:       Font:

Интерес бизнеса к решениям, использующим мультиагентный подход, постоянно растет. Зачастую это связано с комплексной сложностью задач и невозможностью достижения удовлетворительного результата за требуемый промежуток времени уже существующими на рынке решениями, с необходимостью адаптации системы к постоянным изменениям, протекающим в объекте управления, и т.д. [1–3].

В случае, когда стейкхолдер не предъявляет требования к отсутствию зависимостей разрабатываемого программного продукта от мультиагентных фреймворков или сторонних библиотек, процесс разработки протекает значительно легче и быстрее. Это связано с тем, что фреймворки или среды разработки имитационных моделей уже реализуют необходимый функционал среды запуска агентов, коммуникацию между ними, организацию доступа к ре-  сурсам и многое другое. Среди таких инструментов наиболее выделяются Jade, Anylogic, Gamma, NetLogo, Repast Symfony и т.д. [4, 5]. Они же используются и при обучении проектированию мультиагентных систем (МАС) в большинстве учебных заведений. К сожалению, эти инструменты навязывают разработчику свои правила игры: архитектурный подход, часть готовых решений, сервисов и т.д.   В среднесрочной перспективе в этом нет ничего плохого, но, когда стоит задача разработать полноценную МАС с нуля без зависи-  мостей от существующих мультиагентных фреймворков, инструментарий для разработки такого рода систем или внести фундаментальные (или не очень) изменения в архитектуру существующей системы, студент, инженер или исследователь впадает в «ступор», связанный с незнанием подходов и архитектурных паттер-  нов (шаблонов), лежащих в основе мульти-  агентных фреймворков.

Понятие «паттерн (шаблон) проектирования» впервые было введено в конце 70-х годов и использовалось для описания шаблонных архитектурных решений в строительстве [6]. При проектировании программных систем оно стало использоваться после выхода в свет книги [7]. Изложенные в этом труде шаблоны проектирования (GoF design patterns) считаются классическими и используются повсеместно для решения проблем, которые могут возникать в процессе проектирования программных систем. Ряд из них лежат в основе шаблонов проектирования МАС, которые представляют собой лишь некоторые обобщенные принципы (рекомендации), предлагаемые к использованию при проектировании дизайна системы. К тому же их необходимо адаптировать под кодовую базу разрабатываемой МАС, а не использовать как есть.

Дополнительные сложности при анализе и изучении шаблонов проектирования МАС обусловлены их количеством – более 200 [8], не всегда полным описанием, актуальностью   (из-за увеличения пропускной скорости сетей и производительности персональных компьютеров), дублированием (шаблоны имеют разные названия, а описывают идентичные решения проблемы) и отсутствием примеров кода. Также шаблон может быть настолько узкоспециализированным, что не представляется возможным адаптировать его под другие предметные области. Еще одна из проблем – то, что авторами заявляется как шаблон, на самом деле таковым не является. При этом отсутствует их актуальная классификация, так как некоторые из попыток были впервые предприняты в 90-х годах прошлого века, когда насчитывалось не более двух десятков шаблонов, а более современные опирались на машинный анализ текста, без привлечения экспертов для анализа статей с описанием шаблонов, подаваемых на вход разработанного классификатора.

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

Существующие классификации шаблонов проектирования МАС

Первая попытка классифицировать существующие шаблоны проектирования МАС была предпринята в работе [9]. Авторы разделили шаблоны на три класса – миграции, задач и взаимодействия. Шаблоны миграции предоставляли решения того, как организовать управление перемещениями мобильных агентов. Шаблоны задач решали проблемы разбивки задач, которые ставились агентам, на части и делегирования этих задач одному или нескольким агентам. Шаблоны взаимодействия решали проблему организации взаимодействия между существующими агентами в разрабатываемых системах. Всего в эту классификацию вошли 8 шаблонов проектирования.

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

Добавить еще три группы шаблонов – поведенческие, когнитивные и мобильности предлагается в [11]. Поведенческие шаблоны должны описывать различные аспекты работы агента, когнитивные – архитектуру рассуждений агентов, а шаблоны мобильности – аспекты способности агентов перемещаться по сети. При этом автор отмечает, что окажутся ли полезными какие-либо из этих классификаций или все они, станет известно только по мере того, как агентные технологии станут зрелыми и увеличится количество задокументированного опыта их внедрения.

В работе [12] авторы выделяют три категории шаблонов проектирования МАС – архитектурные, проектирования и тактические. Архитектурные описывают различные решения проблем на уровне архитектуры системы и агента. Шаблоны проектирования призваны решать общие проблемы проектирования внутри агента, а тактические служат для решения проблем при работе с мультиагентными платформами. Всего в работе приведены три шаблона проектирования, по одному на каждый класс.

Наиболее емкой является работа [8]. Несмотря на то, что в ее основе лежит систематический обзор литературы и ставятся определенные критерии по отбору статей, авторы не смогли их придерживаться. Так, например, статьи не должны были рассматриваться либо шаблон не должен быть включен в общий список найденных шаблонов проектирования, если нет его подробного описания. Допускалось дублирование шаблонов и не производилась оценка их актуальности. К тому же некоторые шаблоны с разными названиями имели идентичное описание решения проблемы в рамках проектирования МАС и авторы сами признали, что некоторые шаблоны настолько узкоспециализированные, что не видится их применение или адаптация под другую предметную область.

Предложенная в [8] классификация была проведена с использованием машинного анализа текста и направлена, как заявляют авторы, на то, чтобы охватить все пространство шаблонов для МАС, существующих на момент проведения исследований (1998–2012 гг.). Всего выделены четыре измерения шаблонов для МАС: вдохновение, абстракция, фокус и детализация, каждый из которых делится на различные категории (рис. 1)

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

В отечественной литературе подобные работы найти не удалось. В основном все ограничивается кратким обзором небольшого количества шаблонов из иностранных источников [14, 15]. Это связано еще и с тем, что в процессе описания методики не делается упор на программную архитектуру.

Предлагаемая классификация общих   шаблонов проектирования МАС

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

На основании обзора и анализа отечественных источников предлагается следующая классификация общих шаблонов проектирования МАС.

Структурные шаблоны. Позволяют добавлять нового агента на основе сторонней программы, которая изначально вообще не предполагалась для использования в данных целях; отделять часть функциональности от агента и возлагать обязанности по ее выполнению на новый элемент системы, тем самым делегируя ему выполнение части задач агента, что даст возможность увеличить производительность системы; реализовать механизм оповещения агентов о текущих возможностях их среды исполнения и т.д. Иными словами, структурные шаблоны проектирования МАС вводят в разрабатываемую систему дополнительные элементы, расширяющие ее функциональные   возможности, но не оказывающие сильного влияния на программную архитектуру. К структурным шаблонам проектирования, которые не привязаны к конкретным предметным областям, относятся: ведущий–ведомый, адаптируемый активный объект, приоритет, удаленный конфигуратор, обертка, виртуальный кластер, декомпозиция задачи, обновление общего состояния, монитор [9, 16–20].

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

Миграционные шаблоны. Описывают различные способы организации миграции агентов между вычислительными узлами (хостами) или средами выполнения агентов. К миграционным шаблонам проектирования, которые не привязаны к конкретным предметным областям, относятся: маршрут, клон, частичное клонирование, собственный маршрут [16, 18, 23].

Коммуникационные шаблоны. Решают, как различными способами организовать соци-  альное взаимодействие между агентами. К коммуникационным шаблонам проектирования, не привязанным к конкретным предметным областям, относятся: встреча, беседа, фасилитатор, проксирующий агент, протокол, брокер, посольство, посредник, прямое соединение, сеанс связи, бейдж, диспетчер событий, секретарь, мобильная сессия, доска, дисциплинированный флуд, умное сообщение, администратор [23–27].

Архитектурные (системные) шаблоны. Задают различные виды архитектур агентов, МАС или элементов, закладывающих жесткие программные ограничения функционирования разрабатываемой системы (ее частей), с которыми предстоит считаться для внесения изменений в кодовую базу, расширения функционала, добавления новых элементов в систему   и т.д. К архитектурным (системным) шаблонам проектирования, которые не привязаны к конкретным предметным областям, относятся, например, InteRRaP, отражающая доска, виртуальная среда, BDI-архитектура агента, сети потребностей и возможностей [27–31].

Защитные шаблоны. Позволяют организовать безопасное функционирование системы, когда в качестве агентов могут выступать сторонние приложения и/или необходимо ввести дополнительный уровень безопасности, чтобы агенты не имели неавторизированного уровня доступа к ресурсам среды выполнения агентов. К защитным шаблонам проектирования, которые не привязаны к конкретным предметным областям, относятся: охрана агентства [32], аутентификатор, песочница, контроллер доступа.

Когнитивные шаблоны. Позволяют организовать у агента или в МАС различные способы распознавания собственных намерений или намерений других агентов в системе, описывая архитектуру их рассуждений. К когнитивным шаблонам проектирования, которые не привязаны к конкретным предметным областям, относятся: намерение, оппортунист, ясновидящий, ощущение и вывод, облегченное ощущение и вывод, экологический распознаватель, гибридный распознаватель [16].

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

Переработка шаблонов из предлагаемой классификации

В ходе формирования БД общих шаблонов проектирования МАС и их классификации возникала необходимость актуализации шаблона проектирования до того уровня, на котором он используется при проектировании современных МАС. Например, один из основополагающих шаблонов проектирования, лежащий в основе почти всех разрабатываемых МАС, – «виртуальная среда». В работе [27] он описывается применительно к построению виртуальной среды транспортного средства с автопилотом, формируемой на основе датчиков, что делает его достаточно узкоспециализированным. В то же время его сущность используется в исходных кодах JADE и других фреймворков, а также наблюдается в автосгенерированных моделях AnyLogic. В связи с этим наблюдается некий парадокс. Шаблон существует, используется, но имеющееся в научной публикации описание не соответствует действительности. При этом его реализации в различных фреймворках и средах значительно отличаются друг от друга.

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

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

Структурно шаблон представлен на рисунке 2.

Единичные агенты – агенты, представленные единственным экземпляром в предметной области. Популяции объединяют агентов, которые отличаются только своими внутренними состояниями (например, персонал завода). Агент мониторинга следит за внутренним состоянием виртуальной среды. Когда агенты придут к состоянию равновесия, это будет являться сигналом к завершению работы сервиса синхронизации (или самой среды) вплоть до момента, пока оператор или другое ПО не оповестит об изменении количества ресурсов или внутреннего состояния любого из агентов, пребывающих в виртуальной среде. Брокер коммуникации используется для организации взаимодействия между агентами, которое будет осуществляться по заранее оговоренному (реализованному) протоколу. На него также может быть возложена обязанность по организации доступа для агентов к базе знаний (эту обязанность сразу можно перенести в код). Все зависит от того, насколько часто предполагается изменение онтологической базы знания предметной области. Брокер ресурсов предоставляет агентам доступ к внутренним или внешним ресурсам виртуальной среды в соответствии с онтологией. Сервис синхронизации стартует с мониторинга состояний виртуальной среды и начала взаимодействия агентов и отвечает за то, чтобы все действия агентов происходили в рамках онтологии предметной области.

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

БД классифицируемых шаблонов проектирования

На основе предлагаемой классификации была сформирована БД средствами СУБД SQLite и разработан графический пользовательский интерфейс с применением мультиплатформенного фреймворка Flutter. На данный момент приложение работает на операционных системах Windows, macOS и Linux, но в последующем может быть адаптировано под мобильные платформы. На рисунке 3 представлено главное окно приложения.

Выбрав один из предлагаемых приложением классов, пользователь может ознакомиться с предназначением каждого из входящих в него шаблонов, после чего открыть необходимый для отдельного ознакомления (см. http://www.swsys.ru/uploaded/image/2022-4/  2022-4-dop/18.jpg).

Описание каждого шаблона содержит рекомендации по его использованию, пояснения по структуре, рисунок компоновки классов (где это возможно), а также достоинства и недостатки.

Заключение

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

Временной разброс работ, из которых получилось сформировать выборку, показал, что по общим шаблонам проектирования МАС статьи публиковались в диапазоне с 1997 по 2010 гг., после чего приобрели узкую направленность. Это не исключает появления новых общих шаблонов, но позволяет сделать вывод о том, что за прошедшее время сформировался твердый фундамент для проведения дальнейших исследований, связанных с проектированием систем, основанных на мультиагентных технологиях. Больше всего было выявлено коммуникационных шаблонов. Это явно свидетельствует о том, что ученые и инженеры чаще всего сталкивались с проблемами организации взаимодействия между агентами в разрабатываемых ими системах.

Уже много лет шаблоны проектирования GoF позволяют решать различные проблемы, возникающие при разработке программных систем, общаться инженерам и ученым на одном языке. Поэтому код представленного в работе приложения и БД планируется выложить в открытый доступ после получения государственных свидетельств.

Литература

1.     Швецов А.Н., Дианов С.В., Дианов Д.С. Проектирование мультиагентной системы разрешения межфункциональных конфликтов на предприятии // Вестн. ЧГУ. 2022. Т. 1. № 106. С. 74–89. DOI: 10.23859/1994-0637-2022-1-106-6.

2.     Эшмурадов Д.Э., Элмурадов Т.Д., Тураева Н.М. Автоматизация обработки аэронавигационной информации на основе многоагентных технологий // Науч. вестн. МГТУ ГА. 2022. Т. 25. № 01.   С. 65–75. DOI: 10.26467/2079-0619-2022-25-1-65-76.

3.     Ляховенко Ю.А., Попов И.Ю. Исследование влияния человеческих факторов на скорость движения рельсового городского транспорта // Науч.-технич. вестн. ИТМО. 2022. Т. 22. № 1. С. 60–66. DOI: 10.17586/2226-1494-2022-22-1-60-66.

4.     Чернышев С.А., Кияев В.И., Газуль С.М. Использование платформы Python для разработки мультиагентных систем // Вестн. Санкт-Петербургского государственного университета технологии и дизайна. Сер. 1: Естественные и технические науки. 2021. № 4. С. 82–88. DOI: 10.46418/2079-8199_2021_4_12.

5.     Филяев М.П., Чернышев С.А., Николаев П.А. Сравнительный анализ инструментальных программных средств для разработки имитационных моделей логистических процессов // Научные проблемы МТО ВС РФ. 2020. № 2. С. 92–104.

6.     Alexander C. The Timeless Way of Building. Oxford U. Press, NY, USA, 1979, 552 p.

7.     Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publ., 1994, 416 p.

8.     Juziuk J., Weyns D., Holvoet T. Design patterns for multi-agent systems: A systematic literature review. In: Agent-Oriented Software Engineering, 2014, pp. 79–99. DOI: 10.1007/978-3-642-54432-3_5.

9.     Aridor Y., Lange D.B. Agent design patterns: elements of agent application design. Proc. II Int. Conf. AGENTS, 1998, pp. 108–115. DOI: 10.1145/280765.280784.

10. Sauvage S. Design patterns for multiagent systems design. In: MICAI 2004: Advances in Artificial Intelligence, 2004, pp. 352–361. DOI: 10.1007/978-3-540-24694-7_36.

11. Heinze C. Modelling intention recognition for intelligent agent systems. Air Operations Division Systems Sciences Laboratory, 2004, DSTO-RR-0286, 236 p.

12. Taylor P.R., Evans-Greenwood P., Odell J. The genesis of a pattern language for agent-based enterprise systems. Proc. V Int. Conf. QSIC, 2005, pp. 395–400. DOI: 10.1109/QSIC.2005.65.

13. Chella A., Cossentino M., Gaglio S., Sabatucci L., Seidita V. Agent-oriented software patterns for rapid and affordable robot programming. J. of Systems and Software, 2010, vol. 83, no. 4, pp. 557–573. DOI: 10.1016/j.jss.2009.10.035.

14. Городецкий В.И., Грушинский М.С., Хабалов А.В. Многоагентные системы (обзор) // Новости ИИ. 1998. № 2. С. 64–116.

15. Швецов А.Н. Агентно-ориентированные системы: от формальных моделей к промышленным приложениям. 2008. URL: https://www.elibrary.ru/item.asp?id=29998049 (дата обращения: 06.05.2022).

16. Kendall E.A., Murali Krishna P.V., Pathak C.V., Suresh C.B. Patterns of intelligent and mobile agents. Proc. II Int. Conf. on Autonomous Agents, 1998, pp. 92–99.

17. Hayden S.C., Carrick C., Yang Q. Architectural design patterns for multiagent coordination. Proc. III Int. Conf. on Autonomous Agents, 1999.

18. Shu S., Norrie D.H. Patterns for adaptive multi-agent systems in intelligent manufacturing. Proc. II Int. Workshop on Intelligent Manufacturing Systems, 1999, pp. 67–74.

19. Tahara Y., Ohsuga A., Honiden S. Agent system development method based on agent patterns. Proc. XXI ICSE, 1999, pp. 356–367.

20. Schelfthout K., Coninx T., Helleboogh A. et al. Agent implementation patterns. Proc. OOPSLA, 2002, pp. 119–130.

21. Cabri G., Ferrari L., Leonardi L. Role agent pattern: A developer guideline. Proc. IEEE Int. Conf. SMC, 2003, vol. 5, pp. 4114–4119. DOI: 10.1109/ICSMC.2003.1245631.

22. Ojha A.Ch., Pradhan S.K., Patra M.R. Pattern-based design for intelligent mobile agents. Proc. IIT, 2007, pp. 501–505. DOI: 10.1109/IIT.2007.4430411.

23. Holvoet T., Weyns D., Valckenaers P. Delegate MAS patterns for large-scale distributed coordination and control applications. Proc. XV EuroPLoP, 2010, art. 25, pp. 1–16. DOI: 10.1145/2328909.2328940.

24. Deugo D., Weiss M., Kendall E. Reusable patterns for agent coordination. In: Coordination of Internet Agents, 2001, pp. 347–368. DOI: 10.1007/978-3-662-04401-8_14.

25. Deugo D., Oppacher F., Kuester J., Otte I.V. Patterns as a means for intelligent software engineering. Proc. Conf. on Artificial Intelligence, 1999, pp. 605–611.

26. Silva I.C., da Silva A.R., Meira N. A set of agent patterns for a more expressive approach. Proc. EuroPLOP, 2000, pp. 331–346.

27. Wooldridge M.J. An Introduction to Multiagent Systems. John Wiley & Sons Publ., Chichester, UK, 2009, 461 p.

28. Lind J. Patterns in agent-oriented software engineering. Proc. III Int. Conf. AOSE, 2003, pp. 47–58. DOI: 10.1007/3-540-36540-0_4.

29. Silva O., Garcia A., Lucena C. The reflective blackboard pattern: Architecting large multiagent systems. In: Software Engineering for Large-Scale Multi-Agent Systems, 2003, pp. 73–93. DOI: 10.1007/3-540-35828-5_5.

30. De Filippo A., Lombardi M., Milano M. BDI agent architectures: A survey. The blind men and the elephant: Integrated offline/online optimization under uncertainty. Proc. XXIX Int. Joint Conf. on Artificial Intelligence, 2020, pp. 4840–4846. DOI: 10.24963/ijcai.2020/674.

31. Виттих В.А., Скобелев П.О. Мультиагентные модели взаимодействия для построения сетей потребностей и возможностей в открытых системах // Автоматизированные системы управления. 2003. Т. 64. № 1. С. 177–185.

32. Mouratidis H., Giorgini P., Schumacher M. Security patterns for agent systems. Proc. VIII Conf. European PLoP, 2003.

References

  1. Shvetcov A.N., Dianov S.V., Dianov D.S. Designing a multi-agent system for resolving interfunctional conflicts in an enterprise. ChSU, 2022, vol. 1, no. 106, pp. 74–89. DOI: 10.23859/1994-0637-2022-1-106-6 (in Russ.).
  2. Eshmuradov D.E., Elmuradov T.D., Turayeva N.M. Automation of aeronautical information processing based on multi-agent technologies. Civil Aviation High Technologies, 2022, vol. 25, no. 01, pp. 65–75. DOI: 10.26467/2079-0619-2022-25-1-65-76 (in Russ.).
  3. Lyakhovenko Ju.A., Popov I.Yu. A study of the influence of human factors on the speed of urban rail transport. Sci.Tech. J. Inf. Technol. Mech. Opt., 2022, vol. 22, no. 1, pp. 60–66. DOI: 10.17586/2226-1494-2022-22-1-60-66 (in Russ.).
  4. Chernyshev S.А., Kiyaev V.I., Gazul S.M. Using the python platform to develop multi-agent systems. Vestn. of St. Petersburg State University of Technology and Design. Ser. 1. Natural and Technical Science, 2021, no. 4, pp. 82–88. DOI: 10.46418/2079-8199_2021_4_12 (in Russ.).
  5. Filyaev M.P., Chernyshev S.A., Nikolaev P. Compare of softwaretools for the development of simulation models logistic process. Scientific Challenges of Logistical Support of the Armed Forces of the Russian Federation, 2020, no. 2, pp. 92–104 (in Russ.).
  6. Alexander C. The Timeless Way of Building. Oxford U. Press, NY, USA, 1979, 552 p.
  7. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publ., 1994, 416 p.
  8. Juziuk J., Weyns D., Holvoet T. Design patterns for multi-agent systems: A systematic literature review. In: Agent-Oriented Software Engineering, 2014, pp. 79–99. DOI: 10.1007/978-3-642-54432-3_5.
  9. Aridor Y., Lange D.B. Agent design patterns: elements of agent application design. Proc. II Int. Conf. AGENTS, 1998, pp. 108–115. DOI: 10.1145/280765.280784.
  10. Sauvage S. Design patterns for multiagent systems design. In: MICAI 2004: Advances in Artificial Intelligence, 2004, pp. 352–361. DOI: 10.1007/978-3-540-24694-7_36.
  11. Heinze C. Modelling intention recognition for intelligent agent systems. Air Operations Division Systems Sciences Laboratory, 2004, DSTO-RR-0286, 236 p.
  12. Taylor P.R., Evans-Greenwood P., Odell J. The genesis of a pattern language for agent-based enterprise systems. Proc. V Int. Conf. QSIC, 2005, pp. 395–400. DOI: 10.1109/QSIC.2005.65.
  13. Chella A., Cossentino M., Gaglio S., Sabatucci L., Seidita V. Agent-oriented software patterns for rapid and affordable robot programming. J. of Systems and Software, 2010, vol. 83, no. 4, pp. 557–573. DOI: 10.1016/j.jss.2009.10.035.
  14. Gorodetskiy V.I., Grushinskiy M.S., Khabalov A.V. Multi-agent systems (review). News of Artificial Intelligence, 1998, no. 2, pp. 64–116 (in Russ.).
  15. Shvetsov A.N. Agent-Based Systems: From Formal Models to Industrial Applications. 2008. Available at: http://www.ict.edu.ru/lib/index.php?idres=5656 (accessed May 06, 2022) (in Russ.).
  16. Kendall E.A., Murali Krishna P.V., Pathak C.V., Suresh C.B. Patterns of intelligent and mobile agents. Proc. II Int. Conf. on Autonomous Agents, 1998, pp. 92–99.
  17. Hayden S.C., Carrick C., Yang Q. Architectural design patterns for multiagent coordination. Proc. III Int. Conf. on Autonomous Agents, 1999.
  18. Shu S., Norrie D.H. Patterns for adaptive multi-agent systems in intelligent manufacturing. Proc. II Int. Workshop on Intelligent Manufacturing Systems, 1999, pp. 67–74.
  19. Tahara Y., Ohsuga A., Honiden S. Agent system development method based on agent patterns. Proc. XXI ICSE, 1999, pp. 356–367.
  20. Schelfthout K., Coninx T., Helleboogh A. et al. Agent implementation patterns. Proc. OOPSLA, 2002, pp. 119–130.
  21. Cabri G., Ferrari L., Leonardi L. Role agent pattern: A developer guideline. Proc. IEEE Int. Conf. SMC, 2003, vol. 5, pp. 4114–4119. DOI: 10.1109/ICSMC.2003.1245631.
  22. Ojha A.Ch., Pradhan S.K., Patra M.R. Pattern-based design for intelligent mobile agents. Proc. IIT, 2007, pp. 501–505. DOI: 10.1109/IIT.2007.4430411.
  23. Holvoet T., Weyns D., Valckenaers P. Delegate MAS patterns for large-scale distributed coordination and control applications. Proc. XV EuroPLoP, 2010, art. 25, pp. 1–16. DOI: 10.1145/2328909.2328940.
  24. Deugo D., Weiss M., Kendall E. Reusable patterns for agent coordination. In: Coordination of Internet Agents, 2001, pp. 347–368. DOI: 10.1007/978-3-662-04401-8_14.
  25. Deugo D., Oppacher F., Kuester J., Otte I.V. Patterns as a means for intelligent software engineering. Proc. Conf. on Artificial Intelligence, 1999, pp. 605–611.
  26. Silva I.C., da Silva A.R., Meira N. A set of agent patterns for a more expressive approach. Proc. EuroPLOP, 2000, pp. 331–346.
  27. Wooldridge M.J. An Introduction to Multiagent Systems. John Wiley & Sons Publ., Chichester, UK, 2009, 461 p.
  28. Lind J. Patterns in agent-oriented software engineering. Proc. III Int. Conf. AOSE, 2003, pp. 47–58. DOI: 10.1007/3-540-36540-0_4.
  29. Silva O., Garcia A., Lucena C. The reflective blackboard pattern: Architecting large multiagent systems. In: Software Engineering for Large-Scale Multi-Agent Systems, 2003, pp. 73–93. DOI: 10.1007/3-540-35828-5_5.
  30. De Filippo A., Lombardi M., Milano M. BDI agent architectures: A survey. The blind men and the elephant: Integrated offline/online optimization under uncertainty. Proc. XXIX Int. Joint Conf. on Artificial Intelligence, 2020, pp. 4840–4846. DOI: 10.24963/ijcai.2020/674.
  31. Vittikh V.A., Skobelev P.O. Multiagent interaction models for constructing the needs-and-means networks in open systems. Automated Control Systems, 2003, vol. 64, no. 1, pp. 177–185 (in Russ.).
  32. Mouratidis H., Giorgini P., Schumacher M. Security patterns for agent systems. Proc. VIII Conf. European PLoP, 2003.

Permanent link:
http://swsys.ru/index.php?page=article&id=4953&lang=en
Print version
The article was published in issue no. № 4, 2022 [ pp. 670-679 ]

Perhaps, you might be interested in the following articles of similar topics: