Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Скобцовы Моделирование и тестирование

.pdf
Скачиваний:
97
Добавлен:
03.03.2016
Размер:
3.61 Mб
Скачать

Определение 7.7 Синхронизирующей называется входная последовательность, которая переводит КА в определенное конечное состояние независимо от его начального состояния.

Синхронизирующая последовательность строится на основе ДПС+

данного КА, но без учёта выходных реакций. Синхронизирующую последовательность имеют далеко не все автоматы. Например, на рисунке

7.15 приводится фрагмент ДПС+, с помощью которого строится синхронизирующая последовательность T=(01010) (путь от вершины дерева выделен жирной линией) для конечного состояния D.

7.3 Комбинированный подход к построению тестов устройств с памятью

Одной из основных причин проигрыша по показателю полноты теста структурных методов генерации тестов для ДУ с памятью по сравнению с автоматными является стратегия наблюдения выходных реакций ДУ. Как правило, в существующих структурных методах используется стратегия одиночного наблюдения, как базовая стратегия наблюдения выходных

реакций [1,44].

7.3.1 Стратегия кратного наблюдения

Определение 7.8 Пара начальных состояний (S, Sн )

соответственно исправного и неисправного устройств различается входной последовательностью T, если для них вырабатываются различные выходные реакции.

Суть стратегии одиночного наблюдения заключается в том, что при оценке различимости пар начальных состояний учитываются выходные реакции только последнего t-го момента времени и не учитываются выходные реакции предшествующих наборов входной последовательности

(t-1, t-2, …, 1). Таким образом, неисправность считается обнаруживаемой входной последовательностью, если для всех пар начальных состояний

291

исправного и неисправного ДУ существует один момент времени t, для которого выходные реакции исправной и неисправной последовательностных схем различаются. То есть, все пары начальных состояний исправного и неисправного ДУ должны различаться в один момент времени. Такой подход в ряде случаев дает пессимистические результаты. А именно, некоторые неисправности могут быть объявлены нетестируемыми, в то время как они проверяются при использовании автоматных методов. Обратимся к примеру константной неисправности f2 0 в последовательностной схеме на рис.7.10. В табл.7.7, 7.8

приведены выходные реакции исправной и неисправной схем соответственно на входную последовательность T=(1,1,1,1), проверяющую данную неисправность. Из таблиц мы можем видеть, что не существует одного момента времени, когда для всех пар начальных состояний рассматриваемой схемы выходные реакции исправного и неисправного ДУ различались бы. То есть в соответствии со стратегией одиночного наблюдения данная входная последовательность не является тестом для неисправности f2 0, что неверно.

Таблица

7.7

Реакции

исправной

схемы

 

 

 

 

 

 

S(y1y2)

 

x1=1

 

x2=1

 

x3=1

x4=1

A(00)

 

0

 

0

 

1

1

 

 

 

 

 

 

 

 

B(01)

 

0

 

1

 

1

0

 

 

 

 

 

 

 

 

C(10)

 

1

 

0

 

0

1

 

 

 

 

 

 

 

 

D(11)

 

1

 

1

 

0

0

 

 

 

 

 

 

 

 

Таблица 7.8 Реакции неисправной схемы

S(y1y2)

x1=1

x2=1

x3=1

x4=1

a(00)

0

0

0

0

 

 

 

 

 

b(01)

0

0

0

0

 

 

 

 

 

c(10)

1

0

0

0

 

 

 

 

 

d(11)

1

0

0

0

 

 

 

 

 

Существует стратегия наблюдения значений выходных реакций ДУ,

отличная от описанной выше стратегии одиночного наблюдения

292

стратегия кратного наблюдения [102,103].

Определение 7.9 Входная последовательность T обнаруживает

данную

неисправность f, если для любой пары начальных состояний

(S, Sн )i

исправного и неисправного ДУ существует какой-либо момент

времени ti , в который выходные реакции исправного и неисправного ДУ отличаются.

Суть стратегии кратного наблюдения заключается в том, что различные пары начальных состояний исправной и неисправной схем могут различаться в различные моменты времени. У некоторых пар состояний они могут совпадать, могут существовать несколько моментов времени, когда различается одна и та же пара. Важно лишь, чтобы для каждой пары начальных состояний исправного и неисправного ДУ

