Starliner преподнес компании Boeing тяжелый урок о том как не следует тестировать программное обеспечение
В продолжении темы NASA наконец-то возьмутся за Boeing?
От переводчика: я понимаю, что баги Старлайнера это уже «баян», но материал вышел только сегодня и в нем есть пара интересных вещей, а также одно утверждение от которого у меня на голове волосы (хорошо, что их почти не осталось) встали дыбом.
Проект компании Боинг CST-100 Старлайнер, многократно используемая капсула для доставки астронавтов на низкую околоземную орбиту (НОО), возможно и выглядит как прошлые поколения космических кораблей, но внешность бывает обманчивой.
“Мы более не создаем аппараты в которые встраивается чуточка программного кода”, говорит Патриша Сэндерс, возглавляющая давно существующую консультативную группу по аэрокосмической безопасности NASA (NASA Aerospace Safety Advisory Panel — ASAP). “Напротив, мы создаем ПО, вокруг которого уже создается аппаратное обеспечение, в то же время мы еще не достигли того уровня на котором мы могли бы стандартизировано применять строгие наборы инженерных подходов разработки ПО”.
- требуется пересмотреть 1 миллион строк кода
- NASA запускает процедуру аудита безопасности (прим.: имеется в виду контроль качества — “safety”, а не “безопасность от врагов”, которая была бы “security” ) компании Боинг
Показательный пример: Старлайнер, вернувшийся из сокращенного испытательного полета, изобиловал потенциально возможными проблемами программного обеспечения. Одна ошибка проявилась вскоре после запуска, когда капсула пропустила момент включения двигателей для орбитального маневра по выходу к МКС поскольку ее таймер был установлен на 11 часов вперед по отношению к фактическому времени миссии.
Проблема была усугублена неким типом помех, причины которых еще расследуются, которые не позволяли диспетчерам выходить на связь со Старлайнером посредством сети спутников слежения и ретрансляции данных NASA. К тому времени как связь была восстановлена Старлайнер уже успел израсходовать большой запас топлива пытаясь управлять двигателями маневрирования и руководство решило пропустить стыковку с МКС и спасти остаток демонстрационного полета, включая успешный сход с орбиты вход в атмосферу и посадку в Нью Мексико.
Но проблемы со Старлайнером оказались более серьезными чем предполагалось вначале, во время встречи 6-го февраля, группа по безопасности обнародовала информацию о второй ошибке ПО обнаруженной инженерами Боинг во время изучения участка кода ответственного за действия производимые перед сходом с орбиты 22-го декабря, ошибка содержала неверную конфигурацию двигателя маневрирования и могла привести к тому, что после разделения и выполнения маневра схода с орбиты служебный модуль мог столкнуться с командным модулем.
Если бы эта неисправность не бы была устранена, то “это привело бы к ошибочному включению маневрового двигателя и неконтролируемому движению во время отделения служебного модуля при сходе с орбиты, что потенциально могло бы привести к катастрофическим последствиям.”, говорит член ASAP Пол Хилл, бывший директор управления полетами NASA.
Ожидается, что независимая группа, оценивающая тестовый полет Старлайнера не успеет завершить свою работу к концу февраля, но на встрече 7го февраля NASA совместно с Боинг сообщили, что группе удалось обнаружить несколько областей в которых контроль качества ПО был нарушен.
“Процесс был нарушен во многих областях”, говорит начальник по космическим полетам NASA Даглас Ловерро, “и мы не знаем сколько ошибок в программном обеспечении существует на данный момент, не знаем две ли ошибки или их сотни”, так же Ловерро отметил, что вина не возлагается исключительно на Боинг — “надзор NASA был недостаточен, это очевидно и это хороший урок для нас”.
NASA также запустило процедуру оценки организационной безопасности (прим.: качества) в компании Боинг, пытаясь выявить потенциальные системные проблемы. В прошлом году агентство провело подобное расследование в компании SpaceX, разрабатывающей другую систему по доставке экипажа. SpaceX готовится провести летное испытание своей капсулы с экипажем этой весной.
“Как государству нам нужны, и у нас есть обязательство в этом, иметь несколько поставщиков способных доставить нас на низкую околоземную орбиту”, сообщил администратор NASA Джим Брайденстайн на встрече с репортерами 7го февраля. “Это то чем является программа коммерческих полетов и мы очень усердно работаем для того чтобы понять с чем связаны неисправности Старлайнера, для того чтобы их устранить и двигаться дальше”.
NASA и Боинг соглашаются в том, что еще рано говорить потребуется ли второй тестовый беспилотный полет Старлайнера перед отправкой астронавтов — миссии, запланированной на этот год, Боинг также не комментирует то, сколько времени потребуется для проверки всего ПО Старлайнера, а это порядка 1 миллиона строк кода.
Во время тестового полета мы успешно испытали 66% всех сценариев (прим.: возможно имеются в виду “скрипты”) которые у нас были, но мы не готовы признать, что проблем нет”, говорит Джон Малхолланд, программный менеджер Боинг Старлайнер, “наша команда, вместе с NASA, полностью пересмотрит правильность реализации функционала ПО”.
В настоящий момент, NASA продолжает консультировать SpaceX чтобы та продолжила работу над своим проектом, особенно принимая во внимание сокращение персонала связанного с МКС (прим.: тут мог ошибиться, “ISS staffing ramping down”) вызванным тем, что контракт для полетов астронавтов на борту Российских капсул Союз близится к концу. В настоящий момент последнее оплаченное США место зарезервировано для ветерана NASA, астронавта Криса Кэсиди, в миссии запланированной к запуску в Апреле.