Основы диагностирования информационных систем
Под диагностированием понимается процедура локализации неисправности объекта контроля [5.1, 5.2]. Иногда контроль рассматривается как частный случай диагностирования. Одним из параметров процедуры диагностирования является глубина диагностирования. Например, метод диагностирования обладает глубиной на уровне элементов, плат, блоков и т.д.
Задачи диагностирования могут быть решены как аппаратными, так и программными методами (тестированием). В целях быстрого восстановления системы и при наличии резервных устройств целесообразно ограничиться сначала установлением отказавшего устройства. Эта задача решается методами аппаратного контроля. Резервное устройство позволит использовать систему при отказе основного, а отказавшее устройство может быть подвергнуто дальнейшему диагностированию (обычно тестированию) в автономном режиме.
Возможные способы тестирования – комбинационный и последовательный. В первом случае анализируется лишь комбинация результатов всех элементарных тестов, порядок исполнения которых может быть произвольным. Во втором случае анализируется исход каждого очередного теста. Процедура тестирования заканчивается, как только накопленной информации окажется достаточно для локализации неисправности. Последовательное тестирование может быть упорядоченным, когда отдельные элементарные тесты используются в некоторой заранее фиксированной последовательности, и условным, когда выбор каждого следующего теста зависит от результатов предыдущего. Во всех названных случаях задача построения допустимой системы тестов сводится к построению дерева тестов, представляющего собой граф, показывающий, как в результате выполнения каждого теста происходит разделение всего множества технических состояний объекта на два подмножества: подмножество состояний успешной реализации теста и подмножество состояний, при которых тест выдает ошибочный результат ( см. рис. 5.2).
Критерием оптимальности системы диагностических тестов, реализуемой программными средствами является либо время, затраченное на тестирование, либо необходимый объем памяти, либо трудоемкость проведения диагностики, либо некоторый экономический критерий. Ниже приводится один из подходов построения тестов.
5.2.1. Метод построения квазиоптимальных тестов Шеннона – Фано
Допускается, что в диагностируемом объекте имеется одна неисправность
( факт наличия неисправности установлен методами контроля). Каждой из неисправностей предписывается вероятность pi того, что имеет место именно данная i- я неисправность. Согласно сделанному допущению . Вероятности могут быть найдены известными методами расчета надежности ( см. п. 4.1). Первый тест выбирается так, чтобы он разделил множество возможных неисправностей объекта на два подмножества с примерно равными суммарными вероятностями входящих неисправностей. Тест должен определить, какому из двух подмножеств принадлежит имеющаяся неисправность. Затем подбирается тест, разделяющий таким же образом на приблизительно равновероятные подмножества то подмножество, в котором, как было установлено, находится неисправность и т. д. до достижения достаточной определенности относительно места расположения неисправности. Дерево тестов, построенное по методу Шеннона- Фано, показано на рис.5.2, где Тi- номер теста.
Рис. 5.2 Дерево тестов для системы, которая может иметь одно из 12 состояний неисправности.
Допустим, что все 12 неисправностей равновероятные. Выбираем в качестве первого теста Т1, который в зависимости от исхода делит всю область возможных неисправностей на два множества {2,4,5,8,9,11} и {1,3,6,7,10,12}. Допустим, что тест Т1 не обнаружил неисправность. Следовательно, неисправность входит в первое подмножество ( на рис 5.2 слева от теста указывается возможное подмножество состояний, отвечающих успешному прохождению теста). В качестве следующего теста выбирается тест Т3 и т.д. Принцип условного тестирования применим на любом иерархическом уровне аппаратуры.
Для диагностирования современных сложных ИС используются следующие подходы [5.1]:
- разделение сложной системы на отдельные блоки ( функциональные) с выводом отдельных точек из тестируемой структуры или проектированием перемычек между частями схемы, которые технологически могут быть разомкнуты. Такой подход требует увеличения количества внешних выводов для тестируемых частей структуры;
- построения схем, приспособленных к диагностическим процедурам. В структуру схем включаются средства встроенного аппаратного контроля, например, используется контроль по четности для средств хранения и передачи информации (см. п. 5.1.2.1) или вводятся компоненты интерфейса JTAG ( см.п.5.2.2);
- построение вероятностных компактных тестов, например сигнатурного тестирования ( см. п. 5.1.2.2) с использованием генератора псевдослучайных чисел. Отметим, что генераторы псевдослучайных чисел и тестовые анализаторы могут быть получены не только аппаратными средствами, но и программными. Для примера покажем, как осуществляется процедура начального самотестирования в персональных компьютерах (ПК) семейства IBM PC.