Читаем Мифы о безопасном ПО: уроки знаменитых катастроф полностью

Финальным же действием, имевшим фатальные последствия, стало прекращение работы процессора; соответственно, вся авигационная Система перестала функционировать. Возобновить же ее действия оказалось технически невозможно.

Осталось добавить, что всю эту цепь событий удалось полностью воспроизвести с помощью компьютерного моделирования, что вкупе с материалами других исследований и экспериментов позволило заключить; причины и обстоятельства катастрофы полностью выявлены.

Причины и истоки аварии

Прежде всего проследим, откуда взялось первоначальное требование на продолжение выполнения операции регулировки после взлета ракеты.

Оказывается, оно было заложено более чем за 10 лет до рокового события, когда проектировались еще ранние модели серии Ariane. При некотором (весьма маловероятном!) развитии событий взлет мог быть отменен буквально за несколько секунд до старта, например в промежутке H0-9 сек., когда на IRS запускался «полетный режим», и H0-5 сек., когда выдавалась команда на выполнение некоторых операций с ракетным оборудованием. В случае неожиданной отмены взлета необходимо было быстро вернуться в режим «обратного отсчета» (countdown) и при этом не повторять сначала все установочные операции, в том числе приведение к исходному положения Инерциальной Платформы (операция, требующая 45 мин. время, за которое можно потерять «окно запуска»).

Было обосновано, что в случае события отмены старта период в 50 сек. после H0-9 будет достаточным для того, чтобы наземное оборудование смогло восстановить полный контроль за Инерциальной Платформой без потери информации за это время Платформа прекратит начавшееся было перемещение, а соответствующий программный модуль всю информацию о ее состоянии зафиксирует, что поможет оперативно возвратить ее в исходное положение (напомним, что все это в случае, когда ракета продолжает находиться на месте старта). И действительно, однажды, в 1989 г., при старте под номером 33 ракеты Ariane 4, эта особенность была с успехом задействована.

Однако, Ariane 5, в отличие от предыдущей модели, имел уже принципиально другую дисциплину выполнения предполетных действий настолько другую, что работа рокового программного модуля после времени старта вообще не имела смысла. Однако, модуль повторно использовался без каких-либо модификаций видимо из-за нежелания изменять программный код, который успешно работает.

В конце концов, было бы странно, если бы тривиальная ошибка переполнения (даже если она и возникла) была бы столь фатальной, что с ней невозможно бороться. Почему же программный код (написанный на таком оснащенном всеми необходимыми для обеспечения надежности средствами языке, как Ада) оказался незащищеным до такой степени, что наступили столь катастрофические последствия?

Расследование показало, что в данном программном модуле присутствовало целых семь переменных, вовлеченных в операции преобразования типов. Оказалось, что разработчики проводили анализ всех операций, способных потенциально генерировать исключение, на уязвимость. И это было их вполне сознательным решением добавить надлежащую защиту к четырем переменным, а три включая BH, оставить незащищенными. Основанием для такого решения была уверенность в том, что для этих трех переменных возникновение ситуации переполнения невозможно в принципе. Уверенность эта была подкреплена расчетами, показывающими, что ожидаемый диапазон физических полетных параметров, на основании которых определяются величины упомянутых переменных, таков, что к нежелательной ситуации привести не может. И это было верно но для траектории, рассчитанной для модели Ariane 4. А ракета нового поколения Ariane 5 стартовала по совсем другой траектории, для которой никаких оценок не выполнялось. Между тем она (вкупе с высоким начальным ускорением) была такова, что «горизонтальная скорость» превзошла расчетную (для Ariane 4) более чем в пять раз.

Но почему же не была (пусть в порядке перестраховки) обеспечена защита для всех семи, включая BH, переменных? Оказывается, для компьютера IRS была продекларирована максимальная величина рабочей нагрузки в 80 %, и поэтому разработчики должны были искать пути снижения излишних вычислительных издержек. Вот они и ослабили защиту там, где теоретически нежелательной ситуации возникнуть не могло. Когда же она возникла, то вступил в действие такой механизм обработки исключительной ситуации, который оказался совершенно неадекватным.

Перейти на страницу:

Похожие книги

Память. Пронзительные откровения о том, как мы запоминаем и почему забываем
Память. Пронзительные откровения о том, как мы запоминаем и почему забываем

Эта книга предлагает по-новому взглянуть на одного из самых верных друзей и одновременно самого давнего из заклятых врагов человека: память. Вы узнаете не только о том, как работает память, но и о том, почему она несовершенна и почему на нее нельзя полностью полагаться.Элизабет Лофтус, профессор психологии, одна из самых влиятельных современных исследователей, внесшая огромный вклад в понимание реконструктивной природы человеческой памяти, делится своими наблюдениями над тем, как работает память, собранными за 40 лет ее теоретической, экспериментальной и практической деятельности.«Изменчивость человеческой памяти – это одновременно озадачивающее и досадное явление. Оно подразумевает, что наше прошлое, возможно, было вовсе не таким, каким мы его помним. Оно подрывает саму основу правды и уверенности в том, что нам известно. Нам удобнее думать, что где-то в нашем мозге лежат по-настоящему верные воспоминания, как бы глубоко они ни были спрятаны, и что они полностью соответствуют происходившим с нами событиям. К сожалению, правда состоит в том, что мы устроены иначе…»Элизабет Лофтус

Элизабет Лофтус

Научная литература / Психология / Образование и наука
Она смеётся, как мать. Могущество и причуды наследственности
Она смеётся, как мать. Могущество и причуды наследственности

Книга о наследственности и человеческом наследии в самом широком смысле. Речь идет не просто о последовательности нуклеотидов в ядерной ДНК. На то, что родители передают детям, влияет целое множество факторов: и митохондриальная ДНК, и изменяющие активность генов эпигенетические метки, и симбиотические микроорганизмы…И культура, и традиции, география и экономика, технологии и то, в каком состоянии мы оставим планету, наконец. По мере развития науки появляется все больше способов вмешиваться в разные формы наследственности, что открывает потрясающие возможности, но одновременно ставит новые проблемы.Технология CRISPR-Cas9, используемая для редактирования генома, генный драйв и создание яйцеклетки и сперматозоида из клеток кожи – список открытий растет с каждым днем, давая достаточно поводов для оптимизма… или беспокойства. В любом случае прежним мир уже не будет.Карл Циммер знаменит своим умением рассказывать понятно. В этой важнейшей книге, которая основана на самых последних исследованиях и научных прорывах, автор снова доказал свое звание одного из лучших научных журналистов в мире.

Карл Циммер

Научная литература