Из Википедии, бесплатной энциклопедии
  (Перенаправлен с рейса 501 Ariane 5 )
Перейти к навигации Перейти к поиску

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

Космический корабль [ править ]

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

Ошибка запуска [ править ]

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

В Ariane 5 повторно использовалась инерциальная эталонная платформа от Ariane 4 , но траектория полета Ariane 5 значительно отличалась от предыдущих моделей.

Больше горизонтальное ускорение вызвало преобразование данных из 64-битной плавающей точкой числа до 16-битного подписанного целочисленного значения к переполнению и вызвать аппаратное исключение . Из соображений эффективности не учитывались проверки диапазона для этой конкретной переменной, хотя преобразования других переменных в коде были защищены. Исключение остановило опорные платформы, что привело к разрушению полета. [4]

Восстановленная опорная стойка сателлитной конструкции

Хотя программная ошибка была определена как прямая причина, считалось, что это стало возможным из-за ошибок проектирования системы и проблем управления: [5]

  1. На основе этих расчетов главный компьютер дал команду форсункам ускорителя, а несколько позже и соплу главного двигателя, сделать большую поправку на отклонение по высоте, которое не произошло.
  2. Произошло быстрое изменение положения , в результате которого пусковая установка развалилась через 39 секунд после H0 из-за аэродинамических сил.
  3. Инерциальная система отсчета Ariane 5 по существу такая же, как система, используемая Ariane 4. Часть программного обеспечения, которая вызвала прерывание работы компьютеров инерциальной системы, используется перед запуском для выравнивания инерциальной системы отсчета, а в Ariane 4 также для обеспечения возможности быстрая переналадка системы в случае задержки обратного отсчета. Эта функция корректировки, которая не служит какой-либо цели на Ariane 5, тем не менее была сохранена по соображениям общности и позволяла, как и в Ariane 4, работать в течение примерно 40 секунд после старта.
  4. При разработке программного обеспечения инерциальной системы отсчета, используемой для Ariane 4 и Ariane 5, было принято решение, что нет необходимости защищать компьютер инерциальной системы от выхода из строя из-за чрезмерного значения переменной, связанной с горизонтальной скоростью, защита предусмотрена для нескольких других переменных программного обеспечения для центровки. При принятии этого проектного решения не было проанализировано или полностью понято, какие значения может принимать эта конкретная переменная, когда программное обеспечение для центровки было разрешено работать после отрыва.
  5. В полетах Ariane 4 с использованием того же типа инерциальной системы отсчета не было такого отказа, потому что траектория в течение первых 40 секунд полета такова, что конкретная переменная, связанная с горизонтальной скоростью, не может достичь, с адекватным рабочим запасом, значения за предел, присутствующий в программном обеспечении.
  6. Ariane 5 имеет высокое начальное ускорение и траекторию, что приводит к нарастанию горизонтальной скорости в пять раз быстрее, чем у Ariane 4. Более высокая горизонтальная скорость Ariane 5 сгенерировала в течение 40 секунд чрезмерное значение, которое привело к компьютеры инерциальной системы прекратили работу.
  7. Целью процесса проверки, в котором участвуют все основные партнеры программы Ariane 5, является проверка проектных решений и получение летной квалификации. В этом процессе ограничения программного обеспечения для центровки не были полностью проанализированы, и не были реализованы возможные последствия, позволяющие ему продолжать работу во время полета.
  8. Спецификация инерциальной системы отсчета и испытания, проведенные на уровне оборудования, специально не включали данные о траектории Ariane 5. Следовательно, функция перенастройки не тестировалась в смоделированных условиях полета Ariane 5, и ошибка конструкции не была обнаружена.
  9. Было бы технически возможно включить почти всю инерциальную систему отсчета в общее моделирование системы, которое было выполнено. По ряду причин было решено использовать смоделированные выходные данные инерциальной системы отсчета, а не реальную систему или ее подробное моделирование. Если бы система была включена, сбой мог бы быть обнаружен.
  10. Постполетное моделирование проводилось на компьютере с программным обеспечением инерциальной системы отсчета и с моделируемой средой, включая фактические данные о траектории полета Ariane 501. Это моделирование точно воспроизвело цепочку событий, ведущих к отказу инерциальных систем отсчета.

Последствия [ править ]

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

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

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

См. Также [ править ]

  • Программное обеспечение Mars Climate Orbiter , адаптированное из более ранней версии Mars Climate Orbiter, не было должным образом протестировано перед запуском.
  • Компьютер наведения Apollo - проблема с PGNCS , еще один случай, когда компьютер наведения космического корабля пострадал из-за того, что подсистема была неправильно оставлена ​​работающей
  • Список ошибок программного обеспечения

Ссылки [ править ]

  1. ^ Gleick, Джеймс (1 декабря 1996). «Ошибка и авария» . Журнал New York Times . Проверено 7 апреля 2012 года .
  2. ^ Доусон, М. (март 1997). «Ошибка программного обеспечения Ariane 5». Примечания по разработке программного обеспечения . 22 (2): 84. DOI : 10,1145 / 251880,251992 .
  3. ^ Кребс, Гюнтер. «Кластер 1, 2, 3, 4, 5, 6, 7, 8» . Космическая страница Гюнтера . Проверено 29 ноября 2011 года .
  4. ^ Nuseibeh Башар (май 1997). "Ариана 5: Кто Даннит?" (PDF) . Программное обеспечение IEEE . 14 (3): 15–16. DOI : 10.1109 / MS.1997.589224 .
  5. Ле Ланн, Жерар (март 1997 г.). «Анализ отказа Ariane 5 Flight 501 - системная инженерная перспектива» . Материалы международной конференции 1997 г. по проектированию компьютерных систем (ECBS'97) . Компьютерное общество IEEE . С. 339–346. ISBN 0-8186-7889-5.
  6. ^ Фор, Christèle. «История технологий PolySpace» . Проверено 3 октября 2010 года .
  7. ^ Тодд, Дэвид (март 2007 г.). "Новости космической разведки ASCEND".

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

  • Томас, Л.Д. (2007) Избранные недостатки процессов системного проектирования и их последствия. Acta Astronautica, 61, 406–415.

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

  • Жак-Луи Лионс и др., Отчет комиссии по расследованию Ariane 501 ()
  • Spaceflight Now - Cluster II - Ariane 501 взрывается у Wayback Machine (архивировано 25 марта 2015 г.), прямая ссылка на видеофайл - Кадры последних секунд полета ракеты.
  • Wired - Худшие ошибки программного обеспечения в истории - статья о 10 основных ошибках программного обеспечения. Программный сбой Ariane 5 Flight 501 упоминается как одна из этих ошибок.
  • (на немецком языке) Ariane 5 - 501 (1–3) - хорошая статья (на немецком языке), в которой приводится актуальный рассматриваемый код.