существовал хотя бы один момент времени t, когда она различается

входной последовательностью. Эффективность стратегии кратного

наблюдения можно увидеть из тех же таблиц 7.7, 7.8. Из них видно, что для каждой пары начальных состояний исправного и неисправного ДУ существует момент времени, когда исправные реакции отличаются от неисправных. То есть при применении методов, использующих стратегию кратного наблюдения, данная неисправность является тестируемой.

Неисправность обнаруживается тестом, построенным одним из описанных выше автоматных методов, при условии применения стратегии кратного наблюдения и в соответствии с определением 7.9. Поэтому во всех рассматриваемых далее в этой главе методах моделирования и построения идентифицирующих последовательностей реализуется на структурном уровне автоматный подход наблюдения выходных реакций ДУ с памятью кратная стратегия наблюдения. При этом в процессе построения последовательностей наблюдается соответствие между структурным подходом и автоматным, основанном на построении ПРД или ОРД. Как показывает практика, среди всех возможных константных

293

неисправностей в синхронных последовательностных схемах существует довольно большой процент неисправностей (5-10%), которые не тестируются методами, использующими стратегию одиночного наблюдения выходных реакций. Учитывая, что на современном этапе диагностики ДУ с памятью идет борьба за повышение полноты теста на единицы и доли процента (рекламации за проданные на рынке неисправные устройства могут исчисляться миллионами и даже сотнями миллионов американских долларов), важность реализации данного эффекта на структурном уровне очевидна.

7.3.2 Аналитический метод построения тестов

Предлагаемый метод построения проверяющих тестов

основывается на хорошо известной идее построения различающей функции для итеративной комбинационной схемы [1,2,102], используемой в качестве модели исходной последовательностной схемы. В этом случае применяется понятие и определение различающей функции, введенное для комбинационных схем в пункте 6.3. Из этого определения следует, что различающая функция

1, если F(x) ≠ ϕ (x),

(7.1)

D(ϕ ) =

0, если F(x) = ϕ (x).

 

Следовательно, задача генерации теста для заданной неисправности ϕ состоит в том, чтобы найти такую входную последовательность, что при ее подаче на входы устройства полученная функция D(ϕ) была бы равна 1.

Использование универсального алфавита B16 позволяет нам

проводить вычисления в исправной и неисправной схемах одновременно.

При этом признаком тестируемости данной неисправности является наличие на некотором внешнем выходе z схемы критического значения D

или D'. Последнее означает, что характеристические переменные zD’ или zD

должны быть равны 1: zD’ zD=1. Следовательно, полагаем, что

294

различающая функция для внешнего выхода z имеет вид D(ϕ)=zD’ zD.

Таким образом, выражение для различающей функции может быть

найдено путем вывода выражений характеристических переменных ziD,

ziD для внешних выходов схемы zi.

Вычисление выражений характеристических переменных внешних выходов аналогично обратному распространению критических значений

D, D' в структурных методах генерации тестов. Но в случае характеристических выражений мы оперируем не с многозначными значениями линий устройства, а с символьными характеристическими переменными, являющимися признаком присутствия на линиях

соответствующих значений. Процесс вывода символьных выражений

основан на использовании комбинированных характеристических функций

f G1 , f F1 , f G0 , f F0 (3.1)-(3.8), f D' , f D (3.9)-(3.12), и свойств

характеристических переменных, приводимых выше в подразделе 3.6.

Вычисление выражений выполняется рекурентно, повентильно в направлении от выходов к входам. При этом необходимо различать линии,

допускающие только двоичные значения и линии, допускающие 16-

значные значения. Ко вторым относятся линии, на которые оказывает влияние неисправность, линии состояния (линии, полученные в результате обрыва обратных связей [1,2,102]), линии на которые оказывают влияние линии состояния схемы, внешние выходы. К первым относятся остальные линии, в частности, внешние входы. Для произвольной двоичной линии характеристические переменные преобразуются в соответствии со свойством 3.2. Проиллюстрируем вывод символьного характеристического выражения на примере вычисления zD в схеме на рис.7.10, ее комбинационный эквивалент приведен на рис.7.16.

295

