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

4.2.1. Пример 1. Основной принцип podem

На этом первом примере демонстрируется непосредственное применение процедуры PODEM и полностью детализируется главная особенность процеду­ры генерации проверяющего теста. Читателю рекомендуется следить за выполнением процедуры, отмечая узлы схемы соответствующими логическими значениями на копии рис.4.6.

Для каждого узла схемы на рис.4.6 перечислены значения управляемости, полученные с помощью программы CAMELOT. Чем ближе это значение к 1, тем легче управлять узлом.

НАЧАЛЬНАЯ УСТАНОВКА всех узлов схемы в неопределенное логическое

состояние Х

ВЫБРАТЬ неисправность: G 8.12 н-к-1 (Выбрана произвольно: определяет

установку в узле D-куба неисправности)

ИСХОДНЫЙ ЦЕЛЕВОЙ УЗЕЛ:

OB (G 8.12 =D)

ОБРАТНЫЙ ПРОХОД:

Установить 0 на самом легкоуправляемом Х-входе G 8: G 8.2 ( = CN)

OB (CN = 0)

ОПРЕДЕЛИТЬ ПВх (CN) = 0 ПВх определение

МОДЕЛИРОВАТЬ полноту нового ПВх-определения

СN = 0

G 7.3 = 0

G 8.12 =D

G 9.3 = 0

G 10.3 = 0

ВОПРОС: Обеспечивается ли логическое состояние D в цслевом узле?

Да

ВОПРОС: Распространилось ли значение D до первичного выхода?

НЕТ

Определить кратчайший Х-пугь от целевого узла с состоянием D до пер­вичного вы-

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

NSUM

Произвольно выбираем один из двух кратчайших путей равной длины через G 10 и

G 11

Выполнить D-проход и установить состояние D на новом целевом узле:

OB (G 13.6 = D)

ПРОДОЛЖИТЬ D-проход

OB (G 13.6 = D)

ОБРАГНЫЙ ПРОХОД:

Установить 0 на самом сложноуправляемом Х-входе вентиля G 13: выбираем про-

извольно G 13.2 (= G 6.3)

OB (G 6.3 = 0)

Установить 0 на самом легкоуправляемом Х-входе G 6:

G 6.2 (=G 4.12)

OB (G 4.12 = 0)

Установить 1 на самом сложноуправляемом Х-входе G4:

выбираем произвольно G 4.1 (= G 2.3)

OB (G 2.3 = 1)

Установить 0 на самом легкоуправляемом Х-входе G 2:

G 2.1 (= В1)

0В (В1 = 0)

ОПРЕДЕЛИТЬ ПВх (В1) = 0 ПВх-определенне

МОДЕЛИРОВАТЬ полноту нового ПВх-определения

В1 = 0

G 2.3 = 1

ВОПРОС: Обеспечивается ли логическое состояние D в целевом

узле?

НЕТ

Возвратиться к целевому узлу с D-границсй

OB (G 13.6 = D)

ОБРАТНЫЙ ПРОХОД:

Установить 0 на самом сложноуправлясмом Х-входе G 13:

G 13.1 (= G 5.3)

OB (G 5.3) = О

Установить 0 на самом легкоуправляемом Х-входе G 5:

G 5.1 (= G 3.12)

OB (G 3.12 = 0)

Установить 1 на самом сложноуправляемом Х-входе G 3:

G 3.2, выбираем произвольно (= А*)

0В (А* = 1)

ОПРЕДЕЛИТЬ ПВх (А*) = 1 ПВх-определение

МОДЕЛИРОВАТЬ полноту нового ПВх-определения

А* = 1

ВОПРОС: Обеспечивается ли логическое состояние D в целевом

узле?

НЕТ

Возвратиться к целевому узлу с D-границей

OB (G 13.6 = D)

ОБРАТНЫЙ ПРОХОД:

Установить 0 на самом сложноуправляемом Х-входе G 13:

выбираем произвольно G 13.1 (= G 5.3)

OB (G 5.3 = 0)

Установить 0 на самом легкоуправляемом Х-входе G 5:

G 5.1 (= G 3.12)

OB (G 3.12 = 0)

Установить 1 на самом сложноуправляемом Х-входе G 3:

выбираем произвольно G 3.13 (= АС)

0В (АС = 1)

ОПРЕДЕЛИТЬ ПВх (АС) = 1 ПВх-определение

