Учеными из университетов Швейцарии, Кипра и Греции совместно с Метеорологической службой Кипра разработана многоагентная система для управления данными метеорологического радара и обеспечения поддержки принятия решений, названная Абакус.
Метеорологическая служба Кипра использует доплеровский радар, установленный на северо-западе горного региона острова, недалеко от монастыря средних веков Киккос, отсюда получивший свое название. Потоки данных, записываемые радаром, используются для прогноза погоды и, что особенно важно, для определения надвигающихся опасных, экстремальных погодных условий и предупреждения об этом.
Антенна Киккоса способна выполнить полный оборот на 360 градусов на горизонтальной плоскости, в то время как ориентация ее по вертикали может быть настроена оператором. Луч Киккоса отражается облаками или другими препятствиями в радиусе его действия. Таким образом, сканеры радара Киккос обеспечивают трехмерный обзор атмосферы вокруг острова. За сбор данных от радара, их предварительную обработку и, в конечном счете, принятие решений, отвечают ученые-метеорологи. Процесс обработки данных включает в себя фильтрацию и восстановление данных в случае возникновения искажающих помех, например таких, как отражение луча радара от земли и от гор. Непрерывная обработка, оценка данных, техническое обслуживание, а также интерпретация и визуализация данных радара требует значительных усилий метеорологов. Чтобы содействовать метеорологам и автоматизировать значительную часть этих задач и был разработан Абакус (от Abacus, Абак – древняя счетная доска для арифметических вычислений) - многоагентная система для управления данными радара и обеспечения поддержки принятия решений.
Платформа была протестирована с реальными данными Метеорологической Службы Кипра.
Рис. 1. Абстрактная архитектура системы Абакус, являющейся промежуточным звеном между радаром и информационными сервисами для передачи сообщений о погодных условиях пользователям системы, к которым относятся оператор радара, персонал метеорологической службы и представители общественности, которым может быть предоставлен доступ к системе в будущем.
Система Абакус была реализована в виде агентно-ориентированного приложения, состоящего из нескольких слоев (Рис. 2), а именно:
1. Входного слоя (Contribution Layer).
2. Слоя управления и обработки (Management & Processing Layer).
3. Слоя распределения (Distribution Layer).
Рис. 2. Архитектура платформы системы Абакус.
В каждом слое для реализации функций системы были определены роли агентов. Эти роли реализуются 6-ю типами автономных программно реализуемых агентов.
Взаимодействие агентов происходит следующим образом:
Агент радара (Radar Agent) принимает информацию, отсканированную радаром, восстанавливает и фильтрует данные, нарушенные искажениями (например, связанными с помехами от земли).
Метеорологические агенты (Meteorologists Agents Comunity) образуют сообщество взаимодействующих агентов, каждый из которых отвечает за определенный кольцевой сектор в пределах радиуса действия радара. Каждый метеорологический агент извлекает вторичную информацию (рассчитывает показатели и индексы) в пределах своего сектора и применяет правила принятия решений, определенные пользователем, для оценки погодных условий и выдачи тревоги на локальном уровне.
Агент Абакуса (Abacus Agent) собирает всю информацию, извлеченную метеорологическими агентами. Он также принимает решение об общем прогнозе погоды на основе оценок каждого из метеорологических агентов и отвечает за выдачу предупреждений в глобальном масштабе.
Агент пользовательского интерфейса (GUI Agent) реализует графический интерфейс с оператором. Он отвечает за инсталляцию платформы при запуске и за подготовку и визуализацию графики и карт на терминале конечного пользователя. Кроме того, через агента пользовательского интерфейса оператор системы может непосредственно иметь доступ к метеорологическим агентам и агенту Абакуса для настройки пользовательских параметров системы и правил принятия решений.
Агент базы данных (DB Agent) подключается к системе базы данных и сохраняет оригинальные радиолокационные данные сканирования, очищенные данные и извлеченную вторичную информацию.
Предупреждающий агент (Alarm Agent) при необходимости распространяет тревогу (на локальном или на глобальном уровне) посредством электронной почты, Интернет или звука предупреждения.
Многоагентная система Абакус основана на методологии GAIA (термин Gaia, Гея обозначает древнегреческую богиню земли). Эта методология (Wooldridge et al., 2000) подчеркивает единство многоагентной системы в целом. Взаимодействие между агентами основано на объектно-ориентированном языке Agent–Object Relationship Modeling Language (AORML), введенном в работе (Wagner, 2003). Использование языка AORML позволило обеспечить как взаимодействие между агентами системы Абакус (формируя целостную программную платформу), так и взаимодействие между агентами и конечными пользователями Абакуса. Взаимодействия между агентами – ключевое свойство системы Абакус.
Функционирование системы состоит из следующих шагов:
Шаг 1. Пользователь определяет задачи системы и выбирает используемые в системе правила решения.
Шаг 2. Агент пользовательского интерфейса инициирует всех агентов платформы во время запуска системы на основе пользовательских настроек.
Шаг 3. Агент радара считывает радиолокационные данные и фильтрует их для предварительной обработки.
Шаг 4. Фильтрованные отсканированные данные отправляются метеорологическим агентам.
Шаг 5. Метеорологические агенты рассчитывают индексы и показатели для их зоны ответственности и выдают порядок принятия решений.
Шаг 6. Все метеорологические агенты отправляют извлеченную вторичную информацию и сигналы тревоги агенту Абакуса.
Шаг 7. Агент Абакуса объединяет данные со всех кольцевых секторов и создает обобщенный обзор данных о текущем сканировании. Этот обзор направляется агенту базы данных для хранения и агенту пользовательского интерфейса, который обновляет экран оператора.
Шаг 8. Основываясь на объединенных данных и локальных предупреждениях, агент Абакуса активизирует свои правила принятия решений и запускает сигналы тревоги на глобальном уровне.
Шаг 9. Агент Абакуса пересылает все поднятые тревоги предупреждающему агенту.
Шаг 10. Предупреждающий агент обрабатывает поднятые сигналы тревоги и синтезирует содержимое веб-страницы или электронной почты.
Шаг 11. Предупреждающий агент активирует сигнал тревоги через веб, электронную почту или звуковой сигнал.
Система Абакус была реализована на языке Java. При разработке агентов использовалась методика JADE (Bellifemine et al., 2003), а также спецификация FIPA (FIPA, 1999–2002) для реализации коммуникаций агентов.
Функционирование Абакус было продемонстрировано для Метеорологической службы Кипра. Пример применения показан на Рис. 3. С помощью графического пользовательского интерфейса представлено реальное изображение с экрана радара (справа на рисунке) и оценка ситуации многоагентной системой (слева). Верхняя часть рисунка (a) соответствует солнечному дню, нижняя (b) – шторму.
Рис. 3. Графический интерфейс, показывающий экран радара (справа) и характеристики текущей погоды (слева)
Результаты функционирования системы Абакус показывают, что эта система оценивает погоду как хороший оператор. Однако, при наличии этой системы оператору нет необходимости самому оценивать погодную обстановку непрерывно – это делает Абакус. Следовательно, резко сокращается время работы человека-оператора.
Итак, создана и исследована полностью интегрированная метеорологическая многоагентная система Абакус, обеспечивающая кооперативное взаимодействие агентов. Важно, что агенты в этой системе действуют коллективно, используя свой межагентный язык. Система Абакус имеет важное практическое приложение. Хотя функционирование системы продемонстрировано на конкретном примере радара, подобное коллективное поведение агентов может быть использовано в других приложениях: в социально-экологических системах, для экономических задач, решения проблем сохранения окружающей среды и для решения других аналогичных проблем.
Более подробно со статьей можно ознакомиться здесь.
© Редько Ольга