Научная статья на тему 'Синтез условных различающих экспериментов для автоматов с недетерминированным поведением'

Синтез условных различающих экспериментов для автоматов с недетерминированным поведением Текст научной статьи по специальности «Математика»

CC BY
211
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ВХОДО-ВЫХОДНОЙ ПОЛУАВТОМАТ С МОЛЧАНИЕМ / КОНЕЧНЫЙ НЕДЕТЕРМИНИРОВАННЫЙ АВТОМАТ / ВРЕМЕННОЙ АВТОМАТ / РАЗЛИЧИМОСТЬ / СОВМЕСТИМОСТЬ / УСЛОВНЫЙ ЭКСПЕРИМЕНТ / LABELLED TRANSITION SYSTEMS / NONDETERMINISTIC FINITE STATE MACHINE / TIMED FINITE STATE MACHINE / DISTINGUISHING EXPERIMENT / COMPATIBILITY / ADAPTIVE EXPERIMENT

Аннотация научной статьи по математике, автор научной работы — Громов Максим Леонидович, Евтушенко Нина Владимировна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The paper is devoted to the adaptive distinguishing experiments derivation for the following automata models: Labelled Transition Systems, nondeterministic, possibly partial, Finite State Machines and Timed Finite State Machines. The methods suggested here do not exploit "all weather condition" assumption and are based on the intersection of the corresponding automata. The experiments can be used for test derivation and diagnosis for discrete event systems.

Текст научной работы на тему «Синтез условных различающих экспериментов для автоматов с недетерминированным поведением»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2009 Прикладная теория автоматов №4(6)

ПРИКЛАДНАЯ ТЕОРИЯ АВТОМАТОВ

УДК 519.7

СИНТЕЗ УСЛОВНЫХ РАЗЛИЧАЮЩИХ ЭКСПЕРИМЕНТОВ ДЛЯ АВТОМАТОВ С НЕДЕТЕРМИНИРОВАННЫМ ПОВЕДЕНИЕМ1

М. Л. Громов, Н. В. Евтушенко

Томский государственный университет, г. Томск, Россия

E-mail: gromov@sibmail.com, ninayevtushenko@yahoo.com

Данная работа посвящена синтезу условных различающих экспериментов для трёх классов автоматов с недетерминированным поведением — детерминированных входо-выходных полуавтоматов, конечных недетерминированных автоматов и недетерминированных временных автоматов — без использования ограничения «всех погодных условий». Эти эксперименты строятся на основе пересечения различаемых автоматов и могут быть использованы при построении проверяющих и диагностических тестов.

Ключевые слова: входо-выходной полуавтомат с молчанием, конечный недетерминированный автомат, временной автоматт, различимость, совместимость, условный эксперимент.

Введение

В современных исследованиях большое внимание уделяется тестированию дискретных управляющих систем, поведение которых описывается автоматами с недетерминированным поведением (см., например, [1-5]). Причины появления недетерминизма в спецификациях и реализациях систем, вообще говоря, различные; среди них можно выделить возможность различных опций при реализации, уровень абстракции описания, невозможность полной управляемости и наблюдаемости для реализации и так далее. В случае, когда поведение спецификации и реализации описывается автоматами с недетерминированным поведением, обычно требуется, чтобы поведение конформной реализации на допустимых входных последовательностях было частью поведения спецификации. При синтезе тестов с гарантированной полнотой необходимо уметь отличать неконформные реализации от спецификации, то есть уметь различать с помощью эксперимента два различимых автомата, имеющих недетерминированное поведение.

Одной из основных проблем при тестировании недетерминированных реализаций является тот факт, что в общем случае проверяемый автомат с недетерминированным поведением может реагировать различными выходными последовательностями на одну и ту же входную последовательность. Поэтому обычно при тестировании реализаций с недетерминированным поведением делается допущение о «всех погодных условиях» [1], то есть предполагается, что каждая тестовая входная последовательность подается на реализацию достаточно большое число раз в «различных погодных условиях», и поэтому можно считать, что тестер пронаблюдал все возможные выходные реакции реализации на каждую входную последовательность. Допущение о

1 Работа выполнена по ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы», гос.контракт №02.514.12.4002.

«всех погодных условиях» является скорее теоретическим, так как никто не знает, сколько раз достаточно подать входную последовательность, чтобы дать возможность тестеру «увидеть» все выходные реакции реализации. Более того, такому предположению невозможно удовлетворить, если проверяемый автомат является только частично контролируемым, что имеет место, например, при удаленном тестировании реализаций телекоммуникационных протоколов. Известно, что если отсутствует предположение о «всех погодных условиях», то единственным отношением между проверяемым и эталонным автоматами, проверку которого можно гарантировать при проведении безусловного эксперимента с проверяемым автоматом, является отношение неразде-лимости между автоматами, когда реакции двух автоматов на любую входную последовательность пересекаются [6, 7]. В данной работе «все погодные условия» не предполагаются, но считается возможным проведение условного эксперимента [8] по различению двух автоматов, и для этой цели определяются необходимые и достаточные условия существования такого эксперимента.

