logo
Метод синтеза генераторов детерминированных тестов на сетях клеточных автоматов (СКА)

3.1.1 Основные определения и понятия

Для правильного и подробного описания этого подхода необходимо ввести основные определения и понятия.

В качестве абстрактной модели дискретного устройства (ДУ) с памятью будем использовать автомат Мили, определяемый пятеркой

А = (X, Y, Z, , ), (3.1)

где X = { X1, X2,…., Xm } - множество букв входного алфавита;

Z = { Z1, Z2,…, Zn } - множество состояний автомата;

Y = { Y1, Y2, …Yr } - множество букв выходного алфавита;

(Zi, Xk) = Zj; Zi, ZjZ; XkX; i, j = ; k = - множество функций переходов автомата;

(Zi, Xk) = y; yY, = - множество функций выхода автомата.

В дальнейшем изложении будут использоваться следующие обозначения и понятия:

Xj = X1 X2 … Xk - входное слово или входная последовательность из К букв;

l (Xj) = k - длина последовательности;

Yj = Y1 Y2 … Yk - выходное слово или выходная последовательность длины l (Yj) = k.

Любое конечное множество состояний автомата будем называть -множеством. Элементы, образующие -множество, не обязательно различны. -множество, содержащее единственный элемент, называется простым, а содержащее несколько одинаковых элементов - кратным. -множество, однородно, если все элементы одинаковы.

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

Многие задачи теории автоматов (кодирование состояний, декомпозиция автоматов, минимизация числа состояний и другие) успешно решаются путем анализа разбиений состояний автомата. Термин "разбиение" имеет в математике ряд значений [10]. Вообще, под разбиением принято понимать всякое расчленение целого на части.

Определение 3.1 Пусть В подмножество Z. Разбиением i множества Z называют совокупность таких подмножеств Bi, что их по парные пересечения - пустые множества, а объединение всех подмножеств Bi равно Z.

Подмножество Bi называют блоком разбиения i множества Z.

Пример 3.1 Пусть Z={A, B, C, D, E, F}. Тогда

= {},

={ },

где - разбиения множества Z.

Говорят, что для пары разбиений , , определенных на множестве Z, разбиение больше или равно разбиению ( , ), если каждый блок разбиения содержится в блоке . Например, разбиение и из примера 3.1 можно упорядочить в виде .

Разбиение, в котором каждый блок включает один элемент множества Z, является (0) - разбиением, а разбиение, содержащее в одном блоке все элементы Z, является (1) - разбиением.

Определение 3.2 Если 1 и 2 - разбиения множества Z, то произведением разбиений (1 2) является разбиение, полученное в результате пересечения каждого блока из 1 с каждым блоком из 2.

Например, произведение пары разбиений множества из примера 3.1 равно

= {}.

Определение 3.3 Если 1 и 2 - разбиения множества Z, то суммой разбиений (1 + 2) является разбиение, полученное в результате объединения тех блоков 1 и 2, которые имеют, по меньшей мере, один общий элемент.

Например, сумма пары разбиений множества Z из примера 3.1 равна

1 + 2= { }.

Если известна автоматная модель ДУ с элементами памяти, то задача построения проверяющего эксперимента сводится к нахождению входных и выходных последовательностей, которые позволяют однозначно идентифицировать автоматную диаграмму ДУ [11]. Большинство известных методов решения этой задачи основано на работе Хенни [12]. Предложенный им подход дает хорошие результаты для автоматов, которые имеют отличительные последовательности. Поэтому этот класс автоматов многие исследователи называют легко тестируемым [13]. Известна процедура нахождения отличительной последовательности автомата по его автоматной диаграмме предусматривающая построение дерева преемников автомата и применение определенных правил усечения вершин этого дерева. Процедура завершается, когда, либо найдена отличительная последовательность для заданного автомата, либо в результате построения отличительного дерева установлено, что автомат не имеет отличительной последовательности.

Известно, что необходимым условием существования для данного автомата отличительной последовательности является свойство минимальности автомата. Однако это условие не является достаточным, так как существуют минимальные автоматы, не имеющие отличительных последовательностей.

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

Определение 3.4 Входная последовательность X0 называется отличительной для автомата А= (X, Y, Z, , ), если выходная последовательность автомата, как реакция на X0, различна для любого начального состояния, то есть

(Zi, X0) (Zi, X0), для Zi, Zj Z, Zi Zj. (3.2)

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

Отличительное дерево приемников, в котором вершина ранга r является висячей если:

а) ей поставлена в соответствие группа - множеств, содержащая, по меньшей мере, одно кратное - множество;

б) ей поставлена в соответствие группа - множеств, в которой все не простые - множества совпадают с - множествами вершины ранга меньше r;

в) среди вершин ранга r имеется хотя бы одна вершина, отмеченная простым - множеством.

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

Таблица 3.1 - Автомат А-1

Z (t)

Z (t + 1), (t)

X1

X2

1

2, 1

1, 1

2

1, 1

3, 0

3

5, 0

3, 1

4

2, 0

1, 0

5

4, 1

5, 0

Рисунок 3.1 - Отличительное дерево автомата А-1

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

({ } X1) = { 2, 1, 4 }, { 5, 2 }. (3.3)

Блоки разбиения 1 ={} множества состояний A-1 определяют отношение эквивалентности состояний в том смысле, что состояния, принадлежащие каждому блоку разбиения 1 X1 - неразличимы, а сами блоки разбиения 1 являются X1 - различимыми. Вершине отличительного дерева (рисунок 3.1), отмеченной разбиением 1, поставлена в соответствие группа - множеств 1: {2, 1, 4 },{ 5, 2}, включающих состояния, которые являются преемниками соответствующих состояний блоков разбиения 1.

В отличительном дереве автомата A-1 каждому - множеству вершины дерева поставлено в соответствие - разбиение множества начальных состояний, для которых состояния - множеств являются конечными состояниями при приложении к входу автомата последовательности входных символов, соответствующих меткам дуг отличительного дерева. Путь в отличительном дереве от его корня до вершины, отмеченной группой простых -множеств, определяет отличительную последовательность минимальной длины. Отличительная последовательность X0= (X1, X1, X1, X2, X1) автомата А-1 определяет следующую последовательность - разбиений начальных состояний