УДК 681.518.54
Д.В. Ломакин, А.А. Иванова, А.М. Ворон
ДИАГНОСТИРОВАНИЕ СЛОЖНЫХ ТЕХНИЧЕСКИХ И ПРОГРАММНЫХ СИСТЕМ
Нижегородский государственный технический университет им. Р.Е. Алексеева
Разработаны диагностическая модель и алгоритмы локализации дефектов в сложных системах на основе информационного критерия.
Ключевые слова: граф, диагностирование, дефект, точки контроля, информационный критерий.
Постановка задачи
В работе рассматривается диагностирование сложных систем произвольной физической природы, в том числе и программных средств, модель которых может быть представлена в виде графа или таблицы функции неисправностей. Вершины графа, в частности, могут изображать блоки системы [1]. Диагностирование системы, т. е. определение ее состояния, когда она неисправна, производится на основании вектора y е Y результатов тестирования, которые снимаются в специально организованных точках контроля. С целью построения оптимальной стратегии локализации дефектов в работе используется статистическое моделирование отказов блоков на основе их априорных вероятностей. Моделирование неисправных состояний системы позволяет оценить количество информации, которое доставляет результат тестирования, и выбрать оптимальную стратегию в смысле информационного критерия.
Метод определения состояния системы
Пусть G (V, U) - упорядоченный граф с n вершинами, представляющий модель объекта диагностирования [2]. Обозначим V - множество вершин графа, U - множество ребер графа. Вершины графа соответствуют модулям объекта, а ребра графа - связям между модулями. Обозначим через X = (x,...,x} (q < n) множество входов графа G (V, U), а через
W = (w1,...,w } (1 < p) - множество выходов.
Если в объекте диагностирования в некоторый момент времени одновременно отказало некоторое множество модулей, то совокупность номеров (гц,...,Чк} соответствующих вершин графа G, представляющего модель объекта диагностирования, назовем дефектом кратности к (1 < к < n).
Пусть имеет место дефект (г1,. .,Чк}. Состоянием объекта диагностирования назовем n-мерный вектор s = (sx,..., s„}, в котором:
[1, если номер вершины i е (г1,...,Чк};
' [0 - в противном случае
Всего будет 2n состояний объекта. Всё множество состояний S можно рассматривать как пространство элементарных событий s е S, каждое из которых может наступить после эксплуатации системы в течение заданного времени с вероятностью
p(s)=П Pj П (1 - Pj),
jel jeJ
где p - вероятность появления дефекта в j-м модуле; J - множество номеров исправных мо-
© Ломакин Д.В., Иванова А.А., Ворон А.М., 2011.
дулей; I - множество номеров неисправных модулей. При этом предполагается, что дефект в одном из модулей не влияет на вероятность появления дефектов в других модулях.
Будем полагать, что вершины х и г в графе О (V, и) образуют контрольную пару (х, г), если в соответствующей системе сигнал, подаваемый на вход элемента х, может быть снят на выходе элемента г. Очевидно, для того чтобы пара (х, г) была контрольной, необходима достижимость вершины г графа О (V, и) из вершины х. В дальнейшем контрольную пару будем называть точкой контроля, а множество точек контроля обозначим 2.
Вектором проверки точки контроля (х, г) назовем п-мерный вектор Ь(х, г) = [Ьх,..., Ьи},
компонента Ь которого равна 1, если существует хотя бы один путь от х к г, содержащий вершину 1, и равна 0 в противном случае.
Пусть для упорядоченного графа О (V, и) на п вершинах задано некоторое исходное
множество 2 точек контроля. Тогда матрицей проверок В = Ы ( = 1, т; 7 = 1, п) на множестве 2 точек контроля назовем матрицу, в которой:
[1, если вершина у входит в проверку / - й контрольной пары;
Ь =1п
[0 - в противном случае
Проверка сигнала в каждой точке контроля позволяет судить о работоспособности всех модулей соответствующего подмножества, которое определяется совокупностью единиц в соответствующей строке матрицы проверок.
Результатом диагностирования системы, содержащей т точек контроля, будет являться т-мерный вектор у = {у,...,ут}, для которого выполняется соотношение у = Вв . Матрица В является математической моделью канала связи между множеством векторов состояний объекта £ и множеством векторов результатов диагностирования У. Компоненты вектора у равны 1, если значение измеряемого параметра в соответствующей точке контроля вышло из допуска, и равны 0 в противном случае. Таким образом, при выходе из строя одного из модулей вектор у совпадает с соответствующим столбцом матрицы проверок. В случае выхода из строя нескольких модулей с номерами %,...,% вектор у равен логической поэлементной
сумме соответствующих столбцов матрицы: у1 = VЬ%2 V... VЬ1щ (I = 1,т).
Таким образом, диагностический эксперимент доставляет некоторый вектор у е У, который характеризует состояние системы с точностью до некоторого подмножества, причём вероятность р(у) определяется как сумма вероятностей всех состояний, входящих в соответствующее подмножество.
Глубина локализации дефекта
В данной работе рассматривается задача диагностирования, поэтому не учитывается работоспособное состояние системы, поэтому задача решается на подмножестве неисправных состояний системы £. Под глубиной локализации дефекта будем понимать среднее количество состояний, с точностью до которых может быть локализован дефект на основании
количества информации I (8, У), которое доставляет диагностический эксперимент:
I (8 у ) = н (у ) - н (у / 8),
где Н(У) = р(у )1о§ р(у ) - неопределенность исхода диагностического эксперимента.
уеУ
Условная неопределенность исхода диагностического эксперимента Н (У / 8) = 0, поскольку неопределённость появления у при заданном состоянии системы в е 8 равна нулю.
Отсюда I(8 У) = Н(У) .
Задача максимизации глубины локализации дефекта сводится к выбору из допустимо-
го множества точек контроля такого подмножества заданного размера, при котором диагностический эксперимент доставляет максимальное количество информации о системе.
Когда нельзя получить какие-либо сведения о состоянии системы, Iф, У) = 0 . Для точного определения состояния системы необходимо, чтобы количество информации, которое в среднем доставляет диагностический эксперимент, определялось как
I(§, У) = Н(£) ,
„ 2" -1
где Н(£) =р(5)1о§ р^) - неопределённость состояния системы, равная количеству ин-
к=1
формации, которое необходимо получить, чтобы определить, в каком из состояний находит-
Р^)
ся система (р(^) =-— - условная вероятность наступления состояния ^ при условии, что
1 - Р(0)
система неисправна; р(0) - вероятность безотказной работы системы).
Рис. 1. Блок-схемы алгоритмов:
а - безусловный алгоритм; б - проведение диагностических экспериментов
а)
6)
Рис. 2. Блок-схемы алгоритмов:
а - условный алгоритм; б - проведение диагностических экспериментов
Условный и безусловный алгоритмы локализации дефекта
Разработаны два алгоритма локализации дефектов: безусловный алгоритм, когда тестирование осуществляется на априорно выбранном множестве точек контроля, и условный алгоритм, когда выбор очередной точки контроля зависит от результата тестирования на основе предыдущей точки контроля.
Предлагается следующий безусловный алгоритм последовательного выбора точек контроля (рис. 1, а):
1. Выбирается точка контроля, которая доставляет максимальное количество информации о системе. Для этого оцениваются значения вероятностей р( у ) методом статистического моделирования (рис. 1, б) и вычисляется условная энтропия при условии, что система вышла из строя И(У). С этой целью случайным образом генерируется состояние системы. В качестве априорных сведений о системе используются вероятности рх...ри появления дефектов в модулях. С увеличением числа диагностических экспериментов увеличивается точность оценки р( у ) и И(У).
2. На каждом из последующих шагов выбирается та точка контроля, которая доставляет максимальное дополнительное количество информации.
3. Процедура выбора точек контроля заканчивается после того, как будет выбрано заданное количество точек контроля или достигнута заданная глубина локализации дефекта.
Предлагается следующий условный алгоритм выбора точек контроля (рис. 2, а):
1. Выбирается точка контроля, которая доставляет максимальное количество информации о системе. Для этого оцениваются значения вероятностей р(у) методом статистического моделирования (рис. 2, б).
2. На основе выбранной точки контроля производится тестирование системы. В результате тестирования выделяется подмножество блоков, подозреваемых на наличие дефектов. Если результат тестирования у = 1, то неисправный блок принадлежит подмножеству блоков,
которым соответствует 1 в матрице проверок В и соответствует 0 в противном случае.
3. На каждом очередном шаге осуществляется оптимальный выбор следующей точки контроля, результат тестирования в которой позволяет выделить подмножество блоков, подозреваемых на наличие дефектов, из ранее полученного подмножества.
4. Процедура выбора точек контроля заканчивается после того, как подмножество блоков, подозреваемых на наличие дефектов, будет содержать 1 блок.
5. Данный блок проверяется на работоспособность. Если блок неисправен, тогда он подлежит коррекции и следующая итерация алгоритма производит поиск очередного дефекта, в противном случае система не содержит дефектов и находится в работоспособном состоянии.
40 35 30 25
г мксек 20 15 10 5 О
10 12 15 13 20 23 25 количество блоков, п
Рис. 3. Зависимость времени выполнения безусловного алгоритма (в микросекундах) от размера системы (в блоках)
2,5 2
1,5
г мксек
1
0,5 О
количество блоков, п
Рис. 4. Зависимость времени выполнения условного алгоритма (в микросекундах) от размера системы (в блоках)
Условный алгоритм позволяет локализовать дефект с точностью до блока или до подмножества блоков, подозреваемых на наличие дефекта. Глубина локализации зависит от исходного множества точек контроля. Этот алгоритм можно использовать в действующей системе при возможности исправлять одиночные дефекты. Каждая итерация данного алгоритма будет сокращать подмножество блоков, подозреваемых на наличие дефекта. В результате последовательного устранения одиночных дефектов, достигается полное восстановление работоспособности системы.
Была проведена оценка сложности условного и безусловного алгоритмов. Зависимость процессорного времени, требуемого для выполнения безусловного и условного алгоритмов, от количества блоков в системе близка к линейной.
Вывод
На основании информационного критерия разработаны два алгоритма диагностирования сложных систем: безусловный алгоритм, когда тестирование осуществляется на априорно выбранном множестве точек контроля, и условный алгоритм, когда выбор очередной точки контроля зависит от результата тестирования на основе предыдущей точки контроля.
Предложенные алгоритмы позволяют определить оптимальную последовательность точек контроля для обеспечения максимальной глубины локализации дефекта.
Результаты экспериментальных исследований подтвердили более высокую эффективность разработанных алгоритмов диагностирования сложных систем с произвольной кратностью дефекта и с учетом априорных сведений о вероятностях отказов блоков по сравнению с известными алгоритмами.
Библиографический список
1. Пархоменко, П.П. Основы технической диагностики / П.П. Пархоменко, В.В. Карибский,
Е.С. Согомонян. - М.: Энергия, 1976. - 56 с.
2. Сагунов, В.И. Контролепригодность структурно связанных систем / В.И. Сагунов, Л.С. Ломакина. — М.: Энергоатомиздат, 1990. - 11 с.
Дата поступления в редакцию 12.07.2011
D.V. Lomakin, A.A. Ivanova, A.M. Voron DIAGNOSIS OF COMPLEX HARDWARE AND SOFTWARE SYSTEMS
Developed a diagnostic model and algorithms for diagnosis of complex systems based on the information criterion.
Key words: graph, diagnosis, defect, checkpoints, information criterion.