Рассматриваются три класса автоматов с недетерминированным поведением, а именно: детерминированные входо-выходные полуавтоматы с молчанием [9], недетерминированные, возможно, частичные конечные автоматы [10] и недетерминированные временные автоматы с таймаутом [11]. Для каждого класса вводится понятие различимости автоматов в классе, которое сводится к существованию их общей конформной реализации, то есть к существованию такого автомата, поведение которого на допустимых входных последовательностях является частью поведения каждого из предъявленных автоматов, и показывается, что два автомата в классе различимы условным экспериментом, если и только если такой реализации не существует.

1. Различающий условный эксперимент с входо-выходными полуавтоматами

Под детерминированным входо-выходным полуавтоматом (или просто полуавтоматом) с входным алфавитом I и выходным алфавитом О будем понимать пятёрку /. = {Ь, I, О, I, Л^), где Ь — непустое конечное множество состояний с выделенным начальным состоянием /; I и О — непересекающиеся конечные алфавиты входных и выходных действий (символов) соответственно, I и О = 0. Отношение ЛL С Ь X (I и О) X Ь есть отношение переходов, и если {I, а, ¡') € Л^ и {1,а, I") € Л^, то ¡' = I". Переход {I, а, ¡') для удобства будем записывать как I ¡'.

Недетерминированность поведения полуавтомата проявляется в возможности совершения им в одном и том же состоянии разных выходных действий в отсутствие входного символа.

Состояние I полуавтомата /. называется молчащим, если для любого действия а из О и любого состояния ¡' из Ь верно {I, а, ¡') € Ль

Предполагается, что все состояния полуавтомата достижимы из начального и что ситуацию, когда полуавтомат находится в молчащем состоянии, можно отличить от ситуации, когда полуавтомат находится в состоянии, в котором он готов произвести выходное действие. Для формального описания этой возможности вводится новое выходное действие 8, и если некоторое состояние I —молчащее, то подразумевается, что I I. Естественным образом отношение переходов распространяется на последова-

тельности из алфавита (I и О и {8}).

Введём следующие обозначения:

1) [IНо- — множество всех состояний, достижимых из состояния I по последовательности а € (I и О и {8})* (в детерминированном полуавтомате | [/]о| ^ 1);

2) out(Z) —множество всех выходных действий, включая $, переходы по которым определены в состоянии 1;

3) in (Z) —множество всех входных действий, переходы по которым определены в состоянии /;

4) s-tracesL — множество всех конечных последовательностей из (I U O U {$})*, по которым возможны переходы из начального состояния полуавтомата L.

Полуавтомат L называется полностью определённым по входам (или просто полностью определённым), если для каждого состояния / справедливо in(Z) = I.

Полностью определённый полуавтомат L находится в отношении ioco с полуавтоматом K (обозначение: L ioco K), если для любой последовательности а из s-tracesк справедливо out([/]CT) С out([fc]CT); в этом случае полуавтомат L будем называть ioco-реализацией полуавтомата K.

Суть отношения ioco состоит в том, что поведение реализации в любом её состоянии определено на всех тех входных воздействиях, на которых определено поведение спецификации в соответствующем состоянии, а множество выходных реакций содержится в множестве выходных реакций спецификации.

Два полуавтомата L и K назовём ioco-совместимыми (ioco-различимыми), если для них существует (не существует) общая полностью определённая ioco-реализация.

Пересечением полуавтоматов L и K назовём полуавтомат J = L П K = = (J, I, O U {Д}, j, Лj), где А Е I U O U {£}; j = (f, к); J С L x K — минимальное множество, полученное с использованием следующих правил для Лj: если (/, а, /') Е ЛL и (к, а, к') Е Лк, то ((/,к),а, (/',к')) Е ЛJ; если I и к — молчащие состояния, то

(/,к)Л (/, к) Е ЛJ.

Введём понятие ioco-различающего полуавтомата.

Для этого рассмотрим такой полуавтомат R = (R, I, O U {0},г,Л^), где

в Е I U O U {£}, в котором:

1) множество состояний R содержит три специальных тупиковых состояния ±L, ±к и ±;

2) для всякого r Е R \ {±, ±L, ±к} либо |in(r)| = 1, out(r) = {£} и [r] П n{±L, ±к, ±} = 0, где {i} = in(r), либо in(r) = 0 и out(r) = O U {в};

3) граф переходов полуавтомата R ациклический.

