Они сэкономили 6 долларов на болте. Ракета стоила 370 миллионов.
Я периодически читаю отчёты NASA об авариях - там такая концентрация поучительного на квадратный сантиметр, что диву даёшься. Но одна история про европейцев меня зацепила сильнее всего, потому что там провал был настолько элегантно предотвратим, что хочется кричать в стену.
Ариан-5 - европейская ракета-носитель, которую Европейское космическое агентство разрабатывало 10 лет и потратило на неё около 7 миллиардов долларов. 4 июня 1996 года состоялся первый испытательный пуск с космодрома Куру во Французской Гвиане. На борту - 4 исследовательских спутника программы Cluster, каждый ценой в десятки миллионов. Ракета поднялась в воздух, отлетела 37 секунд - и самоуничтожилась.
Причина, которую установила комиссия по расследованию, вошла в учебники по программной инженерии на все последующие десятилетия. В бортовом компьютере ракеты использовалось программное обеспечение, унаследованное от предыдущей ракеты - Ариан-4. Конкретно речь шла о модуле инерциальной навигационной системы. Программисты перенесли код напрямую, без адаптации, потому что он прекрасно работал на старой ракете. Логика понятна: зачем переписывать то, что работает?
Однако Ариан-5 была значительно мощнее и летела по другой траектории с иными скоростями. Навигационный модуль пытался записать 64-битное число скорости горизонтального движения в 16-битную переменную. Переменная переполнилась. Система выдала код ошибки, который основной компьютер ракеты интерпретировал как навигационные данные. Получив «данные», которые говорили, что ракета летит под совершенно невозможным углом, автопилот резко скорректировал курс. Аэродинамические нагрузки разрушили конструкцию, сработала система аварийного подрыва.
370 миллионов долларов, 10 лет работы и 4 спутника - за 37 секунд.
Комиссия установила, что никто не проводил повторного тестирования заимствованного кода в условиях новой ракеты. Более того, защита от переполнения переменной была намеренно отключена на этом участке кода ради оптимизации производительности - разработчики решили, что такое значение скорости физически невозможно для Ариан-4. Для Ариан-5 оно оказалось вполне обычным.
После этой катастрофы в индустрии ПО появился термин «Ариан-5 failure» как нарицательное обозначение ошибок при переносе кода между системами с разными параметрами. Сегодня любое заимствованное программное обеспечение для критических систем обязано проходить полный цикл тестирования в новой среде. Ценой этого правила стал один очень дорогой взрыв над Французской Гвианой.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Из истории фатальных ошибок: 4 июня 1996г. через 37 секунд ... | -2 | 7 | 10-07-2026 |
| 2 | Запуск ракеты Ariane 5 с Куру отложили на неопределенный срок | 0 | 0 | 24-11-2019 |
| 3 | Европа отказалась от запланированной модернизации ракеты Ariane 6 Запуск ракеты ... | 0 | 9.85 | 21-08-2026 |
| 4 | 12 сентября 1985 года состоялся 15-й запуск европейской ракеты-носителя Ariane ... | 0 | 7 | 12-07-2026 |
| 5 | «Ариан» — семейство космических ракет-носителей Европейского космического агентства (ЕКА), предназначенных ... | 0 | 10.9 | 28-07-2026 |
| 6 | Европа отказалась модернизировать Ariane 6: проект новой ступени закрыт Решение ... | 0 | 11.55 | 21-08-2026 |
| 7 | Европа отказалась от запланированной модернизации ракеты Ariane 6 | 0 | 9.93 | 21-08-2026 |
| 8 | Во Французской Гвиане с космодрома Куру запустили европейскую ракету Ariane 5 | 0 | 0 | 05-07-2023 |
| 9 | Компания Arianespace отложила последний запуск европейской ракеты-носителя Ariane 5 | 0 | 0 | 15-06-2023 |