Мифы о безопасном ПО - уроки знаменитых катастроф :: Аджиев Валерий
Страница: 6 из 18 | |||
| ||||||||||||||
| ||||||||||||||
КАТЕГОРИИ КНИГПОСЛЕДНИЕ ОТЗЫВЫ О КНИГАХМихаил (19.04.2017 - 06:11:11) Антихрист666 (18.04.2017 - 21:05:58) Ладно, теперь поспешили вы... (18.04.2017 - 20:50:34) Роман (18.04.2017 - 18:12:26) АНДРЕЙ (18.04.2017 - 16:42:55) СЛУЧАЙНОЕ ПРОИЗВЕДЕНИЕПроснись, твоя Фея стоит у ворот 30.06.10 - 08:03 Хотите чтобы ваше произведение или ваш любимый стишок появились здесь? добавьте его! |
Поделись ссылкой Мифы о безопасном ПО - уроки знаменитых катастроф :: Аджиев Валерий
Хотя полезность использования контрактных механизмов никто не оспаривал, все же взгляд авторов многим показался упрощенным. аиболее обстоятельный критический разбор их статьи выполнил сотрудник Locheed Martin Tactical AirCraft Systems, известный специалист в области разработки ответственных систем Кен Гарлингтон (Ken Garlington) [4]. Он начал с того, что указал на ошибку в приведенном наброске контракта, где предполагается, что BH преобразуется не из вещественного (как то было в реальности) числа, а из целого.
Показательно, пишет Гарлингтон, что он оказался первым, кто обратил внимание на столь очевидный прокол, а ведь статью читали и публично обсуждали многие квалифицированные специалисты. С тем же успехом (а точнее неуспехом) могла пройти мимо этого дефекта и "QA-team". Так что даже точная спецификация сама по себе не панацея. Гарлингтон также подробно разобрал нетривиальные проблемы, возникающие при написании не "наброска", а действительно полной спецификации контракта для данной конкретной ситуации. Вывод Гарлингтона вполне отвечает здравому смыслу: проблема носит комплексный характер и обусловлена прежде всего объективной сложностью систем типа Ariane. Соответственно, одним лекарством болезнь, приводящая к появлению ошибок в ПО, вылечена быть не может. Хотя то, что процесс мониторинга спецификаций, кода и документов с обоснованием проектных решений при разработке ПО для Ariane 5, оказался неадекватен, отметила и Комиссия по расследованию аварии. В частности, подчеркнуто, что к процессу контроля не привлекались специалисты из организаций, независимых как от заказчика, так и от подрядчика системы, что нарушило принцип разделения исполнительных и контрольных функций. Большие претензии были предъявлены не только к процессу тестирования как таковому, но и к самой его стратегии. а этапе тестирования и отладки системы было технически возможно в рамках интегрального моделирования процесса полета исследовать все аспекты работы IRS, что позволило бы почти гарантированно выявить ошибку, приведшую к аварии. Однако, вместо этого при моделировании работы всего комплекса IRS рассматривалась как черный ящик, заведомо выдающий то, что ожидается. Почему? А зачем тестировать то, что успешно работало в течение многих лет?! Было обращено внимание и на невыявленную при анализе требований к проекту взаимную противоречивость между необходимостью обеспечения надежности и декларацией о величине максимально допустимой нагрузки на компьютер, что и явилось предпосылкой принятия программистами потенциально опасного компромиссного решения о защите от переполнения не всех семи, а только четырех переменных. Впрочем, как справедливо замечает Б.Мейер, всякий инженерный процесс предполагает принятие компромиссных решений в условиях множества разноречивых требований; вопрос в том, насколько полна информация, на основании которой такие решения принимаются. Особый разговор о механизме обработки исключительных ситуаций, который, как уже говорилось, жил своей особой жизнью в отрыве от общего контекста всей ситуации с полетом, и в итоге уподобился тому врачу, что без всякого осмотра пристрелил пришедшего к нему с непонятными симптомами больного, дабы тот не мучился. Реализация именно такого механизма явилась следствием распространенной при разработке "ответственных" систем проектной культуры особо и радикально реагировать на возникновение случайных аппаратных сбоев. |
ИНТЕРЕСНОЕ О ЛИТЕРАТУРЕ
ТОП 20 КНИГ
ТОП 20 АВТОРОВ
| ||||||||||||
|