Пересечением полуавтомата L и полуавтомата R назовём связный полуавтомат J = L По R = (J, I, O U{e},f, Л j ), где j = (1, f), J С L x R — минимальное множество, полученное с использованием следующих правил для Лj: если (/, а, /') Е ЛL и (r, а, r') Е Лр,

о

то ((/, r), а, (/', r')) Е ЛJ; если / — молчащее и (r, в, r') Е Лк, то (/, r) (/, r') Е ЛJ.

Говорят, что полуавтомат R различает полуавтоматы L и K, если в пересечении J LR = L По R для всех тупиковых состояний (1, r) верно r = ^L, в то время как в пересечении Jkr = K По R для всех тупиковых состояний (k,r) верно r = ^к. Такой полуавтомат R будем называть ioco-различающим полуавтоматом для полуавтоматов L и K и обозначать Rlk.

Предлагается способ построения ioco-различающего автомата — алгоритм 1. В нём для J = LП K состояние (/, к) Е J называется 1-недоопределённым, если оно молчащее; состояние (/, к) Е J называется z-недоопределённым, если оно (z — 1)-недоопределённое или существует такое входное воздействие i Е inj((/, к)), что все состояния в множестве [(/, к)] являются (z — 1)-недоопределёнными, или для всех о Е out((/, к)) все состояния в [(1, к)]0 являются (z — 1)-недоопределёнными.

Алгоритм 1. Построение юео-различающего полуавтомата

Вход: Два детерминированных полуавтомата ^ = {Ь, I, О, /, Л^) и К = {К, I, О, к, Лк).

Выход: 1оео-различающий полуавтомат Я¿к, если ^ и К юео-различимы.

1: 3о := {±, }; Лр := 0; J := L П К.

2: Построим —множество 1-недоопределённых состояний, ^2 —множество 2-недо-определённых состояний, и так далее, пока Qz = ^г+1.

3: Если У г { / , к) € Qz, то

4: Исходные полуавтоматы юео-совместимы. Конец.

5: Пусть п - такое число, что { / , к) € Qra, но { / , к) € Qn-1.

6: г := п; 3„ := {{ /, к)}; 3„_1 := 0; /„-2 := 0; ...; Л := 0.

7: Пока (г > 0)

8: Для всех (] = {/,&) € 3;^)

9: Если ои^а) = 8 или Иоии(7) С Qz_1, то

10: Для каждого о € (О и {8}) \ (ои^(/) и ои1к(к)) добавим в множество Лр

переходы {а, о, ^), когда о = 8, и переход {а, 0, ^), когда о = 8.

11: Для каждого о € ои^(/) \ ои1к(к) добавим в множество Лр переходы

{а, о, ^¿), когда о = 8, и переход {а, 0, ^¿), когда о = 8.

12: Для каждого о € ои1к (к) \ ои^(/) добавим в множество Лр переходы

{а, о, ), когда о = 8, и переход {а, 0, ±к), когда о = 8.

