Управление перспективных исследований министерства обороны США (Defense Advanced Research Projects Agency, DARPA) запустило программу, направленную на создание программной системы, которая сможет оставаться надежной и работоспособной больше 100 лет без обновлений и апгрейдов со стороны пользователей.
Проект Building Resources Adaptive Software Systems (BRASS), рассчитанный на четыре года, направлен на изучение требований к вычислительным системам и алгоритмам, необходимым для создания долговечного ПО, способного динамически адаптироваться к изменениям ресурсов, от которых оно зависит, и среды, в которой работает.
Для этого придется разработать новые лингвистические абстракции, формальные методы и программы для анализа ресурсов, способные реализовывать преобразования программ. Кроме того потребуются системы для мониторинга изменений в окружающей цифровой экосистеме.
Управление DARPA, которое сыграло ведущую роль в создании протоколов, положенных в основу Интернета, надеется, что проект BRASS даст возможность значительно повысить устойчивость, надежность и удобство сопровождения программных систем, позволив разработать ПО, способное приспосабливаться к изменяющимся условиям без внешних обновлений.
«Технологии эволюционируют, но зачастую изменения библиотек, форматов данных, протоколов, исходных характеристик и моделей функционирования базового ПО приводят к нарушению работы приложений, — сказал менеджер DARPA Суреш Джаганатан. — Неспособность плавно приспособиться к новым условиям функционирования снижает производительность и уровень безопасности систем, повышая риск потери важных данных по мере устаревания ПО, которое производит и интерпретирует эти данные».
Предполагается, что основу проекта BRASS составит совершенно новый подход к разработке, сборке и адаптации ПО, а также новые алгоритмы, с помощью которых приложения обретут способность меняться в зависимости от окружающих условий без участия программистов. В DARPA признают, что это очень трудная задача, но считают, что результат стоит затраченных усилий.
«Из-за невозможности реагировать на изменения системы начинают хуже работать и становятся более уязвимыми, а отсутствие механизмов автоматического обновления приложений приводит к увеличению затрат на поддержку и преждевременному устареванию вполне работоспособного ПО», — объяснил Суреш Джаганатан.
В самом деле, во всем мире до сих пор используются аппаратные и программные системы, которым уже больше 50 лет, например, написанные на языке Cobol. Однако чтобы соответствовать современным требованиям, многих из них нуждаются в серьезных обновлениях и переделках.