Существует множество моделей оценки как надежности аппаратного, так и надежности программного обеспечения [1-4]. В статье рассматривается одна из моделей, объединяющая в себе мультиверсионную избыточность аппаратной и программной части, используемую для повышения надежности аппаратно-программного комплекса (АПК) в целом.
Иерархическое представление АПК приведено на рисунке 1. Программная система состоит из набора программных модулей. Программные модули выполняют функции посредством выполнения наборов инструкций микропроцессора (или микропроцессоров). Аппаратные компоненты - микропроцессоры, память и другие устройства, непосредственно участвующие в выполнении инструкций.
Рисунок 1. Иерархическое представление АПК
Предполагается, что во время простоя системы сбоев не происходит. Кроме того, когда уровни сбоя аппаратных компонент постоянны и в программном обеспечении отсутствуют сбои, то уровень сбоя одной инструкции может быть определен как произведение суммы уровней сбоя аппаратных компонент на время выполнения инструкции [1]:
, (1)
где - время необходимое для выполнения j-й инструкции.
Уровень сбоя в программном модуле можно определить как:
, (2)
где - вероятность использования модуля, - общее количество инструкций j в k-м модуле. Здесь определяется операционным профилем архитектуры ПО [2].
Уровень сбоя всей системы определим по формуле:
. (3)
Как известно ПО, функционирующего без сбоев, практически не бывает. Поэтому формула (3) может быть легко преобразована в выражение, учитывающее сбои в программном обеспечении (без использования отказоустойчивости в аппаратном обеспечении).
. (4)
Это значение может быть определено путем тестирования ПО.
Более того, формула (4) может быть расширена до следующего вида:
, (5)
где коэффициент С определяется как отношение количества сбоев, устраненных отказоустойчивой системой, к общему количеству сбоев в системе. Данный коэффициент не имеет математического описания и получается опытным путем, например, с использованием имитации сбоев и ошибок в системе [2].
Анализ результатов
В заключение в качестве иллюстрации рассмотрим следующий пример.
Предположим, что в АПК возможно применение аппаратной избыточности (дублирования) и мультиверсионной избыточности ПО.
Исходные данные имеют следующие обозначения:
- количество процессоров: M;
- количество версий ПО: N;
- надежность одного аппаратного модуля: Pi , (i=1,..., M);
- стоимость одного аппаратного модуля: Срi , (i=1,..., M);
- надежность одной версии ПО: Rj, (j=1,..., N);
- стоимость одной версии ПО: Сrj, (j=1,..., N);
- среднее время появления сбоя [3] MTTF= max(MTTFj), (j=1,..., N).
Надежность аппаратно-программного комплекса:
(6)
Стоимость аппаратно-программного комплекса:
(7)
Таблица 1. Пример расчета надежности АПК для разных вариантов архитектур ПО
|
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
M |
1 |
3 |
1 |
3 |
Pi |
0,9 |
0,9 |
0,9 |
0,9 |
Cpi |
500 |
500 |
500 |
500 |
N |
1 |
1 |
3 |
3 |
Rj |
0,8 |
0,8 |
0,8 |
0,8 |
Crj |
200 |
200 |
200 |
200 |
W |
0,720 |
0,799 |
0,893 |
0,991 |
C |
700 |
1700 |
1100 |
2100 |
Из приведенной таблицы видно, что самый надежный вариант - последний, однако, очевидно, он же обладает и максимальной стоимостью.
СПИСОК ЛИТЕРАТУРЫ
- Jong Gyun Choi, Hyun Gook Kang. "Reliability Estimation of Nuclear Digital I&C System using Software Functional Block Diagram and Control Flow". FastAbstract ISSRE Copyright 2000.
- Telmo Menezes, Diamantino Costa. "On the Extention of Exeption to Support Software Fault Models". FastAbstract ISSRE Copyright 2000.
- Ковалев И.В., Юнусов Р.В. Оценка надежности аппаратно-программного информационно-управляющего комплекса. САКС-2002: Тез. докл. Междунар. науч.-практ. конф. (6-7 дек. 2002, Красноярск)/ СибГАУ. Красноярск, 2002. С. 352-353.
- Ковалев И.В., Алимханов А.М., Юнусов Р.В. Мультиверсионный метод повышения качества программно-информационных технологий для корпоративных структур//Россия в III тысячелетии: Сборник научных трудов по материалам Всероссийской научной конференции/ Изд-во АМБ, Екатеринбург, 2002. С. 171-173.