Отправляет email-рассылки с помощью сервиса Sendsay

[svoboda] Про глючный софт и последствия

Здравствуйте, rest.

Где-то в конце 70-х годов - испытания амерской ЗСУ "Сержант Йорк". Для поражения
вертолетов. ЗСУ была оснащена системой распознавания образов.
Во время испытаний около неё безуспешно кружил вертолет-мишень, которую она
так и не смогла распознать. Зато распознала как вертолет вентилятор в туалете,
расположенном метрах в 800-х от ЗСУ. И успешно его поразила.
Испытания американского истребителя F-16 проводились, понятное дело, в северном
полушарии. На заключительном этапе самолет решили проверить где-то в Латинской
Америке, но уже с другой стороны экватора. При переводе самолета в режим автопилота
он автоматически развернулся "вверх ногами".
В Афганистане двое наводчиков-наблюдателей (канадцы) подсвечивали цель для наведения
на нее бомбы. После сброса бомбы в GPS приемнике закончились батарейки. Расчет
их быстро заменил. В результате ракета прилетела не туда. Причина проста. После
подачи питания в прибор, переменные, отвечающие за координаты цели, автоматически
инициализировались координатами текущего местоположения. Наводчики погибли от
близкого разрыва.
На испытаниях Су-24 регулярно случался отказ аппаратуры бомбометания. Причем
происходило это только в том случае, если на цель заходил летчик-испытатель
Ильюшин. Причина оказалось тоже не сложной. Только он заходил на цель с точностью,
превышавшей машинную точностью. Получался "машинный нуль", после чего шел сбой
из-за попытки деления на ноль.
Этот пример тоже очень характерен, хотя, строго говоря, он и не относится напрямую
к разработке ПО, но демонстирует важность тестирования. Возникла эта проблема,
скорее всего, на МБР 15А30, причем уже после постановки ее на боевое дежурство.
При пуске, ракета выходила из шахты и взрывалась на высоте нескольких метров
над землей. Причина оказалась тоже не самой сложной. Рубашка сопла охлаждается
окислителем, после чего он поступает в камеру сгорания. В спешке принятия нового
комплекса на вооружение к очередной годовщине, в систему пуска двигателя внесли
небольшие улучшения, которые не протестировали должным образом.
В результате пироклапан срабатывал с большим запаздыванием. Окислитель не поступал
в трубки охлаждения, а жаропрочности сопла хватало только на то, чтобы ракета
вышла из шахты.
Причиной взрыва 4 июня 1996 г. ракеты Ариан-5, была программная ошибка. В системе
управления ракеты использовалось модифицированное программное обеспечение ранее
успешно работавшее на Ариан-4, но Ариан-5 ускорялась быстрее предыдущей модификации,
в результате когда на 40 секунде полета одна из вспомогательных подпрограмм
попыталась преобразовать длинное целое значение в короткое без проверки величины
значения, и то вышло за границы типа, произошло отключение системы управления
ракеты, и она была взорвана по команде на самоликвидацию.
Прямой (вместе с ракетой-носителем была потерян коммуникационный спутник) и
косвенный ущерб от этого программного сбоя был оценен в полмиллиарда долларов.
История о неприятностях ракетного крейсера ВМС США <<Иорктаун>>. Это экспериментальный,
так называемый <<умный корабль>> (smart ship), важнейшие системы жизнеобеспечения
которого управляются компьютерами без участия человека. И что немаловажно -
под руководством операционной системы Windows NT 4.0.
Так вот, однажды вся эта махина, находясь в открытом море, на три без малого
часа встала в полный ступор из-за наглухо зависшего программного обеспечения.
Причем произошло это из-за совершенно пустяковой оплошности одного из операторов,
занимавшегося калибровкой клапанов топливной системы и записавшего в какую-то
из ячеек расчетной таблицы нулевое значение.
Ну а далее пошла операция деления на этот самый нуль. С подобной ерундой справляется
даже самый дешевый калькулятор, однако здесь в терминале оператора система дала
ошибку переполнения памяти. Причем ошибка быстро перекинулась на другие компьютеры
локальной сети корабля, началась цепная реакция, и по известному принципу домино
рухнула вся бортовая система. Которую удалось восстановить и перезагрузить лишь
через 2 часа 45 минут, в течение которых здоровенный боевой корабль оставался
по сути дела беспомощен и неуправляем
(с)пёрта

--

Ответить   Wed, 31 Mar 2010 09:30:04 +0400 (#1038613)