ОБЗОРЫ
Мириады CoABS-модулей готовятся взять под свой контроль информационное пространство
Агенты вместо клиентов и серверов
В каком направлении будет развиваться программная архитектура в ближайшие десятилетия? Этот вопрос серьезно волнует специалистов Пентагона. Во время военных конфликтов командирам приходится быстро принимать самые разные решения, от которых зависит не только успех боевой операции, но и жизни многих людей. Чем масштабнее конфликт, тем труднее оперативно сориентироваться в обстановке. Уровень сложности анализа неразрывно связан с тем, насколько подробно описана текущая ситуация. Но простое увеличение числа военных информационных систем при этом скорее будет мешать: большие объемы плохо обработанной и неструктурированной информации только запутывают ответственного руководителя, находящегося к тому же в стрессовой ситуации.
Существующие системы не способны эффективно отбирать по запросу пользователя сведения, несущие определенную смысловую нагрузку. Они также не умеют самостоятельно находить оптимальные способы защиты от внешних угроз и выявлять те виды собственных действий, которые в перспективе чреваты саморазрушением. ПО нового поколения, создаваемое Министерством обороны США в рамках проекта CoABS (Control of Agent-Based Systems), сможет, как предполагается, автоматически вырабатывать и детализировать адекватные стратегии достижения поставленной цели в самых разных ситуациях, спровоцированных противостоянием интересов. CoABS займется отбором и фильтрацией информации, планированием миссий, контролем исполнения и самозащитой от кибернападений. Самостоятельно решая несложные проблемы, это ПО поможет человеку делать правильный выбор в трудных положениях.
Приступая к работам над CoABS, эксперты прежде всего проанализировали уже существующие и перспективные ИТ, пытаясь понять, какие из них способны обеспечить быструю разработку прикладных систем для различных аппаратных (в том числе мобильных) платформ с учетом стремительного роста производительности процессоров и объемов ОЗУ. В итоге выбор пал на технологию программных агентов - небольших модулей, выполняющих ограниченный набор несложных логических функций. Агент также может по своему усмотрению перемещаться с компьютера на компьютер, выискивая, например, свободные ресурсы. Чем больше таких агентов будет сосредоточено в прикладной системе, тем более сложные задачи она сможет решать. Данный подход хорош прежде всего тем, что обещает практически неограниченную масштабируемость и утилизацию всех доступных ресурсов вычислительных сред. При этом выход из строя даже значительного количества агентов не приводит к параличу всей системы, которая быстро наращивает утерянную мощь путем оперативного клонирования программных модулей. Подобные распределенные интеллектуальные системы позволяют полностью отказаться от классических клиент-серверных архитектур. Чтобы добавить ту или иную функцию, достаточно разработать новый агент, обладающий унифицированным программным интерфейсом, и просто запустить его в сеть.
Как это делалось
На первых порах в конце 90-х годов в ряде американских университетов велись эксперименты с небольшими группами равноправных агентов. В перспективе же намечено применение сообществ миллионов таких агентов с иерархическим управлением. Это позволит быстро адаптировать процессы принятия решений к динамическим остроконфликтным ситуациям и находить множество альтернативных стратегий.
Авторы CoABS действовали по следующей схеме. Сначала проектировалась методология создания простых агентов на базе обширных библиотек готовых компонентов. Предполагалось автоматизировать процессы наращивания функциональных способностей агентов путем сборки их из программных “кубиков”. Затем строились модели согласованного поведения программ. Для этого прежде всего придумывались универсальные языки их общения друг с другом. Данная задача оказалась одной из самых важных: в ходе взаимодействия агентов нередко возникают ограничения, связанные с пропускной способностью сети и нехваткой вычислительных ресурсов и иногда приводящие к краху всей системы. Пока не существует эффективных математических моделей, гарантирующих предсказуемое поведение подобных систем, и нередко крупные агентские команды в гетерогенных средах переходят в неуправляемое хаотическое состояние, и снижение нагрузки уже не восстанавливает их устойчивую деятельность. Поэтому первые версии CoABS предположительно будут обходиться небольшими группами агентов, способных гибко настраиваться на решение различных проблем.
На следующем этапе технология CoABS стала дополняться концепциями эволюционно развивающихся и самоизлечивающихся сообществ интеллектуальных модулей. Поскольку по мере обучения и приобретения знаний агенты могут изменять свое поведение, пришлось разработать новый математический аппарат. Классические математические модели группового взаимодействия для таких условий неприменимы. Сегодня для этого используются средства визуального моделирования групп агентов.
Сложность организации общения подобных групп с человеком остается одной из слабых сторон CoABS. Как представить результаты их работы в понятном для нас виде? Как сформулировать задания для них на естественном языке? Как одному человеку общаться сразу со множеством агентов? Людям трудно следить за поведением таких систем, тем, в свою очередь, без хорошей обратной связи не удается отбирать полезные знания и противостоять внешним разрушительным влияниям или внутренним ошибкам. Пока эта проблема решается путем организации интерактивного взаимодействия. В CoABS добавлены внешние по отношению к агентам алгоритмы, способные управлять миллионными популяциями микропрограмм. Пользователь описывает цели в терминах конкретной предметной области и задает приблизительное направление поиска. Система-администратор постоянно корректирует это направление, определяя границы полномочий агентов (степень их автономности и уровни взаимодействия), что позволяет соблюдать баланс между точностью результатов и предсказуемостью поведения. При этом “подчиненные” не выходят из-под контроля и в то же время обладают достаточным объемом сведений для продолжения поиска, а глобальная система помогает им в непредвиденных ситуациях. Кроме того, она анализирует даваемые человеком рекомендации на непротиворечивость. План достижения цели строится уже в процессе работы путем постоянного уточнения и детализации требований человека. Такой подход, как предполагается, позволит решать задачи неограниченной сложности. Время получения решения будет зависеть только от доступных ресурсов.
Внедрением технологии агентов в военные системы, а также обеспечением компьютерной безопасности CoABS-решений занимается команда NOMADS. Она создает модифицированную Java-машину Aroma, ориентированную на эффективное и безопасное выполнение программ-агентов, следящую за доступными ресурсами, распределяющую приоритеты и способную противостоять атакам, провоцирующим отказ от обслуживания. При поддержке корпорации Sun будет создан Java API-интерфейс для автоматического управления ресурсами сообщества агентов - памятью, доступным дисковым пространством и вычислительной мощностью.
Что уже работает
В рамках CoABS работу сотен агентов, написанных на С++, Лиспе, Java, Scheme и Tcl, начал испытывать университет Карнеги - Меллона. Построенная там система CMUExpress впервые осуществила на практике взаимодействие Интернет-агентов и людей, решавших задачи реального мира. Была также создана система на основе агентов, способная отслеживать с помощью видеокамеры одновременное перемещение сотен автономных разноцветных объектов (муравьев, жуков).
Еще одним участником проекта - фирмой Object Services - разработана простая Java-оболочка AGILITY для синхронизации действий агентов посредством сообщений электронной почты, легко понимаемых человеком. Наличие почтового интерфейса позволяет развертывать оболочку на разных платформах и управлять ею с карманных ПК типа Palm.
Командный пост будущего, проектируемый DARPA, тоже базируется на мультиагентной системе. При ее создании применяется высокоуровневый язык логического программирования STAPLE, основанный на теории группового сотрудничества.
Корпорация Lockheed Martin проектирует масштабируемую динамическую среду Grid Mobile Agent System, отлаживая ее на кластере из 25 компьютеров. Сравнение производительности системы программных агентов и традиционных решений на базе стандартных технологий дистанционного вызова процедур (RPC) выявило заметное преимущество концепции CoABS.
На базе “агентурных” систем планируется сформировать сеть услуг ServiceNet. Она объединит на глобальном уровне CoABS-системы, предоставляющие всевозможные информационные услуги, и автоматически синхронизирует их деятельность в соответствии с требованиями пользователей. В ServiceNet для сетей различных видов будет реализована техника масштабирования, не зависящая от языков программирования и компонентной архитектуры. Агенты ServiceNet смогут функционировать на бортовых компьютерах или мобильных аппаратах, самостоятельно настраиваясь на то или иное устройство вывода. Иерархический ServiceNet-планировщик задач состыкует множество сетевых протоколов и обеспечит связь с имеющимися компьютерными системами планирования. При этом будет поддерживаться механизм динамической координации, который действует автономно по отношению к объектам, выдающим задания агентам (будь то человек или другой агент).
Сегодня все достижения проекта объединяются в решении CoABS GRID, поддерживающем основные платформы - Java, Unix, Linux, Windows, протокол SOAP, язык разметки XML и интерфейс с Visual Basic, Java, Си/C++, Лиспом и Прологом. Оно охватывает сотни машин, способных эффективно координировать свою работу в условиях, когда инфраструктура взаимодействия частично разрушена либо непредсказуемо и постоянно изменяется. В CoABS GRID нашли применение алгоритмы поиска решения в средах с противоречивой информацией о текущем окружении и множеством ограничений. В ходе компьютерного моделирования на платформах CoABS GRID и MapleSim удалось обеспечить эффективное взаимодействие десятков беспилотных устройств, противодействующих противнику на территории большой виртуальной страны, подвергшейся нападению. Известны также примеры использования технологий CoABS в английской системе планирования военных действий Master Battle Planner, в системе SPAWAR, в проекте “Объединенная инфосфера боевого пространства” (Joint Battlespace Infosphere) и т. п. 4
Дополнительную информацию о CoABS можно найти на сайте: www.rl.af.mil/tech/programs/coabs/.