Мифы о безопасном ПО: уроки знаменитых катастроф - [2]
Как обычно, для обеспечения надежности Системы Управления Полетом используется дублирование оборудования. Поэтому две системы IRS (одна активная, другая ее горячий резерв) с идентичным аппаратным и программным обеспечением функционируют параллельно. Как только бортовой компьютер OBC обнаруживает, что «активная» IRS вышла из штатного режима, он сразу же переключается на другую. Впрочем, и бортовых компьютеров тоже два.
Теперь, следуя Докладу Комиссии,[2] проследим все значимые фазы развития процесса, оказавшегося в конце концов аварийным. Момент старта обозначим H0 — это и будет точка отсчета для всех событий, хотя отслеживать их мы будем в обратном начиная с момента саморазрушения системы порядке. Для полноты картины упомянем, что предшествующие старту операции происходили в нормальном режиме вплоть до момента H0-7 минут, когда было зафиксировано нарушение «критерия видимости». Поэтому старт был перенесен на час; в H0 = 9 час. 33 мин. 59 сек. местного времени «окно запуска» было вновь «поймано» и был, наконец, осуществлен сам запуск, который и происходил штатно вплоть до момента H0+37 сек. В последующие секунды произошло резкое отклонение ракеты от заданной траектории, что и закончилось взрывом. Итак:
* в момент H0+39 сек. из-за высокой аэродинамической нагрузки вследствие превышения «углом атаки» критической величины на 20 градусов произошло отделение стартовых ускорителей ракеты от основной ее ступени, что и послужило основанием для включения Системы Автоподрыва ракеты;
* изменение угла атаки произошло по причине нештатного вращения сопел твердотопливных ускорителей;
* такое отклонение сопел ускорителей от правильной ориентации вызвала в момент H0 + 37 сек. команда, выданная Бортовым Компьютером на основе информации от активной авигационной Системы (IRS 2). Часть этой информации была в принципе некорректной: то, что интерпретировалось как полетные данные, на самом деле являлось диагностической информацией встроенного компьютера системы IRS 2;
* встроенный компьютер IRS 2 передал некорректные данные, потому что диагностировал нештатную ситуацию, «поймав» исключение (exception), выброшенное одним из модулей программного обеспечения;
* при этом Бортовой Компьютер не мог переключиться на резервную систему IRS 1, так как она уже прекратила функционировать в течение предшествующего цикла (занявшего 72 мсек.) по той же причине, что и IRS 2;
* исключение, «выброшенное» одной из программ IRS, явилось следствием выполнения преобразования данных из 64-разрядного формата с плавающей точкой в 16-разрядное целое со знаком, что привело к «Operand Error»;
* ошибка произошла в компоненте ПО, предназначенном исключительно для выполнения «регулировки» Инерциальной Платформы. Причем что звучит парадоксально, если не абсурдно этот программный модуль выдает значимые результаты только до момента H0 + 7 сек. отрыва ракеты со стартовой площадки. После того, как ракета взлетела, никакого влияния на полет функционирование данного модуля оказать не могло;
* однако, «функция регулировки» действительно должна была (в соответствии с установленными для нее требованиями) действовать еще 50 сек. после инициации «полетного режима» на шине авигационной Системы (момент H0-3 сек.), что она с усердием дурака, которого заставили богу молиться, и делала;
* ошибка «Operand Error» произошла из-за неожиданно большой величины BH (Horizontal Bias горизонтальный наклон), посчитанной внутренней функцией на основании величины «горизонтальной скорости», измеренной находящимися на Платформе датчиками. Величина BH служила индикатором точности позиционирования Платформы;
* величина BH оказалась много больше, чем ожидалось потому, что траектория полета Ariane 5 на ранней стадии существенно отличалась от траектории полета Ariane 4 (где этот программный модуль использовался ранее), что и привело к значительно более высокой «горизонтальной скорости».
Финальным же действием, имевшим фатальные последствия, стало прекращение работы процессора; соответственно, вся авигационная Система перестала функционировать. Возобновить же ее действия оказалось технически невозможно.
Осталось добавить, что всю эту цепь событий удалось полностью воспроизвести с помощью компьютерного моделирования, что вкупе с материалами других исследований и экспериментов позволило заключить; причины и обстоятельства катастрофы полностью выявлены.
Прежде всего проследим, откуда взялось первоначальное требование на продолжение выполнения операции регулировки после взлета ракеты.
Оказывается, оно было заложено более чем за 10 лет до рокового события, когда проектировались еще ранние модели серии Ariane. При некотором (весьма маловероятном!) развитии событий взлет мог быть отменен буквально за несколько секунд до старта, например в промежутке H0-9 сек., когда на IRS запускался «полетный режим», и H0-5 сек., когда выдавалась команда на выполнение некоторых операций с ракетным оборудованием. В случае неожиданной отмены взлета необходимо было быстро вернуться в режим «обратного отсчета» (countdown) и при этом не повторять сначала все установочные операции, в том числе приведение к исходному положения Инерциальной Платформы (операция, требующая 45 мин. время, за которое можно потерять «окно запуска»).
Монография впервые в отечественной и зарубежной историографии представляет в системном и обобщенном виде историю изучения восточных языков в русской императорской армии. В работе на основе широкого круга архивных документов, многие из которых впервые вводятся в научный оборот, рассматриваются вопросы эволюции системы военно-востоковедного образования в России, реконструируется история военно-учебных заведений лингвистического профиля, их учебная и научная деятельность. Значительное место в работе отводится деятельности выпускников военно-востоковедных учебных заведений, их вкладу в развитие в России общего и военного востоковедения.
Как цикады выживают при температуре до +46 °С? Знают ли колибри, пускаясь в путь через воды Мексиканского залива, что им предстоит провести в полете без посадки около 17 часов? Почему ветви некоторых деревьев перестают удлиняться к середине июня, хотя впереди еще почти три месяца лета, но лозы и побеги на пнях продолжают интенсивно расти? Известный американский натуралист Бернд Хайнрих описывает сложные механизмы взаимодействия животных и растений с окружающей средой и различные стратегии их поведения в летний период.
Немногие культуры древности вызывают столько же интереса, как культура викингов. Всего за три столетия, примерно с 750 по 1050 год, народы Скандинавии преобразили северный мир, и последствия этого ощущаются до сих пор. Викинги изменили политическую и культурную карту Европы, придали новую форму торговле, экономике, поселениям и конфликтам, распространив их от Восточного побережья Америки до азиатских степей. Кроме агрессии, набегов и грабежей скандинавы приносили землям, которые открывали, и народам, с которыми сталкивались, новые идеи, технологии, убеждения и обычаи.
Голуби, белки, жуки, одуванчики – на первый взгляд городские флора и фауна довольно скучны. Но чтобы природа заиграла новыми красками, не обязательно идти в зоопарк или включать телевизор. Надо просто знать, куда смотреть и чему удивляться. В этой книге нидерландский эволюционный биолог Менно Схилтхёйзен собрал поразительные примеры того, как от жизни в городе меняются даже самые обычные животные и растения. В формате PDF A4 сохранен издательский макет.
«Представляемая мною в 1848 г., на суд читателей, книга начата лет за двадцать пред сим и окончена в 1830 году. В 1835 году, была она процензирована и готовилась к печати, В продолжение столь долгого времени, многие из глав ее напечатаны были в разных журналах и альманахах: в «Литературной Газете» Барона Дельвига, в «Современнике», в «Утренней Заре», и в других литературных сборниках. Самая рукопись читана была многими литераторами. В разных журналах и книгах встречались о ней отзывы частию благосклонные, частию нет…».
Бой 28 июля 1904 г. — один из малоисследованых и интересных боев паровых броненосных эскадр. Сражение в Желтом море (японское название боя 28.07.1904 г.) стало первым масштабным столкновением двух противоборствующих флотов в войне между Россией и Японией в 1904–05 гг. Этот бой стал решающим в судьбе русской 1-й эскадры флота Тихого океана. Бой 28.07.1904 г. принес новый для XX века боевой опыт планирования, проведения морских операций в эпоху брони и пара, управления разнородными силами флота; боевого использования нарезной казнозарядной артиллерии с бездымным порохом и торпедного оружия.