Рис.7.16 Комбинационный эквивалент последовательностной схемы на рис.7.10

Для выхода схемы в соответствии с формулой (3.11) имеем

zD= f3D f4F 0 f3F 0 f4D ;

Для вентиля f3 получаем

f3D =[формула (3.9), свойство 3.3]= xDy2G1 xG0 y2D =[свойство 3.2]= x y2D ;

f3F 0 =[формула (3.4), свойство 3.3]= xF1 y2F0 =[свойство 3.2]= x yF02 .

Аналогично для вентиля f4

f4D =[формула (3.9)]= xD y1G1 xG1 y1D =[свойство 3.2]= x y1D ;

f4F 0 =[формула (3.4)]= xF 0 y1F 0 =[свойство 3.2]= x y1F0 .

Подставляя полученные выражения в z, получаем

zD= f3D f4F 0 f3F 0 f4D = x y2D ( x y1F0 )( x y2F0 ) x y1D =

= x y2D x y1F 0 y2D x y1D x y1D y2F 0 =

= x y2D (1 y1F 0 ) x y1D(1 y2F 0 ) = x y2D x y1D .

296

В процессе вычисления при достижении места расположения неисправности возникает необходимость активизировать ее. Пусть на

выходе вентиля f находится неисправность const 1. Активизировать

неисправность значит, установить на линии в исправном устройстве значение, инверсное неисправному. В нашем случае необходимо установить на линии f в исправной схеме значение 0. При этом не важно

какое значение установится на линии f в неисправной схеме, так как в

силу наличия константной неисправности там будет всегда значение 1.

Такая ситуация соответствует тому, что на линии f должно быть установлено значение G0 (Табл.3.1). То есть, для активизации

неисправности необходимо вычислить выражение для

характеристической переменной f G0 . Это делается при помощи формул

(3.3) и (3.7) для комбинированных характеристических переменных.

Аналогично делаем вывод, что для активизации неисправности const0 на

выходе вентиля f необходимо вывести выражение для характеристической

переменной f G1 . Для этого используются формулы (3.1) и (3.5)

комбинированных характеристических переменных. Для большей ясности

рассмотрим

активизацию

неисправности

на

примере.

Вычисляем

выражение для характеристической переменной псевдовыхода

~ D

схемы

y1

 

на рис.7.10, неисправность f2≡0:

 

 

 

 

 

 

~ D

 

D

F 0

F 0

D

 

 

 

y1 =[в соответствии с формулой (3.11)]= f1

f2

f1

f2 .

 

 

 

Присутствие

переменной

f2D в полученном

выражении

говорит о

необходимости активизации неисправности, поэтому

 

 

 

 

f2D =[так как неисправность const0]= f2G1 =[формула (3.1)]= xG1 yG12

=

=[свойство 3.2]= x y2G1.

В результате получаем для различающих функций выражения,

зависящие от переменных внешних входов X и характеристических

297

переменных начального состояния Y. Они имеют вид дизъюнктивной

формы

k

 

V fi (X ) gi (Y ) ,

(7.2)

i=1

 

где k - количество термов, fi(X) - часть терма, зависящая только от X, gi(Y) –

часть терма, зависящая только от Y.

Выражение

такого

вида

получено

при

вычислении

характеристической

переменной

zD для внешнего выхода схемы z

(Рис.7.10): z D = x yD x yD . Если взять некоторый терм из полученного

2

1

символьного выражения fi(X) gi(Y), то из части терма gi(Y) определяются различаемые пары состояний исправного и неисправного устройств, в то время как, из fi(X) определяется входная последовательность, различающая

эти пары состояний. Например, характеристическая переменная y2D из

терма x y2D определяет следующие значения линий состояния исправной и неисправной схем соответственно (y1=u,y2=1) и (y1н=u,y2н=0). Последние в

свою очередь определяют пары начальных состояний исправного

(Табл.7.1) и неисправного (Табл.7.2) устройств: (B,a), (B,c), (D,a), (D,c),

различаемые входной последовательностью из одного набора (x=0).

Значение линии внешнего входа x определяется так, чтобы при подстановке значение терма было бы равно единице. Это делается вследствие того, что нам необходимо построить входную последовательность, для которой значение различающей функции равно единице. Поэтому для терма x y2D находим x=0. Аналогично из терма

