Аннотация:Внутренняя сложность, разнородный характер и динамичное изменение современного, большого по объему кода программного обеспечения приводят к сложностям, а в ряде случаев к отсутствию возможности реализовать подход к администрированию компьютерных систем, в основе которого находится человек. Еще в 2001 году Пол Хорн (Paul Horn), вице-президент IBM, говорил, что основным препятствием в развитии IT-индустрии будет сложность программного обеспечения. Любая сложная система, функционирующая продолжительное время, рано или поздно, в силу тех или иных причин, отклоняется от регламентированного режима функционирования, и это приводит к необходимости восстанавливать такой режим. В подобных системах могут возникать различные экстренные ситуации, начиная с выхода из строя отдельных компонентов и заканчивая аварийной остановкой всей системы. Они требуют адекватных методов выявления, исследования и выбора подходящих действий для исправления.
Осознание отмеченной проблемы привело к идее создания механизмов, помогающих системе автономно находить и обрабатывать ошибки, а также перенастраиваться с учетом изменяющихся условий. Таким образом появилось понятие самоуправления (selfmanagement) программного обеспечения, включающее в себя реализацию нескольких «само-» функций (механизмов), таких как самоадаптация, самозащита, самолечение и т. д. В настоящее время эти механизмы находят все большее применение, и, как следствие, проводятся исследования по методикам их реализации.
Отечественные аппаратно-программные комплексы со сложной архитектурой, работающие под управлением ОС реального времени также нуждаются в средствах самоуправления, позволяющих эффективно решать поставленные перед такими комплексами задачи.
Целью данной работы является краткий обзор существующей классификации механизмов самоуправления в программном обеспечении и описание разработанных при участии авторов средств самолечения и самовосстановления систем в стандартах ARINC и POSIX на примере отечественной ОС реального времени «Багет».