Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 400161.doc
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
1.66 Mб
Скачать

4.3.2. Заключение о процедуре raps

Процедура RAPS не является алгоритмом в той степени, в ка­кой она не позволяет гарантировать нахождение решения задачи.

Это только процедура полезного доопределения значений состоя­ний первичных входов. На рис. 4.10 приведена блок-схема процес­сов RAPS верхнего уровня.

Рис. 4.10. Блок схема процедуры RAPS

4.4. Методика выполнения процедур raps и podem

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

Рис. 4. 11. Методика, основанная на использовании процедур RAPS и PODEM

Дадим пояснения к рис. 4.11.

А. Процедура RAPS предназначена для генерации небольшого числа псевдослучайных тестов, практически от 5 до 15 независимо от сложности схемы Это объясняется тем, что первые тесты по­крывают значительное множество неисправностей из заданного класса, например, единственный тест, полученный на основе про­цедуры RAPS в подразделе 4.3.1, покрывает одну треть всех неисп­равностей схемы. Генерация фиксированного числа тестов про­цедурой RAPS чередуется с использованием процедуры моделиро­вания неисправностей, которая после генерации каждого нового теста оценивает возрастание уровня покрытия множества всех неисправностей и определяет выход из подпрограммы, когда либо достигнут определенный минимальный уровень покрытия (скажем, 70%), либо превышено установленное время вычисления.

Б. Аналогичные замечания можно сделать относительно про­цедуры PODEM. На рис. 4.11 проиллюстрированы две возможные методики: одна основана на использовании процедуры моделиро­вания неисправностей таким же образом, как это обсуждалось выше, другая основана исключительно на процедуре генерации теста для каждой непокрытой неисправности. Эта вторая методи­ка, вероятно, приводит к увеличению числа тестов, которые можно совместить для уменьшения их общего числа. Процедура совме­щения тестов, называемая сжатием, обсуждается в следующем подразделе.

4.4.1 Использование статического сжатия тестов

При выполнении процедур как PODEM, так и RAPS могут ге­нерировать не полностью определенные множества входных набо­ров, которые при первой процедуре обеспечивают условия тести­рования определенной неисправности, а при второй – выполнение промежуточной цели, такой, как «установка определенных значе­ний на всех первичных выходах» (примеры 1 и 4 соответственно). Если конечной целью является получение как можно меньшего числа тестовых наборов (т. е. сокращение затрат времени на мо­делирование, на циклические переходы от режима сканирования пути к нормальному функционированию), то неопределенные со­стояния первичных входов можно использовать при совмещении различных тестовых наборов в один составной тестовый набор при условии, что логические значения на установленных первичных входах этих наборов не противоречат друг другу.

Например, совмещаются два входных набора (набор 1 и 2) на входах А, В, С, D:

А

В

С

D

1

1

0

Х

Набор 1

Х

1

Х

0

Набор 2

1

1

0

0

Совмещенный набор

Два набора объединяются, образуя совмещенный набор (А = 1, В = 1, С = 0, D = 0), представляющий единственную компози­цию множества значений входов.

В другом случае наборы 1 и 3:

А

В

С

D

1

1

0

Х

Набор 1

Х

0

Х

0

Набор 3

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

Совмещение тестовых наборов по этому принципу называется статическим сжатием, и эта процедура может использоваться в системе как RAPS, так и PODEM, что показано на рис. 4.12 и 4.13 соответственно.

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

Рис. 4.12 Совмещение процедур RAPS и статического сжатия тестов

Рис. 4.13. Совмещение процедур PODEM и статического сжа­тия тестов

Иная последовательность процедуры моделирования пред­ставлена на рис. 4.13. Предполагая, что начальное число непо­крытых неисправностей достаточно мало (скажем, около 30% от полного множества неис­правностей заданного клас­са), использование проце­дуры PODEM отдельно для каждой неисправности, вероятно, позволит быстрее получить решение, чем ис­пользование моделирования после каждого прохода про­цедуры PODEM.

Это объясняется тем, что с приближением уровня по­крытия неисправностей к отметке 100% дополнитель­ный прирост этого уровня уменьшается с каждым но­вым тестом. Это можно уви­деть более наглядно, анали­зируя классическую кривую покрытия неисправностей на рис. 4.14.

Рис. 4.14. Кривая покрытия неисправностей

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