Архитектура пользовательского интерфейса для взаимодействия с многоагентными системами.

Архитектура пользовательского интерфейса для взаимодействия с многоагентными системами.

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

Авторы публикации

Рубрика

Информационные технологии

Журнал

Журнал «Научный лидер» выпуск # 8 (53), февраль ‘22

Дата публицакии 15.02.2022

Поделиться

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

При проектировании и реализации распределенной информационной системы на основе многоагентных технологий используются различные инструменты и технологии, например такие, как Node.js для серверной части и ReactJS для клиентской части приложения, а для создания пользовательского интерфейса применяются такие архитектурные решения, как MVP, MVC, MVVM и прочие. При разработке современных веб-приложений большой популярностью пользуется сервис-ориентированная архитектура (SOA). SOA это подход к разработке программного продукта, основанный на обеспечении удаленного использования распределенных компонентов при помощи стандартизированных протоколов передачи данных.

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

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

  1. Поддержка всех современных операционных систем на стороне сервера веб-приложения и все современные веб-браузеры;
  2. Должна быть легкой автономной подсистемой, с возможностью для интеграции в различные компоненты многоагентной системы;
  3. Необходимость независимости от систем управления базами данных, системных сервисов и служб;
  4. Отвечать требованиями безопасности;
  5. Возможность для расширяемости и адаптации для различных требований многоагентной системы.

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

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

На главной странице веб-приложения содержится базовая структура интерфейса и дальнейшие веб-страницы, загружаемые пользователем, наполняются на основе HTML-шаблона. При переходе по страницам внутри программного продукта не производится загрузка новых страниц, что создает эффект «безшовности», который достигается тем, что страница не загружается каждый раз заново, а на стороне пользователя страница динамически наполняется данными, загружаемыми с сервера. В случае обращения к внешним программным системам контроллер делает запрос к соответствующему компоненту взаимодействия с REST веб-сервисом, который в свою очередь выполняет запрос по протоколу HTTP. После получения ответа данные проходят проверку и форматируются значения для дальнейшего отображения соответствующих данных внутри графического интерфейса пользователя.

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

Список литературы

  1. Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. 2-е издание. 2006г.
  2. Попов А. Эргономика пользовательских интерфейсов в информационных системах. Учебное пособие. Кнорус, 2021г.
  3. Советов Б.Я., Водяхо А.И., Дубенецкий В.А., Цехановский В.В. Архитектура информационных систем. Academia, 2012г.
  4. Википедия [Электронный ресурс].

Предоставляем бесплатную справку о публикации,  препринт статьи — сразу после оплаты.

Прием материалов
c по
Осталось 6 дней до окончания
Размещение электронной версии
Загрузка материалов в elibrary