№1 ПРИЛОЖЕНИЕ Сентябрь 2009
Секция 4
МАТЕМАТИЧЕСКИЕ ОСНОВЫ НАДЁЖНОСТИ ВЫЧИСЛИТЕЛЬНЫХ И УПРАВЛЯЮЩИХ СИСТЕМ
УДК 519.713
К ПОСТРОЕНИЮ ПРОВЕРЯЮЩИХ ТЕСТОВ ОТНОСИТЕЛЬНО НЕРАЗДЕЛИМОСТИ ДЛЯ НЕДЕТЕРМИНИРОВАННЫХ АВТОМАТОВ
Е. А. Акеньшина, Н. В. Шабалдина
Поведение многих дискретных систем можно описать моделью с конечным числом переходов, например моделью конечного автомата. Для детерминированных автоматов методы построения проверяющих тестов достаточно хорошо развиты. Для недетерминированных автоматов, в которых одной входной последовательности может сопоставляться несколько выходных последовательностей, методы построения тестов активно развиваются, но в основном при тестировании используется предположение «о всех погодных условиях», т. е. предполагается, что есть возможность подавать входную последовательность, пока не пронаблюдаем все выходные реакции на нее. Такое предположение перестает быть реалистичным, если при тестировании нет возможности полностью контролировать проверяемый автомат, что имеет место, например, при удаленном тестировании реализаций телекоммуникационных протоколов. В данной работе предлагается улучшение метода построения тестов для недетерминированных автоматов относительно неразделимости для модели «черного ящика», предложенного в работе [1], в котором не используется ограничение «все погодные условия».
Недетерминированным автоматом называется пятерка А = (Б,I, О, Л, в^, где Б — множество состояний с выделенным начальным состоянием 51; I и О — соответственно входной и выходной алфавиты; Л С Б х I х Б х О — отношение переходов - выходов. Обозначим ои£(в,а) = {в : 3 в' Е Б [(в, а, в', в) £ Л]}.
Состояние в' называется г-преемником состояния в, если существует такой выходной символ о Е О, что четверка (в, г, в', о) содержится в Л. Множество состояний М' С Б называется г-преемником множества состояний М С Б, если М' есть множество всех г- преемников всех состояний множества М.
При тестировании проверяются различные отношения соответствия между эталонным и проверяемым автоматами.
Пусть А и В — полностью определенные автоматы. Состояние £ автомата В называется редукцией состояния в автомата А (обозначение: £ ^ в), если У а Е I * [ои£(£, а) С ои£(в,а)]. Если £1 ^ в1, то автомат В называется редукцией автомата А.
Состояние в автомата А и состояние £ автомата В неразделимы (обозначение: в ~ £), если У а Е I*[ои£(в, а) П ои£(£, а) = 0]. Если 3а Е I* [ои£(в, а) П ои£(£, а) = 0], то состояния в и £ разделимы по а (обозначение: в фа £), или просто разделимы (обозначение: в ф £). Автоматы А и В неразделимы, если в1 ~ £1. Если в1 фа £1, то автоматы А и В разделимы по а (обозначение: А фа В), или просто разделимы (обозначение: А ф В); последовательность а называется разделяющей последовательностью для автоматов А и В. Разделяющая последовательность а Е I* называется кратчайшей,
если любая другая входная последовательность, разделяющая автоматы A и B, не короче а.
В работе [2] был предложен алгоритм построения кратчайшей разделяющей последовательности для автоматов A и B и показано, что если данные автоматы имеют соответственно не более n и m состояний, то длина кратчайшей разделяющей последовательности будет не более чем 2nm-1, и данная экспоненциальная оценка является достижимой.
Для построения качественных тестов необходима не только формальная модель описания эталонной и проверяемой систем, но и формальное задание модели неисправности. В работе [1] был предложен метод построения полного проверяющего теста относительно модели неисправности (A, ~,Rm(A)), где область неисправности Rm(A) есть множество всех полностью определенных автоматов с теми же входным и выходным алфавитами, что и у A, и числом состояний не более m, разделимых с эталоном или являющихся редукциями эталона, где m — целое положительное число. Отношение конформности ~ предполагает, что полный проверяющий тест обнаружит всякий автомат из области неисправности Rm(A), разделимый с эталоном.
Метод [1] основан на построении разделяющей последовательности для двух автоматов, и при формулировке условия усечения дерева используется экспоненциальная оценка длины разделяющей последовательности. Однако этот метод не доставляет кратчайшего теста, поэтому он был модифицирован путем уточнения условия усечения дерева преемников. Ниже приводится модифицированный алгоритм.
Алгоритм 1. Построение полного проверяющего теста относительно модели неисправности (A, Rm(A)).
Вход: Полностью определенный автомат A и верхняя граница m числа состояний автоматов из области неисправности Rm(A).
Выход: Полный проверяющий тест TS относительно модели неисправности
(A, ~,Rm(A)).
Ш!аг 1. Построим усеченное дерево преемников автомата спецификации A. Корнем дерева на нулевом уровне является начальное состояние s1 автомата A; вершины дерева помечены подмножествами состояний автомата A. Пусть уже построены j уровней дерева, j ^ 0. Для заданной нетерминальной вершины j-го уровня, помеченной подмножеством состояний K, и для заданного входного символа i в дереве есть ребра, помеченные символом i, в вершину, помеченную i-преемниками подмножества K. Текущая вершина Current на k-м уровне, k > 0, помеченная подмножеством K состояний из множества S, объявляется листом дерева, если выполняется любое из перечисленных условий усечения, т. е. путь из корня в вершину Current содержит:
— 2lKl-m вершин, помеченных подмножествами множества K, если s1 Е K;
— 2|K|-m-1 + 1 вершин, помеченных подмножествами множества K, если s1 Е K;
— 2(|K|-|Pl)^m + n вершин, помеченных подмножествами множества K, если s1 Е K или s1 Е K и s1 Е P;
— 2(|K|-|P|)^m-1 +n+1 вершин, помеченных подмножествами множества K, если s1 Е K и s1 Е P,
где P — это такое подмножество состояний из множества K, что до некоторого /-го уровня (/ < k) перебраны все возможные подмножества P, а n — это количество вершин на данном пути, помеченных подмножествами K, содержащими подмножества P, которые находятся на уровнях не ниже /-го уровня дерева (если P = 0, то n = 0). Множество P строится итеративно:
1) P = 0;
2) P = P U Pj для каждого подмножества Pj множества K, такого, что Pj П P = Q и путь из корня в вершину Current содержит (2(|Pj|-|Q|>m — 1) вершин, помеченных подмножествами Pj, если s1 G Pj или s1 G Q (для Q = 0), либо (2(|Pj|-|Q|^m-i) вершин в случае s1 G Pj.
Ш!аг 2. Включаем в TS каждую входную последовательность, которая помечает путь из корня к листу в усеченном дереве.
Построенный согласно алгоритму 1 тест также будет полным относительно модели неисправности (A, ~,Rm(A)), но при этом в большинстве случаев менее избыточным, что доказано теоретически.
ЛИТЕРАТУРА
1. Shabaldina N., El-Fakih K. and Yevtushenko N. Testing Nondeterministic Finite State Machines With Respect to the Separability Relation // Lecture Notes in Computer Science. 2007. V. 4581. P. 305-318.
2. Евтушенко Н. В., Спицына Н. В. О верхней оценке длины разделяющей последовательности // Вестник Томского госуниверситета. Приложение. 2006. № 18. C. 54-58.
УДК 681.324.7
ПОСТРОЕНИЕ ПРОВЕРЯЮЩИХ ТЕСТОВ ДЛЯ КОНСТАНТНЫХ НЕИСПРАВНОСТЕЙ И НЕИСПРАВНОСТЕЙ ЗАДЕРЖЕК ПУТЕЙ В СХЕМАХ, СИНТЕЗИРОВАННЫХ ФАКТОРИЗАЦИОННЫМ МЕТОДОМ
В. В. Андреева, А. Ю. Матросова, А. В. Мельников, А. В. Морозова
Для обнаружения реальных дефектов дискретных схем наноэлектроники, работающих на высоких частотах и при низких напряжениях питания, наряду с тестами для константных неисправностей необходимо строить тесты для неисправностей задержек путей.
Рассмотрим путь, начинающийся на некотором входе схемы и заканчивающийся на одном из ее выходов. Предполагается, что задержки отдельных линий связи в пути и задержки отдельных его элементов невелики. Однако в целом смена значений сигналов на рассматриваемом пути может выполняться дольше, чем время между соседними синхроимпульсами. Это приводит к неверной работе схемы, несмотря на то, что логические элементы схемы функционируют исправно.
Будем иметь в виду, что время задержки для одного и того же пути и инверсных смен значений на его линиях связи и выходах элементов может различаться. Поэтому каждому пути сопоставляется пара последовательностей перепадов значений сигналов и соответственно пара задержек одного и того же пути.
Для каждой последовательности перепадов значений сигналов пути в схеме требуется построить пару v1, v2 тестовых наборов (пару булевых векторов, сопоставляемых входам схемы), на которых неисправность проявляется.
В данной работе рассматриваются схемы, полученные факторизационным методом синтеза по системе безызбыточных ДНФ и по безызбыточным системам ДНФ. Имеются в виду факторизационные методы синтеза, сохраняющие систему ДНФ. В частности, таким методом является метод деления ДНФ, используемый в современных САПР [1].