13: Для каждого перехода {а, о, а') из Л7 добавим в множество Лр переход

{а, о, а'), а в множество 3^ —состояние а', где г' < г — такое число, что а' € Qz' и а' € Qz'_l;

14: иначе

15: Выберем такое произвольное * € т^(/) П тк(к), что [{/, к)]* С Qz_1.

16: Добавим в множество Лр переход {а,*,а') из Л7, а в множество 3^ —состоя-

ние а', где г' < г — такое число, что а' € Qz/ и а' € Qz/_1.

17: г := г - 1.

18: Я := и^З*.

19: Автомат Я¿к = {Я, I, О и {0}, Г, Лр) —искомый автомат. Конец.

Условный эксперимент по различению двух полуавтоматов L и К, для которых существует юео-различающий полуавтомат Я ¿к, строится следующим образом. В начальный момент полуавтомат Я ¿к находится в начальном состоянии г. Пусть полуавтомат Я ¿к перешёл в состояние г, в котором определён переход по некоторому входному символу *. В этом случае на предъявленный для эксперимента полуавтомат подаётся входное воздействие * и вычисляется новое состояние {г'} = [г ] полуавтомата Я ¿к. Если т(г) = 0, то ожидается выходная реакция от исследуемого полуавтомата. Если полуавтомат реагирует выходным символом о € О, то следующее состояние г' полуавтомата Я ¿к есть [г]0. Если реакцией исследуемого полуавтомата является молчание, то следующим состоянием полуавтомата Я ¿к является состояние из одноэлементного множества [г]#.

Эксперимент заканчивается, как только юео-различающий полуавтомат переходит в одно из специальных состояний ^¿, ±к или ±. Если полуавтомат Я ¿к достигает состояния ^¿, то предъявленным полуавтоматом является полуавтомат L; если полуавтомат Я ¿к достигает состояния ±к, то предъявленным полуавтоматом является полуавтомат К. Если полуавтомат Я ¿к достигает состояния ±, то предъявленный полуавтомат не является ни полуавтоматом L, ни полуавтоматом К.

Поскольку граф переходов полуавтомата Я ¿к ациклический, то условный эксперимент, описанный юсо-различающим полуавтоматом, является конечным.

Теорема 1. Два полуавтомата юсо-различимы тогда и только тогда, когда для них существует юсо-различающий полуавтомат.

Таким образом, два полуавтомата различимы условным экспериментом, если и только если эти автоматы являются юсо-различимыми.

2. Различающий условный эксперимент с недетерминированными автоматами

Под наблюдаемым конечным автоматом (или просто автоматом) с входным алфавитом I и выходным алфавитом О будем понимать пятёрку Г = {^, !,О,/,Лр), где ^ — непустое конечное множество состояний с выделенным начальным состоянием / ; I и О — непересекающиеся конечные алфавиты входных и выходных действий (символов) соответственно. Отношение Лр С ^ х I х О х ^ есть отношение переходов, причём если {/, г,о,/') € Лр и {/, г,о,/'') € Лр, то /' = /''. Отношение переходов естественным образом распространяется на входные и выходные последовательности, причём если {/, а, в,/') € Лр, то пара {а, в) называется входо-выходной последовательностью автомата в состоянии /, а в называется выходной реакцией автомата на входную последовательность а в состоянии /.

Введём следующие обозначения:

1) [/Но- — множество всех состояний, достижимых из состояния / по входо-выход-ной последовательности а (в наблюдаемом автомате |[/]о | ^ 1);

2) ои!(/, г) —множество всех выходных действий, переходы по которым в паре с входным действием г определены в состоянии /;

3) т(/) —множество всех входных символов, переходы по которым определены в состоянии /;

4) Гр — множество всех конечных входо-выходных последовательностей в начальном состоянии автомата Г.

Автомат Г называется полностью определённым, если для каждого его состояния / справедливо т(/) = I.

Полностью определённый автомат Г называется квазиредукцией автомата С, если для любой входо-выходной последовательности а из Г^ и любого входного символа г из т([г]о) верно следующее: оиЩ/]о,г) С оиЩ#]о,г).

Смысл отношения квазиредукции подобен смыслу отношения юсо: множество выходных реакций реализации на каждую допустимую входную последовательность содержится в соответствующем множестве выходных реакций спецификации.

Два автомата Г и С называются г-совместимыми (г-различимыми) [10], если для них существует (соответственно не существует) общая полностью определённая квазиредукция.

Пересечением двух автоматов Г и С называется автомат Н = Г П С = = {Н, I, О, Л,, Лн), где Л, = {/,г), Н С ^ х О — минимальное множество, полученное с использованием следующего правила для Лн: если {/, г, о, /') € Лр и {#,г,о,$') € Л^,

то {/',^')) € Лн.

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

Рассмотрим автомат Я = {Я, I, О, г, Лр), в котором:

1) множество состояний Я содержит три специальных тупиковых состояния ±р,

и ^;

2) для всякого г € Я \ {±Р, , ±} выполняется 11п(г) | = 1 и ои1(г, г) = О, где {г} = т(г);

3) граф переходов автомата Я — ациклический.

Говорят, что автомат Я различает автоматы Г и С, если в пересечении Нрр = Г П Я для всех тупиковых состояний {/, г) верно г = ^р, в то время как в пересечении Н= С П Я для всех тупиковых состояний {д,г) верно г = . Такой автомат Я

будем называть г-различающим автоматом для автоматов Г и С и обозначать Яр^.

Алгоритм 2 строит г-различающий автомат Яр^ для наблюдаемых недетерминированных, возможно частичных, автоматов Г и С, если последние г-различимы, и выдаёт сообщение (п. 4) о том, что Г и С не являются г-различимыми, в противном случае. В алгоритме используется следующее определение недоопределённых состояний из [12]. В автомате Н = ГП С состояние {/, д) € Н называется 1-недоопределённым, если существует входное воздействие г € тр(/) П (д), такое, что г € !пн({/, д)); оно называется г-недоопределённым для г > 1, если оно (г — 1)-недоопределённое или существует входное воздействие г € 1пр(/) П (д), такое, что все состояния в Н, достижимые из {/, д) по входному символу г, являются (г — 1)-недоопределёнными.

Алгоритм 2. Построение г-различающего автомата

Вход: Два наблюдаемых автомата Г = {^, I, О, / , Лр) и С = {О, I, О, д, Л^).

Выход: Я-различающий автомат Яр^, если Г и С г-различимы.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1: Но := {±, ±р, }; Лр := 0; Н := Г П С.

