Добрый день можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти в известных источниках |
Построение тестов с использованием алфавитов большой значности
20.1. Построение тестов в 9,10-значном алфавите
Кроме шестизначного алфавита , при генерации тестов применяются алфавиты большей значности, которые позволяют более точно описывать возможные комбинации значений сигналов в исправном и неисправном устройстве и, следовательно, эффективней проводить активизацию путей в схеме [20.1]. Среди них широкое распространение получил десятизначный алфавит , который кроме символов, имеющихся в алфавите , включает следующие символы алфавита - , , , [20.2,20.3]. Таким образом, [20.2,20.3]. Иногда его дополняют еще символом . Каждый из добавленных в символов соответствует двум возможным комбинациям базового алфавита . Символ показывает, что в исправной схеме значение сигнала на данной линии равно 0, а в неисправной - 0 или 1. Аналогично означает - 1 в исправной схеме, а в неисправной - 0 или 1. Символ показывает, что в неисправном ДУ значение сигнала равно 0, а в исправном - 0 или 1. Аналогично соответствует - 1 в неисправном ДУ и 0 или 1 в исправном. Введение дополнительных символов позволяет в некоторых случаях уменьшить неопределенность в процессе построения теста по сравнению с алфавитом . Повышение мощности алфавита может уменьшить перебор вариантов при поиске решения. Например, возможны ситуации, когда построение теста в алфавите идет с перебором, а в алфавитах (и большей значности) тест строится без перебора. Если существует путей от места неисправности до внешнего выхода, то -алгоритм в худшем случае, например для избыточной неисправности пытается активизировать многомерных путей. С другой стороны, алфавит позволяет строить тесты с помощью только одномерной активизации в худшем случае путей.
Рассмотрим схему, изображенную на рис. 20.1. Если значение линии равно , то значение линии будет равно либо , либо 0, в зависимости от того, какое значение будет на линии - 0 или 1. Очевидно, что это соответствует установлению на линии значения . Аналогично, при значение линии будет равно либо , либо 1 в зависимости от того, какое значение будет на линии . То есть линии нужно присвоить значение . Заметим, что здесь на линиях и неопределенность уменьшилась с четырех возможных комбинаций до двух (это невозможно сделать в алфавите ). На линии в зависимости от значения будет 0, 1 или . Поскольку в алфавите нет символа для этой ситуации, то линии присваивается неопределенное значение . При этом происходит огрубление вследствие недостаточной мощности алфавита (в алфавите результат был бы точнее). Символ может возникнуть, например, на выходе вентиля "исключающее ИЛИ", если один из его входов примет значение .
Распространение значений , , , , назовем обобщенным D-распространением, а процедуру, с помощью которой это выполняется - обобщенным D-проходом. Эта процедура выполняется для вентилей с помощью многозначных таблиц, которые представлены в табл. 20.1-табл. 20.4. Отметим, что эти таблицы могут быть получены с помощью универсальной модели, описанной в "Система многозначных алфавитов и функций" , функций [20.3] (если получается код символа, не принадлежащего алфавиту , то он заменяется символом неопределенности ). Линии, имеющие значения , , , , , образуют обобщенную D-границу.
Рассмотрим построение теста для неисправности в схеме рис. 20.1. Линии присваиваем значение . Продвижение назад дает . Выполнив обобщенное -распространение, получим . Для -распространения выбираем (путем выбора из и снимаем неопределенность до символа ). Импликация приводит к установке , . Далее в результате обобщенного -распространения получаем . Для -распространения полагаем (опять снимаем неопределенность путем выбора нужной комбинации из двух возможных). Продвижение назад, определяет . Таким образом, тестом является набор .