Научно-популярно о космосе и астрономии (lozga) wrote,
Научно-популярно о космосе и астрономии
lozga

Category:

Тестировать больше и лучше: Закончился разбор аварийного полета Boeing Starliner

NASA и Boeing закончили анализ декабрьского полета Boeing Starliner. Напомню, в первом беспилотном испытательном пуске нового корабля программу полета получилось выполнить только частично, сорвалась стыковка с МКС, продолжительность миссии пришлось сократить до двух суток, и при этом корабль дважды едва не был потерян окончательно. Отчет не опубликован полностью, но известно, что 80 рекомендаций в очередной раз подчеркивают важность тщательного и качественного тестирования.


Послеполетное обслуживание Boeing Starliner, фото NASA/Bill Ingalls

Дважды почти потерянный


По терминологии NASA миссию признали "почти потерянной с широким освещением СМИ" ("high visibility close call"). Следующий за этим термин - авария с потерей корабля и, возможно, гибелью людей. Статус довольно редкий, и в последний раз так обозначили ситуацию, когда в 2013 астронавт Лука Пармитано на выходе в открытый космос чуть не утонул прямо в скафандре из-за забитого фильтра системы водяного охлаждения.

Первый баг проявил себя спустя 31 минуту после старта. Корабль не выполнил ожидаемый маневр по переходу на траекторию перелета к МКС с исходной орбиты. ЦУП попытался исправить ситуацию, но, как на зло, на эти попытки наложились проблемы со связью, и в итоге Starliner оказался на орбите, непригодной для сближения с МКС, и пустыми топливными баками. Из-за ошибки в коде корабль синхронизировал с ракетой-носителем таймер полетного времени не в момент начала обратного отсчета, а за 11 часов до пуска. В результате бортовой компьютер считал, что корабль находится на другом этапе полета, нежели это было в реальности.


Разделение отсеков корабля Staliner, кадр из видео Boeing

Второй баг проявить себя не успел. Из-за первой проблемы специалисты NASA и Boeing стали анализировать код на предмет "а не пропустили ли мы еще что-нибудь?" И, как оказалось, не зря. В процессе посадки, после выполнения тормозного маневра, корабль должен был разделиться на спускаемый аппарат и сервисный модуль (показан на иллюстрации выше, подобную процедуру проходят почти все космические корабли, например, "Союз" разделяется на три отсека, а Crew Draron сбрасывает сервисный модуль перед торможением). После отделения, сервисный модуль должен был выполнить маневр по уходу в сторону от корабля, но из-за ошибки в коде порядок действий неправильно передавался в управляющий процессом контроллер. В результате сервисный модуль мог удариться о спускаемый аппарат и натворить там бед.

Третья проблема была не такой критичной, но выпила немало крови наземного персонала. На всем протяжении миссии у корабля были проблемы со связью с землей, что затрудняло управление им из ЦУПа, а в случае пилотируемого полета привело бы к сложностям при переговорах с астронавтами.

Две критические проблемы, каждая из которых привела бы к потере корабля, если бы не вмешательство ЦУПа, появились на этапе дизайна и разработки и сумели просочиться через многочисленные проверки на этапе тестирования. Обе проблемы можно было обнаружить при тестировании, и процессы Boeing могли и должны были их найти и устранить.

Что делать?


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

21 рекомендация прямо относится к тестированию. Прежде всего, требуется улучшить интеграционное тестирование и на уровне железа и на уровне программного обеспечения. От себя отмечу, что не выловленные на этапе интеграционного тестирования ошибки до сих пор занимают большую долю в причинах космических аварий. Далее, перед каждым полетом необходимо проводить "генеральную репетицию" с максимальным привлечением летного оборудования, анализировать его поведение и ограничения и принимать меры по обнаруженным пробелам в симуляциях.

10 рекомендаций отнесли к требованиям, но по сути они тоже относятся к тестированию. Требования с многочисленными условиями должны лучше анализироваться и необходимо повышать decision coverage - покрытие тестами условий в программном коде. Напомню, что 100% decision coverage означает 100% statement coverage, но не наоборот.

35 рекомендаций должны улучшить процессы. И по тому, что именно предлагают улучшить, можно реконструировать обнаруженные проблемы. Усиление ревью кода и тестовых данных должно исправить проблему с тем, что ошибки в коде не были замечены ни в процессе написания кода (на код ревью) ни в процессе тестирования (тестовые данные были, очевидно, недостаточными). Большее привлечение экспертов в критичных для безопасности участках должно устранить пропуски по недостаточной компетентности. А предложение изменений в документации принимающих решение комиссий должно исправить ситуацию, когда недостатки в разработке и тестировании не были замечены или получили слишком низкий приоритет на устранение.

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

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

Дорогой урок


Несмотря на то, что в истории с аварийным полетом нет ничего радостного, она послужит улучшению процессов создания космической техники и безопасности полетов. Конечно, очень обидно пропустить в продакшн баги, которые могли и должны были быть найдены при тестировании задолго до полетов. Сейчас первые испытательные полеты скорее должны подтвердить правильность принятых решений, а не обнаружить незамеченные проблемы. Тестовый полет оказался очень поучительным, но одновременно и очень дорогим. Boeing теперь обязана провести за свой счет еще один испытательный пуск, чтобы подтвердить безопасность и пригодность корабля к полетам. Его точная дата пока неизвестна, пока что в планах ноябрь 2020.

Нажмите эту кнопку, и вам будет приходить сообщение, когда выйдет мой новый пост.


Я в социальных сетях:Вконтакте, Facebook, Twitter, Instagram, YouTube
Поблагодарить деньгами: Яндекс.Деньги, PayPal, Webmoney

attentioneer.jpg
Tags: космические происшествия, пилотируемая космонавтика
Subscribe

Posts from This Journal “космические происшествия” Tag

  • Огненная отмена пуска NROL-44

    У ракеты Delta IV есть забавная особенность - при старте она штатно загорается и летит дальше закопченой. В ночь на 29 августа впервые за 40 пусков…

  • Rocket Lab нашла причину аварии и продолжает развиваться

    Не прошло и месяца, как компания Rocket Lab объявила об окончании расследования аварии. Основанная на трансляции гипотеза исчезновения тяги…

  • Вторая авария "Электрона"

    Суеверные люди могут праздновать иллюзию своей правоты - тринадцатый запуск ракеты-носителя Electron завершился аварией с потерей ракеты и полезной…

  • Vega возвращается к полетам

    Спустя почти год возвращается к полетам ракета-носитель Vega, потерпевшая аварию 11 июля 2019. Кроме проверки в полете принятых мер по исправлению…

  • Космические штрихи уходящего года

    Сейчас, когда до Нового года остались считанные часы, логично оглянуться назад и посмотреть, каким оказался 2019 год. Этот материал не претендует на…

  • Результаты расследования аварии GOES-17

    Как говорится, "по следам наших публикаций". Год назад я рассказал про обнаруженную на метеорологическом спутнике США GOES-17 аварию - его…

promo lozga november 4, 2014 17:00
Buy for 50 tokens
Привет! Добро пожаловать в блог, посвященный популяризации космонавтики, астрономии, и, шире, науки и прогресса человечества. Если вы зашли ко мне впервые, рекомендую почитать длинные серии постов по тегам: Серия "Незаметные сложности космической техники". Рассказы о том, как и почему ракеты и…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 75 comments