2: Построим Ql —множество 1-недоопределённых состояний, Q2 —множество 2-недо-определённых состояний, и так далее, пока Qj• = Qj+1.

3: Если уа {/ , д) € Qj, то

4: исходные автоматы не г-различимы. Конец.

5: Пусть п — такое число, что {/ , д) € Qn, но {/ , д) € Qn_1.

6: г := п; Н„ := {{/ ,д)}; Н„_1 := 0; Н„_2 := 0; ...; Н := 0.

7: Пока (г > 0)

8: Для всех (Л = {/, д) € Hz)

9: Выберем такое произвольное г € тр(/) П (д), что для всех о € О выполня-

ется [Л]*/0 С Qz_l.

10: Для каждого о € О \ (ои1р(/, г) и ои^(д, г)) добавим в множество Лр пере-

ходы {Л, г, о, ±).

11: Для каждого о € ои!р(/, г) \ ои^(д,г) добавим в множество Лр переходы

±р).

12: Для каждого о € ои^(д,г) \ ои1р(/, г) добавим в множество Лр переходы

{Л, г, о, ).

13: Для каждого перехода {Л, г,оЛ') из Лн добавим в множество Лр переход

{Л, г,оЛ'), а в множество Ну —состояние Л', где г' < г — такое число, что Ы € Qz/, но Ы € Qz/_1.

14: г := г — 1.

15: Я := иП=0Н.г.

16: Автомат Яр£ = {Я, I, О, г, Лр) —искомый автомат. Конец.

Пусть для различения предъявлен один из автоматов Г или С, для которых существует г-различающий автомат Яр^, или какой-то другой автомат. Условный эксперимент с использованием автомата Яр^ строится следующим образом. В начальный момент времени автомат Яр^ находится в начальном состоянии г. Если автомат Яр^ находится в текущем состоянии г, в котором определён переход по входному символу г € I, то на предъявленный для эксперимента автомат подаётся входной символ г. Предъявленный автомат реагирует на входной символ некоторым выходным символом о € О, на основании которого вычисляется следующее состояние г-различающего автомата Яр^ и следующий входной символ. Эксперимент заканчивается, как только г-различающий автомат переходит в одно из специальных состояний ±р, или ±. Если г-различающий автомат Яр^ достигает состояния ±р, то предъявленным автоматом является автомат Г; если г-различающий автомат Яр^ достигает состояния , то предъявленным автоматом является автомат С. Если автомат Яр^ достигает состояния ±, то предъявленный автомат не является ни автоматом Г, ни автоматом С. Поскольку граф переходов автомата Яр^ ациклический, то условный эксперимент на основе г-различающего автомата является конечным.

Теорема 2. Два автомата г-различимы тогда и только тогда, когда для них существует г-различающий автомат.

Таким образом, два автомата различимы условным экспериментом, если и только если эти автоматы являются г-различимыми.

3. Различающий условный эксперимент с временными автоматами

Наблюдаемый временной автомат V (или просто временной автомат) есть шестёрка {V, I, О, V, ЛV, АV) , где V — конечное непустое множество состояний с выделенным начальным состоянием V; I и О — непересекающиеся конечные входной и выходной алфавиты соответственно; Лv С V х I х О х V — отношение переходов, причём если {и,г,о, V') € ЛV и {^,г,о,^'') € ЛV, то V' = V''; АV : V ^ V х N и {то}, где N — множество натуральных чисел, причём если Аv(V) = {V', то), то V = V'. Как обычно,

переход {V, г, о, V') записывается как V —^ V', а равенство А V(V) = {и'', ¿) — как переход

V V'', и этот переход будем называть переходом по временной задержке ¿.

С каждым временным автоматом V связаны часы (или таймер), отмеряющие количество (временных) тактов, прошедших после выдачи системой последнего выходного символа. Для измерения времени вводится специальная временная переменная. Предполагается, что изменения в системе происходят только по истечении некоторого целого количества тактов от начала работы системы, то есть в начальный момент времени, через один такт, через два такта и так далее. При этом, чтобы избежать неопределённости, входные воздействия разрешается подавать только в эти моменты

времени. Если V —-^ V', то временной автомат V, находясь в состоянии V, может принять входное воздействие г и отреагировать на него выходным действием (сигналом) о, в тот же момент временной автомат перейдёт в состояние V' и «сбросит» часы, то есть в состоянии V' время вновь начнёт отсчитываться с 0. Если V V'' и ни одно из возможных входных воздействий не поступает на временной автомат в течение (¿' — 1) тактов после перехода временного автомата в состояние V, то в момент времени ¿' временной автомат перейдёт в состояние V'' и «сбросит» часы, то есть в состоянии V'' время начнёт отсчитываться с 0. Здесь мы предполагаем, что если Аv(V) = {V, то), то система может оставаться в состоянии V бесконечно долго.

Другими словами, если входное воздействие г подаётся на временной автомат в состоянии V в один из моментов времени 0, 1, 2, ..., £' — 1, то временной автомат выдаст выходной сигнал о и мгновенно изменит своё состояние на состояние V'. Однако, если воздействие г на временной автомат в состоянии V будет подано в момент £' или позже, то временной автомат примет его, находясь уже не в состоянии V, а в состоянии V'',

х! - ^ //

поскольку в момент времени £ временной автомат, руководствуясь переходом V V , перейдёт в состояние V''. При этом временной автомат «сбросит» часы, и воздействие, поданное в момент времени £', поступит на временной автомат в состоянии V'' в момент времени 0.

Временным входным воздействием назовём пару {г,£) € I х Z+, где Z+ — множество целых неотрицательных чисел. Пара {г,£) означает, что входное воздействие г поступает на временной автомат в состоянии V в момент времени £, считая от момента перехода временного автомата в состояние V.

Чтобы определить выходную реакцию временного автомата в состоянии V на входное временное воздействие {г,£), необходимо определить такое состояние V', в которое временной автомат попадёт из состояния V за время £, используя переходы по временным задержкам. Затем, согласно отношению Лv, найти переход из состояния V'

по входному воздействию г, то есть переход V' —-^ V''. Выходная реакция о будет выходной реакцией временного автомата в состоянии V на временное входное воздействие {г, £), а состояние V'' — конечным состоянием перехода по временному входному воздействию {г, £). Понятие переходов по временным входным воздействиям естественным образом распространяется на временные входные и выходные последовательности, причём если V V', где а € (I х х О)*, то а называется временной входовыходной последовательностью временного автомата в состоянии V.

Введём следующие обозначения:

1) [V]о — множество всех состояний, достижимых из состояния V по временной входо-выходной последовательности а (в наблюдаемом временном автомате Мо1 ^ 1);

2) ои1^, г) —множество всех выходных символов о € О, для каждого из которых существует такое V € V, что {и,г,о, V') € ЛV;

3) ои1^, {г,£)) —множество всех выходных реакций временного автомата на временное входное воздействие {г,£) в состоянии V;

