Требования безотказности
Безотказность – это комплексное понятие, которое нужно рассматривать на общесистемном уровне, а не на уровне отдельных компонентов. Так как компоненты системы взаимосвязаны, отказ в одном компоненте может распространиться через систему на другие компоненты. В компьютерных системах при определении безотказности учитывают три составляющие.
1. Безотказность аппаратных средств. Определяется как вероятность выхода из строя аппаратных средств и количество времени, затрачиваемого на их ремонт или замену. 2. Безотказность программного обеспечения. Определяется как вероятность сбоев в работе ПО. 3. Безотказность системного оператора. Определяется как вероятность ошибки, допущенной системным оператором.
Все эти составляющие тесно связаны. Сбой оборудования может служить причиной появления ложного сигнала на входе программного компонента. Программное обеспечение после этого может вести себя непредсказуемо. Непредвиденное поведение системы может привести в замешательство оператора и быть причиной его напряженного состояния. В условиях стресса ошибка оператора весьма вероятна. Оператор может предпринять действия, не соответствующие возникшей ситуации. Эти неверные действия могут привести к другим ошибкам в работе системы. Таким образом, может возникнуть ситуация, когда простой сбой подсистемы, которую можно быстро восстановить, приведет к серьезным проблемам, требующим полного перезапуска системы. В настоящее время в инженерии программного обеспечения выделяется самостоятельная дисциплина, которая занимается проблемами создания надежных и безотказных программных систем [227, 20*, 26*, 29*]. В рамках этой дисциплины подсчитываются вероятности сбоя различных системных компонентов и определяется, как их сочетания влияют на общую безотказность системы. Упрощенно, если в системе присутствуют компоненты А и В с вероятностями отказа РА и РВ, то вероятность отказа системы PS будет такова: PS = РА + РВ.
При возрастании числа зависимых компонентов вероятность отказа системы также возрастает. Если в системе очень много критических компонентов, то каждый компонент в отдельности должен быть очень надежным для того, чтобы вероятность PS была низкой. Для увеличения надежности компоненты могут дублироваться (см. главу 18). Тогда группа одинаковых компонентов, дублирующих друг друга, будет работать корректно так долго, пока хотя бы один компонент будет работать правильно. Это означает, что, если вероятность отказа отдельного компонента равна РА и все отказы независимы, вероятность отказа PS этой группы компонентов будет PS = PS". Безотказность системы можно определить как нефункциональное требование, которое численно выражается через показатели, обсуждаемые в следующем разделе. Для выполнения нефункциональных требований безотказности необходимо дополнительно задать функциональные требования к системе, определяющие способы исключения системных сбоев. Примеры таких требований следующие.
1. Установление определенного диапазона для всех величин, вводимых оператором, и системный контроль всех вводимых величин для проверки, попали ли они в этот диапазон. 2. Во время процесса инициализации система должна проверить все диски на наличие сбойных блоков. 3. Для реализации подсистемы управления остановом системы следует привлекать N-вариантное программирование (специальный метод обеспечения отказоустойчивости ПО). 4. Система должна быть реализована в безопасном подмножестве языка Ada и проверена с использованием статического анализа (см. главу 19).
Не существует простых правил, которые можно использовать для получения функциональных требований безотказности. Организации– разработчики критических систем обычно имеют определенные знания о возможных требованиях безотказности и о том, как эти требования влияют на фактическую безотказность системы.
Читайте также: I Требования к выполнению и оформлению контрольной работы Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|