МОДЕЛИРОВАТЬ полноту нового ПВх-определения

АС = 1

ВОПРОС: Обеспечивается ли логическое состояние D в целевом

узле?

НЕТ

Возвратиться к целевому узлу с D-границей

OB (G 13.6 = D)

ОБРАТНЫЙ ПРОХОД:

Установить 0 на самом сложноуправляемом Х-входе G 13:

произвольно выбираем G 13.2 (= G 6.3)

OB (G 6.3 = 0)

Установить 0 на самом легкоуправляемом Х-входе G 6:

G 6.2 (= С 4.12)

OB (G 4.12 = 0)

Установить 1 на самом сложноуправляемом Х-входе G 4:

выбираем произвольно G 4.2 (= В*)

0В (В* = 1)

ОПРЕДЕЛИТЬ ПВх (В*) = 1 ПВх-опредсление

МОДЕЛИРОВАТЬ полноту нового ПВх-опрелеления

В* = 1

ВОПРОС: Обеспечивается ли логическое состояние D в целевом

узле?

НЕТ

Возвратиться к целевому узлу с D-границей

OB (G 13.6 = D)

ОБРАТНЫЙ ПРОХОД :

Установить 0 на самом сложноуправляемом Х-входе G 13:

выбираем произвольно G 13.1 (= G 5.3)

OB (G 5.3 = 0)

Установить 0 на самом легкоуправляемом Х-входе G 5:

G 5.1 (= G 3.12)

OB (G 3.12 = 0)

Установить 1 на самом сложноуправляемом Х-входе G 3:

G 3.1 (= G 1.3)

OB (G 1.3 = 1)

Установить 0 на самом легкоуправляемом Х-входе G 1:

выбираем произвольно G 1.2 (= А2)

0В (А2 = 0)

ОПРЕДЕЛИТЬ ПВх (А2) = 0 ПВх-определение

МОДЕЛИРОВАТЬ полноту нового ПВх-определения

А2 = 0

G 1.3 = 1

G 3.12 = 0

G 5.3 = 0

G 8.12 =D, как и прежде

G 9.3 = 0, как и прежде

G 11.3 = 0

G 12.12 = 1

NCN1 = 1 ПВых-определение

ВОПРОС: Обеспечивается ли логическое состояние D в целевом

узле?

НЕТ

Возвратиться к целевому узлу с D-границей

ОБРАТНЫЙ ПРОХОД:

Установить 0 на самом сложноуправляемом Х-входе G 13:

G 13.2 (= G 6.3)

OB (G 6.3 = 0)

Установить 0 на самом легкоуправляемом Х-входе G 6:

G 6.2 (= G 4.12)

OB (G 4.12 = 0)

Установить 1 на самом сложноуправляемом Х-входе G 4:

G 4.13 (= ВС)

OB (BC = 1)

ОПРЕДЕЛИТЬ ПВх (ВС) = 1 ПВ-определение

МОДЕЛИРОВАТЬ полноту нового ПВх-определения

ВС = 1

G 4.12 = 0

G 6.3 = 0

G 8.12 =D, как и прежде

G 10.3 = 0, как и прежде

G 11.3 = 0, как и прежде

G 13.6 = D

NSUM = D ПВх-онределение

G 14.2 =D

SUM =D ПВых-опрсдсление

ВОПРОС: Обеспечивается ли логическое состояние D на целевом

узлe?

ДА

ВОПРОС: Распространяется ли значение D на первичный выход?

ДА

ТЕСТ для заданной неисправности найден:

А1

А2

А*

АС

С

В1

B2

В*

ВС

NSUM

SUM

NCN1

Х

0

1

1

0

0

Х

1

1

1(D)

0(D)

1

ВЫХОД из подпрограммы

Этот пример позволяет отмстить следующие особенности процедуры:

а) в процессе моделирования проверяется наличие противоречивых логи­ческих состояний узлов при их доопределении, в данном примере такие со­стояния отсутствуют, но, как будет показано далее, это не всегда так;

б) в полученном тестовом наборе на двух первичных входах А1 и B2 значения неопределенные. Их можно доопределить произвольно как 0 или 1 или оставить неопределенными, что позволит впоследствии совместить два тестовых набора или более в один составной тест. Такой процесс совмещения называется сжатнем теста и рассматривается в следующем подразделе.