4) ш (V) —множество всех входных действий, переходы по которым определены в состоянии V;

5) тх^) —множество всех временных входных действий, переходы по которым определены в состоянии V;

6) ГV — множество всех конечных временных входо-выходных последовательностей временного автомата V в начальном состоянии.

Временной автомат V называется полностью определённым, если для каждого его состояния V справедливо т^) = I.

Полностью определённый временной автомат и называется квазиредукцией временного автомата V, если для любой временной входо-выходной последовательности а из ^ и всякого временного входного воздействия {г,£) из тх(^]о) верно следующее: если [и]о = 0, то оиЩЩо, {г, £)) С ои^^о, {г,£)).

Два временных автомата называются г-совместимыми (г-различимыми), если для них существует (соответственно не существует) общая полностью определённая квазиредукция.

Для построения условного эксперимента, различающего два временных автомата, определим понятие пересечения этих автоматов. Для этого введём следующее обозначение: А'и = {£ € | Аа(и) = {и',£), и, и' € и}. Пересечением временных автома-

тов и и V назовём временной автомат М = {Ж, I, О, г, Л^, А^), где г = {и, 0,г, 0), К = {0,1,... , к0}, к0 = шт(шах(А'а), шах(А^)) и Ж С и х К х V х К — минимальное множество, полученное согласно следующим правилам для отношения Л^ и функции А№: если {и,г,о,и') € Ли, {и,г,о^') € Лv, {в«,^«) = Аа(и), {^^, ¿«) = Аv(V), к1 < , к2 < ^, к = шт(^щ — к1, ^ — к2), то {{и, к1, V, к2), г, о, {и', 0, V', 0)) € Л^ и

{{{зщ, 0, ^, 0), к), если = то V ^ = то V — к1 = ^ — к2;

{{зи, 0, V, к2 + к), к), если € ^+, ^ € ^+, (¿„ — к1) < (¿„ — к2);

{{и, к1 + к, ^, 0), к), если € ^+, ^ € ^+, (¿щ — к1) > (¿„ — к2).

Рассмотрим произвольный временной автомат Я = {Я, I, О, г, Лр, Ар), в котором:

1) множество состояний Я содержит три специальных состояния ^ V и ^, таких, что из них не определено ни одного перехода по входо-выходным парам и Ар(^) = {^> то), Ар(^и) = {^и, то), Ар(^V) = {ІV, то);

2) для всякого г € Я \ {±а, ^V, ^} выполняется либо |1п(г)| = 1 и ои1(г, г) = О,

где {г} = т(г), и в этом случае Ар(г) = {^,£), £ € N либо т(г) = 0, и в этом случае Ар(г) = {г',£), £ € N г' € {^, ^};

3) граф переходов автомата Я ациклический, не считая петель ± —> ±, ±а —¥ ^а

I — I

и ±V ---> ^V.

Пусть построены пересечения М ар = и П Я и М Vp = V П Я. Для первого из них подмножество состояний {{и,ки,г, кг) € Жар | т({и,ки, г, кг)) = 0} обозначим Ж', а для второго — подмножество состояний {{у,к^, г, кг) € | т(^,к^, г, кг)) = 0}

обозначим Ж''. Говорят, что временной автомат Я различает временные автоматы и и V, если выполняются следующие условия:

1) в подмножестве Ж' найдутся состояния, для которых г = ±а;

