отказом, позволяют обеспечить высокую надежность программы. При этом неправильная программа может функционировать в принципе абсолютно надежно. Действительно, если при каждом появлении реальных исходных данных (3 на рисунке 1.1), попадающих в области II и IV и стимулирующих неправильные результаты, они не приводят к событиям, соответствующим отказу, то такая программа функционирует безотказно и надежно, хотя и не всегда правильно. В реальных условиях по различным причинам исходные данные могут попадать в область III, не проверенную при отладке и не соответствующую требованиям спецификации или технического задания. Если восстановление происходит за время меньшее, чем пороговое время между отказом и сбоем, то такие события не влияют на основной показатель надежности —наработку на отказ. Следовательно, отказ при функционировании программы является понятием динамическим и произойдет с вероятностью, определяющейся совмещением следующих событий: ■ появление на входе программы реальных данных, попадающих в непроверенные при тестировании и испытаниях области III или IV, вероятности Рш и PIV; ■ проявление ошибки при обработке этих данных, достаточной для вызова отказовой ситуации, вероятность Ро, ■ длительность восстановления после возникновения отказовой ситуации превысила пороговое значение между отказом и сбоем вероятность Рв. В некоторой области изменения исходных данных (область IV) правильность и надежность программы оказываются взаимосвязанными. Это соответствует данным, определенным техническим заданием и не проверенным при тестировании. 18 |
3). Таким образом, неправильность программы определяется вероятностью совмещения следующих событий: попадания исходных данных в область, заданную требованиями спецификации, но не проверенную при отладке и испытаниях, — вероятности Рц и Р^; проявления ошибки в программе при обработке таких данных — вероятность Р0. Правильность программы не определена вне области изменения данных, заданной спецификацией, и не зависит от динамики функционирования программ в реальном времени. Надежная программа прежде всего должна обеспечивать низкую вероятность отказа в процессе реального функционирования. Быстрое реагирование на искажения программ, данных или вычислительного процесса и восстановление работоспособности за время меньшее, чем порог между сбоем и отказом, позволяют обеспечить высокую надежность программы. При этом неправильная программа может функционировать в принципе абсолютно надежно. Действительно, если при каждом появлении реальных исходных данных (3 на рис. 3), попадающих в области П и IV и стимулирующих неправильные результаты, они не приводят к событиям, соответствующим отказу, то такая программа функционирует безотказно и надежно, хотя и не всегда правильно. В реальных условиях по различным причинам исходные данные могут попадать в область III, не проверенную при отладке и не соответствующую требованиям спецификации или технического задания. Если восстановление происходит за время меньшее, чем пороговое время между отказом и сбоем, то такие события не влияют на основной показатель надежности наработку на отказ. Следовательно, отказ при функционировании программы является понятием динамическим и произойдет с вероятностью, определяющейся совмещением следующих событий: 36 появление на входе программы реальных данных, попадающих в непроверенные при тестировании и испытаниях области П1 или IV, -вероятности Рщ и Piv; проявление ошибки при обработке этих данных, достаточной для вызова отказовой ситуации, вероятность Ро, ~ длительность восстановления после возникновения отказовой ситуации превысила пороговое значение между отказом и сбоем вероятность Р* В некоторой области изменения исходных данных (область IV) правильность и надежность программы оказываются взаимосвязанными. Это соответствует данным, определенным техническим заданием и не проверенным при тестировании. Отсутствие физического разрушения компонент функционирующего КП позволяет добиваться высокой автоматизации программного восстановления. Главной задачей становится восстановление за время, не превышающее порогового значения между сбоем и отказом. В результате можно преобразовать откаш в сбои и тем самым улучшить показатели надежности функционирования системы. Для решения этой задачи в КП должны быть средства, позволяющие: проводить систематический контроль и обнаруживать аномалии процесса функционирования или состояния программ и данных; диагностировать обнаруженные искажения; выбирать методы и средства оперативного восстановления (рестарта); реализовывать оперативное восстановление нормальной работоспособности; регистрировать каждый происшедший сбой или отказ и обобщать с данными предыдущих искажений для выявления систематических случаев, требующих доработки программ или аппаратуры. Реализация средств с такими функциями осуществляется за счет 37 |