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

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

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

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

на линиях начального состояния

переменные

начального

состояния

Y = ( y1, y2 ,..., yn ) ( y j B4 ). Под

переменными

начального

состояния

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

обратных

связей в начале процесса

моделирования

и определяющие

 

 

 

памятью.

Yi ,

~

-

начальные

состояния моделируемой

пары ДУ с

Yi

переменные состояния ДУ в начале и в конце i-й итерации соответственно.

При этом под i-й итерацией мы понимаем моделирование устройства на i-м

наборе входной последовательности X i = (xi1, xi2 ,..., xik ) . На каждой i-й

итерации переменным X i , соответствующим внешним входам,

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

внешних

выходов

Zi = (zi1, zi2 ,..., zim ) и переменных состояния

~

~

~

~

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

Yi

= ( yi1, yi2

,..., yin )

Zi (Y ) ,

~

 

 

Yi (Y ) , зависящие от переменных начального состояния Y. Процесс

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

Пара начальных состояний (или начальные состояния пары ДУ с памятью) различается входной последовательностью в том случае, когда для них различаются выходные последовательности устройств. В [18,21]

было показано, что пары начальных состояний ДУ, различаемые входной последовательностью из t наборов в соответствии со стратегией кратного наблюдения, определяются из характеристического символьного выражения, зависящего от характеристических переменных начального состояния Y 0 , Y D, Y D , Y 1

321

t m

 

dZk = V V (zijDzijD ) .

(7.6)

i=1 j=1

 

Характеристические символьные выражения Z Dи Z D

для всех

внешних выходов Z на каждой итерации выводятся из символьных выражений Z(Y) путем применения характеристических функций (Табл.3.5)

[1,6], определений базисных логические операций для комбинированных характеристических переменных и с учетом свойств характеристических переменных 1-3, приведенных в пункте 3.6. Пары начальных состояний,

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

(7.6) следующим образом. Некоторая характеристическая переменная yv в

характеристическом выражении (7.6) является признаком установления значения v на линии начального состояния y : y = v . Вектор значений сигналов на линиях, соответствующих переменным начального состояния

Y=(y1,y1,...,yn)=(v1,v2,...,vn)=V определяет различающиеся пары начальных состояний. Таким образом, из вида характеристического выражения (7.6) в

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

Между символьным моделированием и ПРД существует аналогия.

Моделирование пары последовательностных логических схем на некоторой входной последовательности из t наборов соответствует прохождению по ПРД от нулевой вершины до некоторой вершины уровня t вдоль пути,

определяемого входной последовательностью. Каждая A-группа, связанная с некоторой вершиной уровня i (0 ≤ i t) на пути, определяет множество пар начальных состояний, различающихся входной последовательностью длины i. В символьном моделировании на каждой i-й итерации из выражения dZi также определяется множество пар начальных состояний,

различающихся последовательностью длины i при условии применения стратегии кратного наблюдения. Например, рассмотрим вершину уровня 1

322

ПРД (рис.7.11) для неисправности f20 схемы на рис.7.10, определяемую последовательностью длины 1 T1=(1). Из вида A-группы, связанной с этой вершиной определяем, что данной входной последовательностью различаются следующие пары начальных состояний: (A,c), (B,c), (A,d), (B,d), (C,a), (D,a), (C,b), (D,b), так как начальные состояния исправного ДУ

A, B, C, D переходят соответственно в B, D, A, С, начальные состояния неисправного ДУ a, b, c, d - соответственно в b, b, a, a. Из вида выражения dZ1 для входной последовательности T1=(1)

dZ1 = y1D y1D

определяем, что ею различаются пары начальных состояний исправного и неисправного ЦУ соответственно (y1=1,y2 =u) и (y1f =0,y2f =u), (y1=0,y2=u) и (y1f =1,y2f =u) или: (A,c), (B,c), (A,d), (B,d), (C,a), (D,a), (C,b), (D,b) (Табл.7.1, 7.2). То есть, имеем полное соответствие.

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

диагностическим или уникальным, она принадлежит. Получены критерии для данных трех типов идентифицирующих последовательностей, в основе которых лежит характеристическое выражение (7.6).

7.3.5 Построение идентифицирующих последовательностей

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

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

Определение 7.11 Проверяющей или тестовой последовательностью называется входная последовательность, которая для исправного и неисправного устройств генерирует различные выходные

323

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

Из этого определения следует, что данной последовательностью

должно различаться множество пар состояний Sstart , состоящее из всех

возможных пар начальных состояний исправного и неисправного ДУ. В

соответствии с этим в [18,21] показано, что входная последовательность длины t является проверяющей тогда и только тогда, когда выполняется равенство

t m

 

dZt = V V (zijDzijD ) = 1.

(7.7)

i=1 j=1

 

В диагностике ДУ с памятью также широко применяются диагностическая и уникальная последовательности [44].

Определение 7.12 Диагностической последовательностью