2) для всех состояний из Ж' верно г = ±V;

3) если для какого-то состояния из Ж' верно ({и, кщ,г, кг)) = {{«',&«, ±, ),£)

для некоторого £, то г = ^;

4) все переходы, ведущие в состояния вида {и, ки, ^,&х) пересечения Мар, помечены только временными задержками;

5) в подмножестве Ж'' найдутся состояния, для которых г = iv;

6) для всех состояний из Ж'' верно г = ±и;

7) если для какого-то состояния из Ж'' верно А^(^,к^, г, кг)) = {{у',^, ^, ),£)

для некоторого £, то г = ^;

8) все переходы, ведущие в состояния вида {V, , ^,&х) пересечения Мvp, помечены только временными задержками.

Такой временной автомат Я будем называть г-различающим временным автоматом для временных автоматов и и V и обозначать Яuv.

Алгоритм 3 описывает построение г-различающего временного автомата по пересечению двух временных автоматов с использованием следующего понятия недоопре-делённых состояний.

Состояние г = {и, , V, ) пересечения М = иП V называется 1-недоопределённым, если найдётся такой входной символ г из та(и') П inv(V'), по которому нет ни одного перехода из состояния г. Кроме того, состояние называется 1-недоопределённым,

если из него можно перейти в другое 1-недоопределённое состояние по временной задержке. Состояние т пересечения М называется г-недоопределённым, г > 1, если оно (г — 1)-недоопределённое или найдётся такой входной символ г € т((и, ки, г, )), что все состояния, достижимые из т по входному символу г, являются (г — 1)-недоопределёнными. Кроме того, состояние т будет г-недоопределённым и в случае, когда из него по временной задержке достижимо некоторое г-недоопределённое состояние.

Алгоритм 3. Построение г-различающего временного автомата

Вход: Два наблюдаемых временных автомата и = (и, I, О, и, Ли, А у) и

V = (У,1,О,),Лу, Ау).

Выход: Д-различающий временной автомат Яуу, если и и V г-различимы.

1: Щ := {^, ^у, ^у}; Лр := 0; М := и П V.

2: Построим —множество 1-недоопределённых состояний, ^2 —множество 2-недо-определённых состояний, и так далее, пока ^

3: Если V; (и, 0,г,0) Е ^, то

4: исходные временные автоматы г-совместимы. Конец.

5: Пусть п — такое число, что (и, 0,г, 0) € ^га, но (и, 0,г, 0) Е фп-1.

6: г := п; Щ := {(и, 0,г, 0)}; Щ*-1 := 0; Жп-2 := 0; ...; Щ := <0.

7: Пока (г > 0)

