Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОДКС_МЕТОДА_ЛАБ.doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
672.26 Кб
Скачать

Обобщенный алгоритм построения тестов в алфавите т6:

  1. В начале всем линиям схемы даются значения u.

  2. Для заданной неисправности выбирается D/D’-куб неисправности на неисправном элементе.

  3. Выбранный D/D’-куб неисправности проверяется на совместимость с текущим тестовым кубом.

  4. Текущий тестовый куб модифицируется с учетом значений в координатах выбранного D/D’-куба неисправности. При этом некоторые координаты тестового куба приобретают определенные значения.

  5. Фаза продвижения вперед (D-проход): значение D/D’ транспортируется к координате тестового куба, описывающей выход. В данном случае используются D/D’-кубы вентилей, расположенные на пути к выходу, входные координаты которых в тестовом кубе имеют значения D/D’, а выходная координата равна u.

  6. Фаза продвижения назад: при помощи 0/1-кубов устраняются неопределенности в тестовом кубе.

  7. Тест считается найденным, если все координаты тестового куба получают определенные значения.

Операция, обеспечивающая модификацию тестового куба, называется пересечением. Пусть имеется два вектора: А={а1, а2,, аn} и B={b1, b2,, bn}. Тогда операция пересечения С = А В, выполняемая поразрядно (ci = aibi), определяется следующим образом:

В таблице 4.9 показана модель данной операции в алфавите Т6. Из этого определения следует, что она по существу является операцией снятия неопределенности, описываемой u.

Таблица 4.9

0

1

D

D’

u

0

0

0

1

1

1

D

D

D

D’

D’

D’

u

0

1

D

D’

u

Моделью логической схемы в D-алгоритме является система таблиц D/D’-кубов и 0/1- кубов вентилей схемы, в которых столбцы соответствуют линиям схемы, а строки — кубам.

Реализацию D-алгоритма рассмотрим на примере задачи нахождения теста для следующего КЦУ с константной неисправностью S18 (X91), схема показана на рис. 4.3.

Для начала трансформируем данное КЦУ с систему связанных таблиц, заполняемых кубами элементов. Табл. 4.10 и 4.11 содержат соответственно D/D’-кубы и 0/1- кубы для схемы КЦУ на рис. 4.3. В этих таблицах пустые ячейки соответствуют неопределенным значениям координат (u).

Таблица 4.10 D/D’-кубы заданного КЦУ

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

G1

t1

D

1

D

t2

1

D

D

t3

D

D

D

t4

D’

1

D’

t5

1

D’

D’

t6

D’

D’

D’

G2

t7

D

0

D

t8

0

D

D

t9

D

D

D

t10

D’

0

D’

t11

0

D’

D’

t12

D’

D’

D’

G3

t13

D

0

D

t14

0

D

D

t15

D

D

D

t16

D’

0

D’

t17

0

D’

D’

t18

D’

D’

D’

G4

t19

D

1

D

t20

1

D

D

t21

D

D

D

t22

D’

1

D’

t23

1

D’

D’

t24

D’

D’

D’

G5

t25

D

1

D

t26

1

D

D

t27

D

D

D

t28

D’

1

D’

t29

1

D’

D’

t30

D’

D’

D’

G6

t31

D

0

D

t32

0

D

D

t33

D

D

D

t34

D’

0

D’

t35

0

D’

D’

t36

D’

D’

D’

Узел

Х2

t37

D

D

D

t38

D’

D’

D’

Узел

Х3

t39

D

D

D

t40

D’

D’

D’

Узел

Х10

t41

D

D

D

t42

D’

D’

D’

Таблица 4.11 0/1- кубы заданного КЦУ

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

G1

c1

0

u

0

c2

u

0

0

c3

D

D’

0

c4

D’

D

0

c5

1

1

1

G2

c6

0

0

0

c7

1

u

1

c8

u

1

1

c9

D

D’

1

c10

D’

D

1

G3

c11

0

0

0

c12

1

u

1

c13

u

1

1

c14

D

D’

1

c15

D’

D

1

G4

c16

0

u

0

c17

u

0

0

c18

D

D’

0

c19

D’

D

0

c20

1

1

1

G5

c21

0

u

0

c22

u

0

0

c23

D

D’

0

c24

D’

D

0

c25

1

1

1

G6

c26

0

0

0

c27

1

u

1

c28

u

1

1

c29

D

D’

1

c30

D’

D

1

D-алгоритм работает со следующими объектами:

  1. система D/D’-кубов и 0/1-кубов;

  2. текущий тестовый куб;

  3. несколько стеков:

  1. стек установки (инициализации) — содержит D/D’-кубы неисправности;

  2. стек D-границы — содержит D/D’-кубы;

  3. стек доопределения — содержит 0/1-кубы.

  1. Для заданной неисправности X91 выбираем первый из двух имеющихся D’-кубов неисправности: 0 u D’. Оставшийся D’-куб этой неисправности заносим в стек установки.

Стек установки:

Линии

Эл-ты

X1

X5

X9

G1

u

0

D’

  1. Выполняем пересечение исходного тестового куба ТК0 с выбранным кубом неисправности:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

ТК0

КН

0

u

D’

ТК1

0

D’

  1. Заносим в стек D-границы все элементы, имеющие на входах значения D/D’, а на выходах значение u.

Стек D-границы:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

G4

t22

D’

1

D’

t24

D’

D’

D’

  1. Поскольку импликацию на данном этапе провести невозможно, выбираем очередной куб из стека D-границы, и пересекаем с ним текущий тестовый куб:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

ТК1

0

D’

t22

D’

1

D’

ТК2

0

D’

1

D’

Так как в координате появился X14 появилось значение D’, пополняем стек D-границы:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

G4

t24

D’

D’

D’

G6

t34

D’

0

D’

t36

D’

D’

D’

  1. Поскольку в текущем тестовом кубе определилась координата X12=1, проводим относительно нее процедуру импликации. Здесь возможна только обратная импликация на узле (X10, X12, X13), в результате чего координаты X10 и X13 получают значения 1:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

ТК2

0

D’

1

1

1

D’

  1. Так как на выходе не появилось значение D/D’, выбираем из стека из стека D-границы очередной куб, и пересекаем с ним текущий тестовый куб:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

ТК2

0

D’

1

1

1

D’

t34

D’

0

D’

ТК3

0

D’

1

1

1

D’

0

D’

  1. Поскольку в текущем тестовом кубе определилась координата X15=0, проводим относительно нее процедуру обратной импликации, в результате чего координата X11 получает значение 0. Дальнейшее проведение обратной импликации дает нули в координатах X3, X4, X7 и X8. В данной ситуации появляется возможность проведения обратной импликации от координаты X10, в результате чего получаем определенные значения координат X6=1, X2=1 и X5=1. В результате процедуры импликации все координаты тестового куба оказались определены, и на выходе появилось значение D’:

Линии

Кубы

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

X15

X16

ТК3

0

1

0

0

1

1

0

0

D’

1

0

1

1

D’

0

D’

Таким образом, тест найден без использования фазы доопределения.