называется входная последовательность, для которой выходные последовательности различны для каждого начального состояния ДУ с памятью (см. определение 7.6).

В соответствии с данным определением диагностическая

последовательность должна различать множество пар состояний Sstart ,

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

В [19,20] показано, что моделируемая входная последовательность

из t наборов является

диагностической последовательностью

тогда и

только тогда, когда

 

 

 

t

m

n

 

dZt = V V (zijDzijD ) = V( ylDylD ) .

(7.8)

i=1 j=1

l=1

 

324

Определение 7.13 Входная последовательность является уникальной последовательностью для заданного состояния последовательностного ДУ, если она вырабатывает для этого состояния выходную последовательность, отличную от выходных последовательностей для

всех остальных состояний.

В соответствии с приведенным определением уникальная последовательность для данного начального состояния Sp=( y1p , y2 p ,..., ynp )

должна отличать это состояние от всех остальных начальных состояний

S , S

2

,..., S

p1

, S

p+1

,..., S

r

(r=2n). Поэтому множество S

start

пар начальных

1

 

 

 

 

 

 

состояний,

 

которые

 

должны

различаться

уникальной

последовательностью, определяется как

Sstart ={(S p , S1),...,(S p , S p1),(S p , S p+1),...,(S p , Sr ),(S1, S p ),...,(Sr , S p )}.

Также показано [19,20], что критерием различимости состояний для

уникальной последовательности является следующее равенство:

dZ

t

=

t

m

(z Dz D ) = ( y y1 p y y2 p ... y ynp )D( y y1 p y y2 p ... y ynp )D

, (7.9)

 

 

 

V V

 

ij

ij

 

 

1

2

n

1

2

n

 

 

 

 

 

i=1 j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, если

y

 

 

= 0,

 

 

 

 

 

 

 

 

 

y

 

y

p

 

 

 

 

 

 

где y

 

 

 

 

 

 

 

 

 

 

 

 

 

p

=

 

 

y

 

= 1.

 

 

 

 

 

 

 

 

 

 

 

y, если

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм построения универсален для всех идентифицирующих

последовательностей. Изначально имеется множество пар начальных состояний Sstart , определяющееся типом последовательности, которую

необходимо построить. Конечной целью алгоритма является построение входной последовательности, различающей все пары состояний из начального множества Sstart .

Из множества Sstart берется некоторая пара начальных состояний

( S1 , S2 ). Для выбранной пары состояний строится входная последовательность T1, генерирующая различные выходные реакции для

325

состояний S1 и S2 . Эта последовательность строится при помощи структурного метода, использующего универсальный 16-значный алфавит и многозначные функции [1,17]. Полагаем искомую входную последовательность равной T=T1. Далее для последовательности T

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

случае построения проверяющей тестовой последовательности в процессе символьного моделирования необходимо вносить влияние константной неисправности по следующим правилам. Пусть на линии f присутствует

неисправность const a, тогда: 1) если a 0, то полагаем

f = f D , 2) если

a 1, то f = f D[18,21]. В зависимости от

типа искомой

последовательности к полученному характеристическому символьному выражению dZ применяется один из критериев (7.7), (7.8) или (7.9). Если соответствующий критерий выполняется, то последовательность T

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

Рассмотрим процесс генерации идентифицирующей последовательности описанным методом на примере генерации проверяющей последовательности для константной неисправности f20 в

схеме на рисунке 7.10.

Итерация 1

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

SI={(A,a), (A,b), (A,c), (A,d), (B,a), (B,b), (B,c), (B,d), (C,a), (C,b), (C,c), (C,d), (D,a), (D,b), (D,c), (D,d)}.

326

Выбираем из него пару состояний (C,a). Для выбранной пары состояний строим различающую последовательность. Состояние C

исправной схемы соответствует значениям линий состояния в исправной схеме y1=1, y2=0. Состояние a соответствует значениям линий состояния в неисправной схеме y1н=0, y2н=0. Это соответствует многозначным значениям y1=D, y2=0. Различающей последовательностью для переменных начального состояния y11=D, y12=0 является входная последовательность из одного набора x1=1: T1=(1). Полагаем искомую последовательность T=

T1=(1). Проводим на построенной последовательности символьное

моделирование неисправности f20:

 

 

z1 = f 31 f 41 = x1 y21 x1 y11 = [подставляем

двоичное

значение

переменной внешнего входа x1=1 и символьные значения переменных начального состояния y11=y1, y12=y2]= 0 y2 1 y1 = y1.

Отсюда находим характеристические символьные выражения:

z1D= y1D, z1D = y1D .

Вычисляем

dZ1 = z1Dz1D = y1Dy1D 1.

То есть, для последовательности T критерий проверяемости (7.7) не

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

состояний, различающиеся данной последовательностью. Из терма

y1D= y1Dy2u находим, что различаются пары состояний, определяемые парами значений линий начального состояния (y1=0, y2=u) и (y1н=1, y2н=u)