8: Для всех (т = (и, ки, г, Щ)

9: Если для всех г € ту(и) П ту(г) и всех о € О выполняется [т]^/0 С ^г-1, то

10: Положим Ар(т) := (т',£)), где (т',£) = А^(т).

11: Добавим состояние т' в множество ;

12: иначе

13: Выберем такое произвольное г € ту(и) П ту(г), что для всех о € О выпол-

няется НЬ/0 с Ог-1.

14: Для каждого о € О \ (ои1у(и, г) и ои1у(г, г)) добавим в множество Лр

переходы (т,г,о, ^).

15: Для каждого о € ои^(и, г) \ ои1у(г, г) добавим в множество Лр переходы

(т,г,о, ±у).

16: Для каждого о € ои!у(г, г) \ ои1у(и, г) добавим в множество Лр переходы

(т,г,о, ±у).

17: Для каждого перехода (т, г, о, т') из Л^ добавим в множество Лр переход

(т,г,о,т'), а в множество Жг/ —состояние т', где г' < г — такое число, что т' € фг/, но т' € ^г/-1.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

18: Если А№(т) = (т, то), то положим Ар(т) := (^, 1), иначе если А^(т) =

= (т'',£) € Ж х М, то положим Ар (т) := (±,£).

19: г := г — 1.

20: Д := иП=еЖг.

21: Временной автомат Яуу = (Д, I, О, ), Лр, Ар) —искомый временной автомат. Конец.

Пусть для различения предъявлен один из временных автоматов и или V, для которых существует г-различающий временной автомат Яуу. Условный эксперимент с использованием автомата Яуу строится следующим образом. В начальный момент значение переменной £ равно 0, а Я уу находится в начальном состоянии ). Пусть £ = О

и временной автомат Ruv находится в состоянии r, в котором определён переход по входному символу i G I .В этом случае на предъявленный для эксперимента временной автомат подаётся входной символ i в момент времени t, D ^ t < D + dr, где dr — значение временной задержки в состоянии г (время отсчитывается от момента получения последней выходной реакции предъявленного для эксперимента временного автомата). Предъявленный временной автомат реагирует на входной символ некоторым выходным символом о, на основании которого вычисляется следующее состояние r-различающего временного автомата R uv , значение переменной t обнуляется. Если в текущем состоянии г-различающего временного автомата не определён переход по любому входному символу, то к значению D переменной t прибавляется величина временной задержки в текущем состоянии, и следующее состояние г-различающего временного автомата R uv вычисляется по значению Ar (г). Эксперимент заканчивается, как только r-различающий временной автомат переходит в одно из специальных состояний или . Если r-различающий временной автомат Ruv достигает состояния ± и, то предъявленным временным автоматом является временной автомат U; если r-различающий временной автомат Ruv достигает состояния , то предъявленным временным автоматом является временной автомат V.

Поскольку граф переходов временного автомата Ruv ациклический (за исключением петель с пометками то) и в каждом состоянии, в котором не определён переход по любому входному символу, задержка является конечной, то условный эксперимент, описанный r-различающим временным автоматом, является конечным.

Теорема 3. Два временных автомата r-различимы тогда и только тогда, когда для них существует r-различающий временной автомат.

Таким образом, два временных автомата различимы условным экспериментом, если и только если они r-различимы.

Заключение

В данной работе установлены необходимые и достаточные условия существования условных экспериментов, различающих два входо-выходных полуавтомата, два недетерминированных, возможно частичных, конечных автомата или два недетерминированных временных автомата. Они сводятся к существованию надлежащих различающих автоматов. Приведены алгоритмы построения последних (в случае их существования) и условных раличающих экспериментов на их основе. Полученные результаты могут быть использованы как при синтезе условных (адаптивных) тестов с гарантированной полнотой для дискретных управляющих систем, так и для диагностики неисправностей в таких системах.

ЛИТЕРАТУРА

1. Milner R. Communication and concurrency Upper Saddle River: Prentice-Hall, Inc., 1989.

2. Hierons R. M. Testing from a Nondeterministic Finite State Machine Using Adaptive State Counting // IEEE Trans. Comput. 2004. V. 53. No. 10. P. 1330-1342.

3. Simao A., Petrenko A. Generating Checking Sequences for Partial Reduced Finite State Machines // TestCom ’08 / FATES ’08. Berlin: Springer Verlag, 2008. P. 153-168.

4. Shabaldina N., El-Fakih K., Yevtushenko N. Testing Nondeterministic Finite State Machines with Respect to the Separability Relation // Testing of Software and Communicating Systems. Berlin: Springer, 2007. P. 305-318.

5. Merayo M., Nunez M., Rodriguez I. Formal Testing from Timed Finite State Machines // Computer Networks. 2008. V. 52. No. 3. P. 432-460.

6. Alur R., Courcoubetis C., Yannakakis M. Distinguishing tests for nondeterministic and probabilistic machines // STOC’95. New York: ACM, 1995. P. 363-372.

7. Gromov M., Willemse T. Model-Based Testing Techniques for Diagnosis // Testing of Software and Communicating Systems. Berlin: Springer, 2007. P. 138-154.

8. Gill A. Introduction to the theory of Finite-State Machines. New York: McGraw-Hill, 1962.

9. Tretmans J. Test Generation with Inputs, Outputs and Repetitive Quiescence // Software — Concepts and Tools. 1996. V. 17. No. 3. P. 103-120.

10. Евтушенко Н. В., Петренко А. Ф., Ветрова М. В. Недетерминрованные автоматы: Анализ и синтез. Ч. 1. Отношения и операции: учеб. пособие. Томск: Томский госуниверситет, 2006. 142 с.

11. Gromov M., Popov D., Yevtushenko N. Deriving test suites for timed Finite State Machines // Proceedings of IEEE East-West Design & Test Symposium’08, Kharkov: SPD FL Stepanov V. V., 2008. P. 339-343.

12. Куфарева И. Б. Применение недетерминированных автоматов в задачах синтеза проверяющих тестов для систем логического управления: автореф. дис. ... канд. техн. наук. Томск: Томский госуниверситет, 2000. 16 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.