x y1D определяется, что различаются пары состояний (C,a), (C,b), (D,a),

(D,b) соответственно исправной и неисправной схем входной

последовательностью из одного набора

(x=1). Пусть в выражении,

полученном для

различающей функции,

обнаружен терм, в

котором

g(Y)=1. Тогда

входная последовательность, определяемая

из f(X)

298

 

 

 

описанным выше способом является тестом, так как в соответствии со

свойством 3.1 g(Y)=1 можно представить как

m

 

( yi0 yiDyiD yi1 ) =1,

(7.3)

i=1

 

где m - число переменных состояния.

 

Выражение в левой части данного равенства (7.3)

определяет все

возможные пары состояний исправного и неисправного ДУ. Это означает,

что полученная входная последовательность различает все возможные

пары состояний, то есть является тестом. С другой стороны при этом достигается исходная цель - построение различающей функции D(ϕ),

равной единице, так как равенство хотя бы одного терма единице в дизъюнктивной форме (7.2) ведет к равенству единице всей формы.

Суть метода построения теста заключается в следующем. Сначала

рассматривается итеративная комбинационная схема, состоящая из одного КЭ последовательностного устройства. Для нее строится различающая

функция D1t , где верхний индекс показывает момент времени, когда

наблюдаются выходные реакции, нижний индекс - это число итераций. В

данном случае верхний индекс указывает на то, что искомая различающая

функция D1t учитывает выходные реакции, наблюдаемые в t-й момент

времени, соответствующий последней итерации. Выше было показано, что различающая функция для произвольного внешнего выхода z определяется выражением zD’ zD. Однако критические значения могут быть получены на любом внешнем выходе схемы. При этом в соответствии со стратегией кратного наблюдения различные пары состояний могут различаться на разных выходах. Поэтому полагаем

 

n

 

 

Dt

= V(z Dz D ) ,

(7.4)

1

it

it

 

 

i=1

 

 

где n - число внешних выходов.

299

Если тест не найден из полученной функции, то рассматривается

итеративная комбинационная схема из двух КЭ. Для нее также строится

различающая функция D2t , получаемая из D1t путем рекуррентной

подстановки t = ~t 1 Из выведенной функции мы также пытаемся найти

.

Y

Y

тест. Пусть в некоторой различающей функции Dit мы обнаружили терм

Ti=fi(X) gi(Y) такой, что для него найдется терм Tj=fj(X) gj(Y) из Dtj , где

1 ≤ j < i, в котором gj(Y) равно gi(Y) или поглощает gi(Y), то есть содержит все характеристические переменные из gi(Y). В этом случае терм Ti

исключается из функции Dit . Мы можем это сделать, поскольку gi(Y)

определяет пары состояний, которые были уже определены в gj(Y). Терм Ti

назовем повторным термом. Исключая на каждом i-м шаге эксперимента повторные термы из Dit (кроме D1t ), мы получаем сокращенную различающую функцию Dict . Для схемы из одного КЭ D1tc = D1t . Получая

Dict , мы избавляем себя от лишних вычислений. Эта процедура

аналогична процедуре отсечения повторяющихся ветвей в обратном различающем дереве [95]. Если в результате процедуры исключения

получили

Dt =0,

то

процесс

останавливается, поскольку

теста

не

 

ic

 

 

 

 

 

 

 

 

 

 

 

 

существует. Если из выражения

Dt

тест не может быть найден,

то путем

 

 

 

 

 

 

2

 

 

 

 

 

 

 

отсечения

повторных

термов

строим

сокращенную

различающую

функцию

Dt

.

Если

Dt

=0,

то

теста

не

существует

и

процесс

 

2c

 

 

2c

 

 

 

 

 

 

 

 

 

останавливается.

Из функций Dt могут быть найдены только тестовые

 

 

 

 

 

 

i

 

 

 

 

 

 

 

последовательности, различающие

все пары

состояний

исправного

и

неисправного устройств при наблюдении выходных реакций только на последней t-й итерации, то есть при условии применения стратегии одиночного наблюдения. Однако в соответствии со стратегией кратного наблюдения различные пары состояний могут различаться в различные

300