исправной и неисправной схем соответственно. Эти пары значений определяют следующие пары состояний: (A,c), (A,d), (B,c), (B,d). Терм y1D = y1D y2u определяет следующие пары состояний: (C,a), (C,b), (D,a), (D,b). Таким образом, множество пар начальных состояний, различаемых входной последовательностью T есть SD={(A,c), (A,d), (B,c), (B,d), (C,a),

327

(C,b), (D,a),

(D,b)}. Полагаем

множество SI = SI / SD

Заметим,

что

 

множество

 

SD

пар

начальных

состояний,

различаемых

 

последовательностью T=(1), совпадает с множеством различаемых пар

 

начальных состояний, которое можно определить из A-группы 1-го уровня

 

{BDbd}{ACac},

 

 

 

связанной

 

с

 

вершиной,

соответствующей

 

последовательности T=(1) на ПРД (рис.7.11).

 

 

 

 

 

 

 

 

 

 

Итерация 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбираем из полученного множества SI пару состояний (A,a).

 

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

 

последовательностями

T1 = (111,,)

и

T 1

= (0,11,) .

Сначала

полагаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

искомую последовательность

T = T T

1 =(1,1,1,1).

Выполняем

для

нее

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

символьное моделирование:

 

 

 

 

 

 

 

 

 

 

 

z

1

= y

1

dZ

1

= z D

z D

= y D

y D ≠ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

= y

 

D dZ

 

=

2

 

 

 

 

 

y1

y D ≠ 1

 

 

 

 

z

2

2

2

V (z Dz D ) = y Dy D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

1

 

1

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

z

 

=

 

 

 

 

D dZ

 

 

= V (z Dz D ) = y D

y D y1

y D

y 0

y D≠ 1

 

 

3

y

1

3

 

 

 

 

 

 

 

 

 

 

i

i

 

1

 

1

2

2

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

z

 

=

 

 

D dZ

 

=

V(z Dz D ) = y D

y D y1

y D

y0 y Dy0 y D

=

4

y

2

4

 

 

 

 

 

 

 

 

 

 

i

i

 

1

1

2

2

1

1

2

2

 

= 1 y Dy D

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

y

0 = 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким

 

образом,

для

T=(1,1,1,1)

выполняется

критерий

 

обнаруживаемости неисправности (7.7) и T является тестом данной

неисправности f2≡0. Значит, символьное моделирование для входной

последовательности T = T T22 =(1,0,1,1) можно не выполнять. Кроме того,

оно показало бы, что T=(1,0,1,1) не является тестом данной неисправности,

так как для

нее

dZ4 = y1Dy1D y20 y2D ≠ 1. То есть,

критерий

проверяемости

(7.7)

не выполняется. Сгенерированный

нами тест

328

T=(1,1,1,1) неисправности f20 совпадает с тестом наименьшей длины,

полученным путем построения ПРД (рис.7.11).

Из рассмотренного примера построения теста можно сказать, что принцип построения теста предложенного метода аналогичен принципу генерации тестовой последовательности путем построения ПРД. Это верно, поскольку входные последовательности, получаемые в процессе генерации теста нашим методом, различают те же множества пар начальных состояний, которые определяются из соответствующих A-групп различающего дерева. Однако, сложность генерации теста рассмотренным методом меньше сложности генерации теста при помощи построения ПРД,

так как при построении ПРД для нахождения тестовой последовательности осуществляется перебор всех возможных входных последовательностей.

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

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

возможен случай, как в рассмотренном примере, когда одна из последовательностей окажется тестом и перебор существенно уменьшится.

Тем не менее, даже при наличии небольшого перебора пространство поиска в предлагаемом методе меньше, чем при построении ПРД.

Быстрота и точность разработанного метода генерации тестов обеспечивается применением процедуры символьного моделирования.

329

7.3.6 Контрольные эксперименты для последовательностных схем

При этом подходе последовательностная схема тестируется с

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

что для комбинационной схемы тривиальным тестом является полное множество всевозможных 2n входных наборов. Измеряя выходную реакцию на каждый из этих наборов, мы можем построить таблицу

истинности булевой функции, которая реализуется на данном выходе. К

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

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

организована специальным

образом и

позволяет

восстановить

таблицу

переходов-выходов

автомата,

реализуемого тестируемой схемой [93]. При этом, большую роль играют идентифицирующие последовательности (установочная, диагностическая,

синхронизирующая и т.п.), которые мы рассматривали ранее [93,94]. Тем не менее, при следующих условиях можно восстановить таблицу

переходов выходов автомата:

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

2)Граф автомата сильно связан, то есть для каждой пары состояний Si и

Sj существует входная последовательность, которая переводит автомат из состояния Si в состояние Sj .

3) Неисправная схема имеет не больше состояний, чем исправная схема то есть, неисправность не увеличивает числа состояний.

330