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

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

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

{

наращивание_итеративной_комбинационной_схемы();

Структурная_импликация();

Логическая_ импликацияО;

while((тест не построен)&(число_попыток < МАХРОР))

{

поиск_тестового_набора();

Логическая_ импликация();

if (тест построен для данной неисправности)

{

моделирование_неисправностей();

запоминание_состояния_исправной_схемы();

установка_состояния_неисправной_схемы();

}

else

{

устранение_неисправности_из_списка();

}

модификация_итеративной_комбинационной_схемы();

}

}

В процедуре построения комбинационного эквивалента основным является выбор линий для условного обрыва обратных связей. Затем в процедуре построения ИКС выделяется оперативная память для первой копии комбинационного эквивалента и формируется сама схема в виде системы связанных таблиц [1]. Далее следует основной цикл по списку неисправностей, не проверяемых после первой фазы генерации теста.

Выполняется генерация теста с использованием только первой копии ИКС.

Если в результате импликации хотя бы одна из переменных Y1 получает

281

значение 0 или 1 (а не остается равной С), то имеет место конфликт.

Проводится цикл по копиям ИКС. При необходимости ИКС дополняется новой копией комбинационного эквивалента (выделяется оперативная память, корректируются таблицы и т. д.). После этого следует очередная попытка генерации теста. Число возможных копий в ИКС ограничено, оно определяется пользователем из соображений ограничений оперативной памяти и времени построения. При этом теоретическая верхняя оценка k ≤ 4n ( 2n * 2n , где п число переменных состояния) [44, 101] недостижима из-за вышеупомянутых ограничений.

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

Кроме того, запоминаются значения переменных состояния исправной схемы, а для следующей неисправности переменные состояния считаются неопределенными (т.е. в результате они получают значения G0 или G1).

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

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

7.2 Функциональный подход построение тестов для устройств с памятью на основе экспериментов с автоматами

Методы, основанные на теории экспериментов с автоматами,

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

282

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

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

7.2.1 Основы экспериментов с конечными автоматами

Вслучае автоматного подхода решение задачи поиска теста сводится

крешению проблемы распознавания заданного КА в классе неисправных КА [95]. При этом неисправное устройство моделируется КА, отличным от данного.

Определение 7.1 Конечный неинициальный автомат задается совокупностью пяти объектов (S, I,O,λ,δ ) , где S - множество состояний

ДУ с памятью, I - входной алфавит, O - выходной алфавит, λ : S × I S -

функция перехода, δ : S × I O - функция выхода.

Таблица 7.1

 

 

Таблица 7.2

 

 

 

 

 

 

 

 

S( y1, y2 )

Sсл, z

Sсл, z

 

s( y1, y2 )

sсл, z

sсл, z

 

x=0

x=1

 

 

x=0

x=1

A(00)

D,0

B,0

 

a(00)

d,0

b,0

 

 

 

 

 

 

 

B(01)

B,1

D,0

 

b(01)

b,1

b,0

 

 

 

 

 

 

 

C(10)

C,0

A,1

 

c(10)

c,0

a,1

 

 

 

 

 

 

 

D(11)

A,1

C,1

 

d(11)

a,1

a,1

 

 

 

 

 

 

 

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

состояний (ДПС+) и дерева

предшественников состояний (ДПС-) [95]

 

 

~

 

 

A и Aн ,

расщепляемого

автомата

A ,

содержащего автоматы

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

исправному

и

неисправному

устройствам.

 

 

 

 

 

283

Функционирование A и Aн описывается таблицами переходов и выходов.

Например, в таблицах 7.1 и 7.2 приведены автоматы A и Aн , структурно реализуемые последовательностной логической схемой (рис.7.10),

исправной и содержащей неисправность f2 0 соответственно.

Рис.7.10 Последовательностная логическая схема, реализующая заданные в таблицах 7.1,2 соответственно исправный и неисправный (наличие константной неисправности const 0 на линии f2 ) автоматы.

Приведем основные понятия, связанные с конструкциями ДПС+ и

ДПС-. При их описании воспользуемся терминологией, принятой в [91].

Нулевой уровень как ДПС+, так и ДПС- содержит единственную вершину,

связанную с A-группой, которая состоит из одного σ-множества,

содержащего все состояния A и Aн. Для автоматов, описанных в табл.7.1 и

табл.7.2 – это {ABCDabcd}. Каждая вершина k-го (k ≥ 0) уровня расщепляется на p вершин, соответствующих всем символам входного

284

алфавита, где p мощность входного алфавита. В нашем случае вершина расщепляется на 2 вершины, соответствующие x = 0 и x = 1. При этом A-

группа (k+1)-го уровня содержит состояния, являющиеся преемниками состояний по соответствующему входному сигналу A-группы k-го уровня в случае ДПС+ и предшественниками состояний A-группы k-го уровня в случае ДПС-. σ-множества A-группы (k+1)-го уровня получаются путем разбиения на подмножества состояний преемников (ДПС+) или предшественников (ДПС-) σ-множества k-го уровня таким образом, что два состояния включаются в одно и то же σ-множество, если и только если они вырабатывают одинаковую реакцию на соответствующий входной сигнал.

Определение 7.2 Назовем A-группу гомогенной, если в ней состояния исправного и неисправного автоматов A и Aн находятся отдельно в разных σ-множествах.

ДПС является бесконечной структурой, поэтому обычно рассматриваются его усеченные варианты. Введем понятия прямого различающего дерева (ПРД) и обратного различающего дерева (ОРД).

Определение 7.3 ПРД - это дерево преемников состояний, в

котором вершина α k-го уровня становится оконечной при выполнении одного из следующих условий:

1) для A-группы Aα, связанной с вершиной α, существует A-группа Aβ ,

связанная с некоторой вершиной β уровня, предшествующего k-му, такая,

что для каждого σ-множества из Aα существует включающее его σ-

множество из Aβ;

2) существует вершина k-го уровня (возможно сама α), связанная с гомогенной A-группой.

285

Рис.7.11 Фрагмент прямого различающего дерева.

~

На рис.7.11 представлен фрагмент ПРД для автомата A ,

содержащего A и Aн, описанных в таблицах 7.1, 7.2. Все вершины 4-го уровня этого дерева являются оконечными, так как A-группа

{B}{A}{bb}{D}{C}{bb} является гомогенной. Путь, связывающий вершину нулевого уровня ПРД с вершиной, привязанной к гомогенной A-

группе, определяет тест данной неисправности. В нашем примере путь,

связывающий вершину нулевого уровня ПРД с вершиной, привязанной к гомогенной A-группе {B}{A}{bb}{D}{C}{bb} (на рис.7.11 выделен жирной линией), позволяет определить, что тестом неисправности f2 0 (рис.7.10) является входная последовательность T=(1,1,1,1).

Определение 7.4 Обратное различающее дерево (ОРД) - это дерево предшественников состояний, в котором вершина α k-го уровня становится оконечной при выполнении условия 1) или условия 2) из определения 7.3.

Путем построения ОРД также могут быть найдены тестовые последовательности. На рис.7.12 представлен фрагмент ОРД для автомата

286

~

A , содержащего A и Aн, описанные в табл.7.1, 7.2. Также как и в ПРД, все ветви 4-го уровня этого дерева являются оконечными, так как A-группа

{A}{C}{B}{D}{cd}{ab}, связанная с одной из вершин 4-го уровня,

является гомогенной. Путь между вершиной ОРД, связанной с гомогенной

A-группой, и вершиной нулевого уровня определяет тест данной неисправности. В нашем примере путь между вершиной ОРД, связанной с гомогенной A-группой {A}{C}{B}{D}{cd}{ab}, и вершиной нулевого уровня (рис.7.12, выделен жирной линией), позволяет определить, что как это было получено и для ПРД, тестом данной неисправности f2 0 (рис.7.10) является входная последовательность T=(1,1,1,1).

Рис.7.12 Фрагмент обратного различающего дерева.

7.2.2 Идентифицирующие последовательности конечных автоматов

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

287

Рис.7.13 Фрагмент ПРД для КА, заданного таблицей 7.3, строящего установочную последовательность (010).

Определение 7.5 Установочной называется входная последовательность, которая однозначно идентифицирует конечное состояние КА по его выходной реакции независимо от начального состояния.

Таблица 7.3

 

 

 

Таблица 7.4

 

 

 

 

 

 

 

 

 

 

 

S

Sсл, z

Sсл, z

 

 

 

 

 

 

 

S

S, z

 

S, z

S, z

 

X=0

x=1

 

 

 

 

 

x=0

 

x=1

x=0

A

B,0

D,0

 

 

 

 

A

B, 0

 

B, 0

A, 0

 

 

 

 

 

 

 

 

 

B

A,0

B,0

 

B

A, 0

 

D, 0

D, 1

 

 

 

 

 

 

 

 

 

 

C

D, 1

 

C, 0

D, 1

C

D,1

A,0

 

 

 

 

 

 

 

D

D, 1

 

C, 0

D, 1

 

 

 

 

 

D

D,1

C,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим построение установочной последовательности для КА с

помощью ПРД на примере. Пусть имеется КА, заданный таблицей 7.3.

288

T=(0,1,1),

ПРД для данного КА имеет вид, приведенный на рисунке 7.13. Из него видно, что установочной последовательностью для рассматриваемого КА является входная последовательность T=(0,1,0). Таблица 7.4, в которой приведены выходные состояния и реакции автомата (табл.7.3) на входную последовательность T=(0,1,0), экспериментально подтверждает полученный результат. Из нее видно, что конечные состояния A и D

однозначно идентифицируются этой входной последовательностью.

Определение 7.6 Диагностической называется входная последовательность, для которой выходные реакции КА различаются для каждого начального состояния.

Таблица 7.5

S

Sсл, z

Sсл, z

 

x=0

x=1

A

A,1

B,0

 

 

 

B

B,0

A,1

 

 

 

C

C,0

B,0

 

 

 

D

D,0

C,0

 

 

 

Таблица 7.6

S

S, z

S, z

S, z

 

x=0

x=1

x=1

A

A, 1

B, 0

A, 1

 

 

 

 

B

B, 0

A, 1

B, 0

 

 

 

 

C

C, 0

B, 0

A, 1

 

 

 

 

D

D, 0

C, 0

B, 0

 

 

 

 

Из определения следует, что диагностическая последовательность позволяет определить начальное состояние автомата, исходя из выходной реакции КА. Рассмотрим построение диагностической последовательности для КА с помощью ПРД на примере КА, заданного таблицей 7.5. Из вида ПРД для данного КА (рис.7.14) видно, что диагностической последовательностью для рассматриваемого КА является входная последовательность T=(0,1,1). Таблица 7.6 выходных состояний и реакций данного автомата на входную последовательность

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

все начальные состояния однозначно идентифицируются этой входной

289

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

т.е.

имеют

различные

выходные

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

Рис.7.14 Фрагмент ПРД для КА, заданного таблицей 7.5, строящего диагностическую последовательность (011).

Рис.7.15 Фрагмент ДПС+, строящего синхронизирующую

последовательность T=(01010) (жирная линия) для конечного состояния D.

290