
Увы, хотя речь идет о сложной космической технике, суть произошедшего вполне можно выразить известной поговоркой о медицине: одно лечим, другое калечим. Осенью 2005 года проводилось обновление программного обеспечения зонда. Для надежности, создали две копии программы, но по какой-то причине в этих двух копиях, помещенных в память аппарата, имелись небольшие различия. Это приводило к несогласованной работе систем зонда, поэтому в июне 2006-го была предпринята попытка исправить положение. Действовавшая по всем инструкциям команда инженеров вместе с исправлениями внесла в бортовую программу дефект, который отключил ограничение на ориентацию солнечных батарей. Когда в ноябре зонд не смог связаться с Землей из-за неверного положения антенны, он, согласно программе, попытался исправить ориентацию в пространстве, при этом подставив под прямые солнечные лучи одну из двух батарей (чего не случилось бы, если бы сработал предохранитель). Батарея перегрелась, но эту еще не фатальную неисправность бортовой компьютер интерпретировал как перезаряд и отключил обе батареи. Антенна зонда так и не заняла верного положения, и работоспособность аппарата, лишенного энергии и связи, была утрачена.
Комиссия, расследовавшая потерю зонда, пришла к выводу, что основной причиной произошедшего стала невозможность проверить работу компьютера зонда во всех режимах при обновлении программного обеспечения. Вряд ли стоит ожидать, что NASA, по примеру гигантов софтостроения, станет набирать многотысячные армии тестеров, но новый свод инструкций для программистов теперь наверняка будет содержать более суровые требования к проверке машинного кода. АБ
