Ариан рейс V88

(Перенаправлено с рейса 501 Арианы 5 )

Кластер
Тип миссии Магнитосферный
Оператор ЧТО
Свойства космического корабля
Стартовая масса 1200 кг (2600 фунтов)
Начало миссии
Дата запуска 12:34:06, 4 июня 1996 г. (UTC) ( 1996-06-04T12:34:06Z )
Ракета Ариан 5G
Запуск сайта Куру ELA-3
Конец миссии
Утилизация неудачный запуск
Разрушен 4 июня 1996 г. ( 04.06.1996 )
Знаки отличия кластерной миссии
Четырехугольный знак миссии ЕКА для Кластера  

Ариан рейс 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, но не для Ariane 5. , траектория возможного диапазона значений для трех незащищенных переменных. [6] Исключение остановило работу обоих модулей инерциальной системы отсчета, хотя они должны были быть резервными . Активный модуль представил бортовому компьютеру диагностическую битовую комбинацию, которая была интерпретирована как полетные данные, в частности, вызывая полное отклонение сопел твердотопливных ускорителей и маршевого двигателя Vulcain . Это привело к углу атаки более 20 градусов, что привело к отрыву ускорителей от основной ступени, срабатыванию системы самоуничтожения пусковой установки и разрушению полета. [4]

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

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

  • Целью процесса проверки, в котором участвуют все основные партнеры программы Ariane 5, является проверка проектных решений и получение летной квалификации. В этом процессе ограничения программного обеспечения центровки не были полностью проанализированы, и возможные последствия продолжения его работы во время полета не были осознаны.
  • Спецификация инерциальной системы отсчета и испытания, проведенные на уровне оборудования, конкретно не включали данные о траектории Ariane 5. Следовательно, функция перестройки не была проверена в моделируемых условиях полета Ariane 5, и ошибка конструкции не была обнаружена.
  • Было бы технически осуществимо включить почти всю инерциальную систему отсчета в общее моделирование системы, которое было выполнено. По ряду причин было решено использовать смоделированные выходные данные инерциальной системы отсчета, а не реальную систему или ее детальное моделирование. Если бы система была включена, сбой можно было бы обнаружить. Послеполетное моделирование проводилось на компьютере с программным обеспечением инерциальной системы отсчета и с моделируемой средой, включая реальные траекторные данные полета Ariane 501. Эти симуляции точно воспроизвели цепочку событий, приведших к отказу инерциальных систем отсчета.

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

  • Диапазоны переменных, таких как горизонтальная скорость и вычисленная на ее основе величина BH, должны были быть явно определены количественно. Вместо этого предполагался 16-битный диапазон.
  • Задача выравнивания должна была быть деактивирована в соответствующий момент. Вместо этого задача выравнивания выполнялась после взлета.
  • Следует проанализировать модель отказа инерциальных эталонных платформ, чтобы гарантировать непрерывное предоставление услуг на протяжении всего полета, а не предполагать, что выйдет из строя не более одного модуля. Вместо этого оба модуля вышли из строя, и вместо того, чтобы корректно завершить полет, выходные диагностические сообщения были интерпретированы как данные полета.

Полезная нагрузка [ править ]

Кластер состоял из четырех цилиндрических космических кораблей со стабилизированным вращением массой 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. Перейти обратно: Перейти обратно: а б с д Лайонс, JL (19 июля 1996 г.). Авария ARIANE 5 - Полный отчет (Отчет). Информационная комиссия, созданная ЕКА и КНЕС. Архивировано из оригинала 26 апреля 2014 года.
  5. ^ Нусейбе, Башар (май 1997 г.). «Ариана 5: Кто, черт возьми?» (PDF) . Программное обеспечение IEEE . 14 (3): 15–16. дои : 10.1109/MS.1997.589224 . S2CID   206482665 .
  6. ^ Жезекель, Жан-Марк; Мейер, Бертран (январь 1997 г.). «Включите это в контракт: Уроки Арианы» . Компьютер . 30 (2): 129–130. дои : 10.1109/2.562936 . Архивировано из оригинала 4 июня 2016 года – через Irisa.
  7. ^ Ле Ланн, Жерар (март 1997 г.). «Анализ отказа рейса 501 самолета Ariane 5 - взгляд на системную инженерию». Материалы международной конференции 1997 года по разработке компьютерных систем (ECBS'97) . Компьютерное общество IEEE . стр. 339–346. дои : 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 года.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]