stringtranslate.com

Ариан рейс V88

Рейс Ariane V88 [1] был неудачным первым полетом ракеты Arianespace Ariane 5 , аппарат №. 501, 4 июня 1996 года. На нем находился космический корабль Cluster , группировка из четырех исследовательских спутников Европейского космического агентства .

Запуск закончился неудачей из-за многочисленных ошибок в разработке программного обеспечения: мертвый код , предназначенный только для Ariane 4 , с недостаточной защитой от целочисленного переполнения привел к неправильно обработанному исключению , остановившему всю в остальном незатронутую инерциальную навигационную систему . Это привело к тому, что ракета отклонилась от траектории полета через 37 секунд после запуска, начала распадаться под действием высоких аэродинамических сил и, наконец, самоуничтожилась с помощью автоматической системы прекращения полета . Этот сбой стал известен как одна из самых печально известных и дорогостоящих программных ошибок в истории. [2] В результате неудачи компания потеряла более 370 миллионов долларов США. [3]

Ошибка запуска

Схема Ariane 501 с четырьмя спутниками Cluster
Зона падения осколков неудавшегося запуска Ariane 501
Восстановленная опорная стойка сателлитной конструкции

Ariane 5 повторно использовал код инерциальной эталонной платформы Ariane 4 , но ранняя часть траектории полета Ariane 5 отличалась от Ariane 4 более высокими значениями горизонтальной скорости. Это привело к тому, что внутреннее значение BH (горизонтальное смещение), рассчитанное в функции выравнивания, оказалось неожиданно высоким. Функция выравнивания работала примерно в течение 40 секунд полета, что было основано на требованиях Ariane 4, но не принесло никакой пользы после старта на Ariane 5. [4] Большие значения BH вызвали преобразование данных из 64 -битное число с плавающей запятой в 16-битное целое число со знаком, которое приведет к переполнению и возникновению аппаратного исключения . [5] Программисты защитили только четыре из семи критических переменных от переполнения, чтобы уложиться в требуемую максимальную рабочую нагрузку в 80% для бортового компьютера инерциальной системы отсчета, и полагались на предположения, которые были верны для Ariane 4, но не «Ариан-5», траектория относительно возможного диапазона значений трех незащищенных переменных. [6] Из-за исключения были остановлены оба модуля инерциальной системы отсчета, хотя они должны были быть резервными . Активный модуль представил бортовому компьютеру диагностическую битовую комбинацию, которая была интерпретирована как полетные данные, в частности, вызывая полное отклонение сопел твердотопливных ускорителей и маршевого двигателя Vulcain . Это привело к углу атаки более 20 градусов, что привело к отрыву ускорителей от основной ступени, срабатыванию системы самоуничтожения пусковой установки и разрушению полета. [4]

В официальном отчете о катастрофе (составленном комиссией по расследованию, возглавляемой Жаком-Луи Лионсом ) отмечалось, что «Основной темой при разработке Ariane 5 является уклон в сторону смягчения случайных отказов . Поставщик инерциальной навигационной системы (SRI) ) только следовал предоставленной ему спецификации, которая предусматривала, что в случае любого обнаруженного исключения процессор должен быть остановлен. Возникшее исключение произошло не из-за случайного сбоя, а из-за ошибки проектирования. Исключение было обнаружено, но ненадлежащим образом обработано. поскольку считалось, что программное обеспечение следует считать правильным до тех пор, пока не будет доказано, что оно неисправно. [...] Хотя сбой произошел из-за систематической ошибки проектирования программного обеспечения, могут быть внедрены механизмы для смягчения этого типа проблем. Есть основания для беспокойства , что следует разрешить или даже потребовать программное исключение, вызывающее остановку процессора при работе с критически важным оборудованием . Действительно, потеря правильной функции программного обеспечения опасна, поскольку одно и то же программное обеспечение работает в обоих устройствах SRI. В случае с «Арианом-501 » это привело к отключению двух еще исправных критических единиц оборудования».

Другие проблемы, выявленные в отчете, касались тестирования: [4]

Другой взгляд на сбой, основанный на системной инженерии , фокусируется на требованиях: [7]

Полезная нагрузка

Кластер состоял из четырех цилиндрических космических кораблей со стабилизированным вращением массой 1200 кг (2600 фунтов) , оснащенных солнечными элементами мощностью 224 Вт. Космический корабль должен был лететь в форме тетраэдра и предназначался для проведения исследований магнитосферы Земли . Спутники должны были быть размещены на высокоэллиптических орбитах; 17 200 на 120 600 километров (10 700 на 74 900 миль), наклонена под углом 90 градусов к экватору. [8]

Последствия

После аварии были построены четыре запасных спутника Cluster II . Они были запущены парами на ракетах «Союз-У» / Фрегат в 2000 году.

Неудачный запуск привлек внимание широкой общественности, политиков и руководителей к высоким рискам, связанным со сложными вычислительными системами , что привело к увеличению поддержки исследований по обеспечению надежности критически важных для безопасности систем . Последующий автоматизированный анализ кода Ariane (написанный на языке Ada ) стал первым примером крупномасштабного статического анализа кода методом абстрактной интерпретации . [9]

Неудача также нанесла ущерб превосходному успеху семейства ракет Европейского космического агентства, установленному высокими показателями успеха модели Ariane 4. Лишь в 2007 году запуски Ariane 5 были признаны столь же надежными, как и запуски предыдущей модели. [10]

Смотрите также

Рекомендации

  1. ^ Анрион, Жан Ив; Валле, Тьерри (1997). «V88 Ариан 501». Капком Эспейс .
  2. Глейк, Джеймс (1 декабря 1996 г.). «Ошибка и сбой». Журнал Нью-Йорк Таймс . Архивировано из оригинала 20 апреля 2012 года . Проверено 7 апреля 2012 г.
  3. ^ Доусон, Марк (март 1997 г.). «Программный сбой Ariane 5». Заметки по разработке программного обеспечения ACM SIGSOFT . 22 (2): 84. дои : 10.1145/251880.251992. S2CID  43439273.
  4. ^ abcd JL LIONS (председатель) (19 июля 1996 г.). Авария ARIANE 5 - Полный отчет (Отчет). Информационная комиссия, созданная ЕКА и КНЕС. Архивировано из оригинала 26 апреля 2014 года.
  5. ^ Нусейбе, Башар (май 1997 г.). «Ариана 5: Кто, черт возьми?» (PDF) . Программное обеспечение IEEE . 14 (3): 15–16. дои : 10.1109/MS.1997.589224. S2CID  206482665.
  6. ^ Жан-Марк Жезекель, IRISA; Бертран Мейер, ISE (январь 1997 г.). «Включите это в контракт: уроки Арианы». Компьютер . 30 (2): 129–130. дои : 10.1109/2.562936. Архивировано из оригинала 4 июня 2016 года – через Irisa.
  7. ^ Ле Ланн, Жерар (март 1997 г.). «Анализ отказа рейса 501 самолета Ariane 5 - взгляд на системную инженерию». Материалы международной конференции 1997 года по разработке компьютерных систем (ECBS'97) . Компьютерное общество IEEE . стр. 339–346. doi : 10.1109/ECBS.1997.581900. ISBN 0-8186-7889-5.
  8. ^ Кребс, Гюнтер. «Кластер 1, 2, 3, 4, 5, 6, 7, 8». Космическая страница Гюнтера . Проверено 29 ноября 2011 г.
  9. ^ Фор, Кристель. «История поликосмических технологий» . Проверено 3 октября 2010 г.
  10. ^ Тодд, Дэвид (март 2007 г.). «Новости космической разведки ASCEND» (PDF) . Архивировано из оригинала (PDF) 14 февраля 2007 года.

дальнейшее чтение

Внешние ссылки