Авионика (бортовое электронное оборудование)
Здесь под авионикой подразумевается компьютерная система орбитального модуля, как входные датчики, так и выходные силовые приводы. Сначала мы ограничимся собственно компьютерами и не станем заниматься надежностью входной информации, поступающей от датчиков температуры, давления и т. п., а также тем, насколько точно силовые приводы на выходе – как то?: запуск ракет, механическое управление, дисплеи астронавтов и т. п. – следуют командам компьютера.
Вычислительная система очень детально разработана и содержит свыше 250 000 строк программы. Помимо многого другого программа отвечает за автоматическое управление на всех этапах выведения шаттла на орбиту и за его снижение, пока шаттл не войдет в атмосферу (ниже 1 Маха[60]) и не будет нажата кнопка для выполнения решения о желательном месте посадки. Можно было бы и всю посадку сначала и до конца проводить в автоматическом режиме. (Сигнал выпустить шасси намеренно выведен из-под управления компьютера, это действие должно выполняться пилотом предположительно по соображениям безопасности.) Во время орбитального полета вычислительная система используется для контроля полезной нагрузки, выведения нужной информации на дисплеи астронавтов и обмена информацией с Землей. Очевидно, что безопасность полета требует гарантированной точности этой сложнейшей системы аппаратного и программного обеспечения компьютеров.
Вкратце, надежность аппаратных средств обеспечивается наличием четырех, по сути, независимых идентичных компьютерных систем. Где это возможно, каждый датчик также имеет многократное дублирование – как правило, четырехкратное, – и каждый датчик передает информацию на все четыре линии связи с компьютерами. Если же есть рассогласование в поступающих от датчиков сигналах, то в качестве действующего входного сигнала либо используется определенная средняя величина, либо делается отбор тех значений, которые чаще встречаются в зависимости от обстоятельств. Так как каждый компьютер видит все дублирующие датчики, то все входные данные одинаковы для каждого компьютера, и поскольку алгоритмы, используемые каждым из четырех компьютеров, одинаковы, то результаты на каждом компьютере должны быть идентичными на каждом шаге. Время от времени их сравнивают, но поскольку компьютеры могут работать со слегка отличимыми скоростями, то установлена система приостановок и ждущего режима на определенное время, пока каждое сравнение не будет сделано. Если один из компьютеров не согласуется или запаздывает с готовым ответом, то три других, работающие согласованно, считаются правильными, и компьютер, который ошибся, полностью исключается из системы. Теперь, если из строя выйдет другой компьютер по суждению двух оставшихся, то и он исключается из системы, в этом случае полет не продолжается: начинается снижение к месту посадки и управление берут на себя два оставшихся компьютера. То есть это и есть система с резервированием, так как выход из строя одного компьютера не влияет на выполнение задания. И наконец, в качестве дополнительной гарантии безопасности имеется пятый независимый компьютер, в память которого загружены только программы подъема и снижения и который способен управлять возвращением аппарата на Землю, даже если из строя выйдут более чем два из четырех основных компьютера.
В памяти основных компьютеров не хватает места для всех программ подъема, спуска и полезной нагрузки на весь полет, поэтому астронавты четыре раза загружают нужные программы в память компьютера с кассет.
Требуются гигантские усилия для замены программного обеспечения для столь сложной системы и для проверки новой системы, поэтому аппаратное обеспечение не изменялось с момента разработки транспортной системы шаттла 15 лет назад. Действующее аппаратное обеспечение устарело – например, память старого типа на ферритовых сердечниках. Все сложнее и сложнее найти производителей для поставок таких компьютеров старого образца – надежных и достаточно высокого качества. Современные компьютеры намного более надежны и работают намного быстрее. Это упрощает схемы и позволяет больше сделать. Теперь компьютерам не требуется так много загрузки с кассет, так как их память намного большего объема.
Программное обеспечение проверяется очень тщательно по принципу «снизу вверх». Прежде всего проверяется каждая новая строка программы; затем уже верифицируются разделы программы (модули) со специальными функциями. Область рассмотрения постепенно увеличивается, пока все новые изменения не будут включены в состав всей системы и проверены. Этот полный выход считается конечным продуктом, заново выпущенным. Но группа, занимающаяся верификацией, которая является оппонентом по отношению к группе разработчиков программного обеспечения, работает полностью независимо и тестирует программы так, как это делал бы покупатель выпущенного готового продукта. Существует дополнительная верификация при использовании новых программ в имитаторах полета и т. п. Ошибка на этой стадии верификационного тестирования считается очень серьезной, и ее происхождение изучается очень тщательно, дабы в дальнейшем избегать подобных ошибок. Подобные ошибки, не выявленные на предыдущем этапе опытным путем, были обнаружены раз шесть за все время программирования и изменения программ (для новых или измененных полезных нагрузок). Принцип был такой: вся эта верификация не имеет никакого отношения к программе безопасности; это тест на безопасность в некатастрофической верификации (без учета сценария катастрофы). О безопасности полета можно судить исключительно по тому, насколько хорошо программы ведут себя во время контрольных тестов. Если здесь произойдет отказ, то это будет означать наличие серьезной проблемы и не пройдет незамеченным.
То есть, подводя итог: система проверки программного обеспечения – высочайшего качества. Ничто не указывает на наличие того исподволь происходящего процесса самообмана в пренебрежении стандартами, процесса, столь характерного для систем безопасности твердотопливных ускорителей и маршевых двигателей космического шаттла. И вдобавок как раз недавно имели место предложения руководства урезать такие сложные и дорогостоящие испытания за ненадобностью. Подобным предложениям следует противодействовать, потому что они не оценивают едва заметные взаимные влияния первопричины ошибки, вызванной даже незначительными изменениями программы в той или иной ее части. Но в тех случаях, когда вводится новое значение полезной нагрузки или когда это обусловлено новыми требованиями и модификациями, предложенными пользователями, – в программу вносятся необходимые изменения. Любые изменения обходятся дорого, так как они требуют исчерпывающего тестирования. Правильный способ сэкономить – сократить количество требуемых изменений, но никак не качество тестирования каждого из вносимых изменений.
Можно добавить, что эта сложная система тестирования может быть значительно улучшена на новом аппаратном обеспечении и с новыми способами программирования. Любая конкуренция выявила бы все преимущества опережения. Если новое аппаратное обеспечение – это хорошая идея, то НАСА следовало бы обстоятельно рассмотреть этот вопрос.
И наконец, возвращаясь к датчикам и системам бортовой электроники, мы обнаруживаем, что отношение к системному отказу и надежности далеко не столь хорошее, как для компьютерных системам. Например, трудности возникали с определенными датчиками температуры, которые иногда выходят из строя. И все же спустя восемнадцать месяцев использовались те же самые датчики, по-прежнему иногда отказывающие, пока не пришлось отменить запуск шаттла, потому что два датчика сломались одновременно. И даже в следующем полете этот ненадежный датчик был использован снова. И системы регулирования обратной связи, ракетные сопла, используемые для переориентации и управления в полете, все еще как-то ненадежны. Есть значительная избыточность, но есть также и долгая история отказов, ни один из которых не был достаточно серьезным, чтобы оказать существенное влияние на полет. Действие маневровых сопел контролируется датчиками: если сопло не сработает, то компьютеры выберут другое. Но конструкцией не предусмотрены эти отказы, а потому проблему нужно решать.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК