Какое ТЕБЕ дело до того, что думают другие? - Фейнман Ричард Филлипс. Страница 38
Он поблагодарил меня и сказал, что отправил мой отчет всем.
Потом я отправился в Космический Центр им. Джонсона в Хьюстоне, чтобы исследовать авиационную электронику. Там была группа Салли Райд. Они расследовали вопросы безопасности, разговаривая с астронавтами об их впечатлениях. Салли познакомила меня с инженерами по программному обеспечению, и они показали мне тренажеры для астронавтов.
Все это действительно очень необычно. Там есть всевозможные имитаторы с изменяющейся степенью сложности, на которых тренируются астронавты. Один из них был очень похож на настоящую машину: поднимаешься по лестнице, входишь внутрь; в окнах компьютеры воспроизводят нужные изображения. Когда пилот передвигает рычаги управления, вид за окнами меняется.
Перед этим тренажером стояла двойная задача: обучать астронавтов и проверять компьютеры. В задней части отсека, где сидит команда, располагались лотки, наполненные кабелями, спускавшимися вниз через грузовой отсек и уходившими куда-то в задний отсек, где специальные инструменты моделировали сигналы двигателей — давление, скорость течения топлива и т.п. (Кабели были доступны, потому что техники проверяли «перекрестную наводку» — помехи в сигналах, передаваемых туда-обратно.)
Самим шаттлом управляет, главным образом, компьютер. Как только он включается и начинает работать, то внутри больше никто ничего не делает, потому что возникает огромное ускорение. Когда шаттл достигает определенной высоты, компьютеры на некоторое время немного снижают осевую нагрузку двигателя, а по мере увеличения разрежения воздуха снова ее поднимают. Примерно через минуту после этого отпадают два твердотопливных ракета-носителя; еще через несколько минут отпадает основной топливный резервуар, причем все операции контролируются компьютерами. Шаттл автоматически попадает на орбиту — астронавты просто сидят на своих местах.
У компьютеров шаттла не хватает памяти, чтобы хранить все программы до конца полета. После попадания шаттла на орбиту астронавты вынимают некоторые кассеты и загружают программу для следующей фазы полета — всего этих фаз шесть. Ближе к концу полета астронавты загружают программу возвращения на Землю.
На борту шаттла четыре компьютера, обрабатывающих одни и те же программы. Обыкновенно все четыре компьютера работают абсолютно согласованно. Если один компьютер выходит из согласования, то полет все равно может продолжаться. Но если согласованно работают только два компьютера, полет необходимо прекратить, и шаттл должен немедленно вернуться на Землю.
Для большей безопасности на борту есть еще и пятый компьютер, расположенный отдельно от четырех предыдущих, с проводами, идущими по другим каналам. В этот компьютер заложено всего две программы: программа подъема и программа спуска. (У него едва хватает памяти на размещение двух этих программ.) Если что-то произойдет с остальными компьютерами, то этот пятый компьютер сможет вернуть шаттл на Землю. Его никогда нельзя использовать ни для чего другого.
Но наиболее эффектная вещь — это посадка. Как только астронавты узнают, где они должны приземлиться, они нажимают одну из трех кнопок — обозначенных как Эдвардс, Уайт Сэндс и Кеннеди, — благодаря чему компьютер узнает, где приземлится шаттл. Затем несколько маленьких ракет его немного замедляют и вводят в атмосферу под почти прямым углом. Это опасная часть, во время которой нагревается все покрытие.
В течение этого времени астронавты ничего не видят, и все изменяется настолько быстро, что снижение должно проводиться автоматически. На высоте около 35 000 футов шаттл замедляется до скорости, не превышающей скорость звука, и тогда им можно управлять вручную, если возникнет такая необходимость. На высоте же в 4 000 футов происходит нечто, что выполняет не компьютер: пилот нажимает на кнопку, чтобы опустить шасси.
Я нашел это очень странным — глупость, которая, очевидно, связана с психологией пилотов: они герои в глазах публики; все считают, что именно они управляют шаттлом, тогда как истина в том, что им не нужно ничего делать до того момента, когда они нажимают кнопку, чтобы опустить шасси. Для них просто невыносима мысль, что, на самом деле, им делать нечего.
Я считал более безопасным тот вариант, когда шасси опускались бы компьютером на тот случай, если астронавты по какой-то причине потеряют сознание. Инженеры-программисты со мной согласились и добавили, что если опустить шасси раньше или позднее нужного времени, то возникнет очень опасная ситуация.
Инженеры рассказали мне, что наземное управление может послать на шаттл сигнал спуска шасси, но подобное дублирование создавало некоторую неуверенность: что произойдет, если пилот, находясь в полубессознательном состоянии, считает, что шасси должны опуститься в определенное время, а контролер на земле знает, что это время ошибочно? Было бы гораздо лучше, если бы всем процессом управлял компьютер.
Раньше пилоты также управляли тормозами. Однако это создавало множество проблем: если вы слишком много тормозили в начале посадочной полосы, то к ее концу тормозная колодка стиралась до основания, так что вы не могли остановиться! Тогда программистов попросили написать компьютерную программу для управления тормозами. Сначала астронавты возражали против подобной перемены, но теперь они довольны, так как автоматический тормоз работает просто превосходно.
Несмотря на то, что в Джонсоне пишут много превосходных программ, компьютеры, которыми оборудован шаттл, настолько устарели, что их уже даже не производят. Они оснащены памятью старого типа, состоящей из маленьких ферритовых сердечников, через которые проходят проводки. Тем временем, мы уже разработали гораздо лучшее аппаратное обеспечение: современные кристаллы памяти гораздо меньше старых, обладают гораздо большей емкостью и гораздо более надежны. Они содержат внутренние коды исправления ошибок, которые автоматически поддерживают память в хорошем состоянии. С помощью современных компьютеров мы можем создавать отдельные программные модули, так что изменение полезной нагрузки не станет требовать грандиозного изменения программ.
Из-за огромных инвестиций, сделанных в имитаторы полета и все остальное аппаратное обеспечение, начинать все заново и заменять миллионы строк программ, которые создавались постепенно, было бы очень дорого.
Я узнал, как программисты разрабатывали авиационную электронику для шаттла. Одна группа создавала части программ. После этого части объединялись в огромные программы, которые тестировала независимая группа.
Когда обе группы приходили к выводу, что все ошибки устранены, они проводили имитацию всего полета, во время которой проверяется каждая часть системы шаттла. Для таких случаев у них был особый принцип: эта имитация — не просто упражнение по проверке состояния программ; это реальный полет — если сейчас что-то выйдет из строя, то это очень серьезно, как если бы на борту шаттла действительно были астронавты и у них возникли проблемы. Речь идет о вашей репутации.
За много лет, в течение которых они этим занимались, выход из строя происходил всего шесть раз на этапе имитации полета и ни одного раза во время реального полета.
Таким образом, было похоже, что программисты знают свое дело: они знали, что их работа жизненно важна для шаттла, но представляет собой потенциальную опасность, поэтому они были в высшей степени аккуратны. Они писали программы управления очень сложными механизмами в среде с радикально изменяющимися условиями — программы, измеряющие эти изменения, выказывают гибкость в своих ответных сигналах и поддерживают высокую точность и безопасность. Я бы сказал, что в некоторых отношениях они когда-то занимали важнейшее место в том, что касается обеспечения качества в роботизированных или интерактивных компьютерных системах, но из-за устаревшего аппаратного обеспечения теперь об этом не может быть и речи.
Я не исследовал авиационную электронику столь же тщательно, как двигатели, поэтому, быть может, я несколько голословен, но сам я так не считаю. Инженеры и руководители отлично находили общий язык друг с другом и внимательно следили за тем, чтобы не снижать критерии безопасности.