Re[6]: Двадцать основных принципов, без которых нельзя обойтись при создании над
От: t_o_l Россия  
Дата: 20.06.13 15:41
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, t_o_l, Вы писали:


__>>Как говорилось в пункте 3, надежность ПО нужно доказать, иначе веры в вероятность декларируемой отказоустойчивости — нет. Для доказательства нужно использовать какой-то подход. В гражданской авиации — нужно доказать что ПО соответствует всем требованиям стандарта DO-178B/C в зависимости от выбранного уровня критичности этого ПО. Уровень критичности определяется в зависимости от того какой вред может причинить ПО человеку, в диапазоне от смертельного и кончая никаким. А что используют "телефонисты" для такого доказательства?


G>Ничего. ПО телефонных свитчей не может причинить вреда человеку. Что не мешает ему быть достаточно надежным by design и по практике эксплуатации — пять девяток аптайма все приличные продукты на практике обеспечивают. Некоторые, как например, AXD301, фактически обеспечивают девять девяток.


G>При этом, практическая надежность "телефонного" многократно перекрывает все разумные требования к надежности обычного ПО, не говоря уже о современных веб-сервисах, где в процессе разработки вполне сознательно жертвуют надежностью в пользу скорости внесения изменений.


G>У слова "надежность" очень много граней, это не бинарный признак. Есть разные подходы к обеспечению надежности, и все они стоят денег.


G>Например, при разработке системы автоматической посадки Бурана отдельная команда занималась восстановлением исходников на Фортране из машинного кода, и сравнением исходников с оригиналом. В результате было найдено две ошибки в компиляторе, из-за которых Буран непременно упал бы. Я лично знаком с руководителем этой команды.


G>Дает ли этот опыт нам что-то полезное? Нет. Надо быть сумасшедшим, чтобы использовать эту практику в коммерческой разработке.


Спасибо за ответ. Очень интересная информация про Буран. Я хоть сам когда-то имел отношение к космосу, но про это не знал. Что касается, того, что такой опыт не является полезным для коммерческих разработок, то тут я с вами не согласен. Сертификация ПО на уровень "А" и "В" стандарта DO-178B/C, как раз и идет каким-то похожим путем. И даже если компилятора сам сертифицирован на уровень "А" в нем могут быть ошибки, поэтому могут потребоваться какие-то сложные пути обеспечения надежности. Так что если вы разрабатываете, например, автопилот для самолета, который и по железу и по программному обеспечению должен иметь уровень критичности "А" или "В", такой опыт может очень сильно пригодиться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.