СПИСОК ЛИТЕРАТУРЫ
1. Lin C.J., Reddy S.M. On Delay Fault Testing in Logic Circuits // IEEE Transactions on Computer-Aided Design. - 1987. - V. 6. -№ 5. - P. 694-503.
2. DevadasS., KeitzerK. Synthesis of Robust Delay-Fault-Testable Circuits: Theory // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. - 1992. - V. 11. - № 1. -P. 87-101.
3. Kohavi Z., Kohavi I. Detection of Multiple Faults in Combinational Logic Networks // IEEE Transactions on Computers. - 1972. -V. 21. - № 6. - P. 556-568.
Поступила 08.02.2010г.
УДК 618.5:519.68
СИНТЕЗ ТЕСТОВ С ГАРАНТИРОВАННОЙ ПОЛНОТОЙ ДЛЯ ВРЕМЕННЫХ АВТОМАТОВ
М.В. Жигулин, И.М. Дмитриев, Н.В. Евтушенко
Томский государственный университет E-mail: [email protected]
Предложен алгоритм построения полного проверяющего теста для временного автомата относительно модели «черного ящика». Предполагается, что в проверяемом автомате известны только верхняя оценка числа состояний и величина максимальной конечной задержки в состоянии. Полный тест строится по автомату-спецификации без перебора проверяемых автоматов.
Ключевые слова:
Временной конечный автомат, задержка по времени, полный проверяющий тест. Key words:
Timed finite state machine, timeout, complete test suite.
Введение
Одной из современных проблем диагностики является тестирование телекоммуникационных систем, работающих в режиме реального времени. Для описания поведения таких систем была предложена модель временного конечного автомата [1, 2], которая, кроме переходов под действием внешних входных воздействий, описывает переходы по задержке: если в некотором состоянии автомата в течение определенного периода времени отсутствуют входные воздействия, то автомат переходит в другое состояние. В модели также учитывается временная задержка для выходной реакции автомата на полученное входное воздействие. Тот факт, что проверяемая система должна выдавать только выходные последовательности, предписанные спецификацией, формально описывается отношением /-эквивалентности между временными автоматами.
В работе предлагается метод построения полного проверяющего теста относительно модели «черного ящика», т. е. для случая, когда проверяемая система имеет не больше состояний, чем спецификация, и максимальная конечная задержка в состоянии не превышает таковую в спецификации. Кроме того, показано, что такой тест также обнаруживает несоответствие проверяемой системы спецификации по времени обработки входных воздействий. В нашей работе мы рассматриваем инициальные автоматы, т. е. предполагается, что спецификация и проверяемая система обладают ис-
правным сигналом сброса, который переводит систему в начальное состояние из любого состояния.
1. Определения
В данном разделе мы вводим определение автомата, который явно учитывает временные аспекты. В каждом состоянии автомат может иметь временную задержку (таймаут): если по истечении тай-маута на автомат не поступило ни одного входного воздействия, то автомат переходит в другое (предписанное) состояние. Кроме того, в явном виде задается временная задержка для выходной реакции после поступления входного воздействия. Как обычно, N используется для обозначения множества натуральных чисел; 2+ обозначает множество неотрицательных целых чисел; точка '.' между двумя символами обозначает конкатенацию.
Временным автоматом [1, 2] (или просто автоматом в данной работе) называется семерка А=(5^0,1,О,А,А,ДА,аА), где £ - конечное непустое множество состояний с выделенным начальным состоянием s^l, I и 0 - конечные непересекающиеся входной и выходной алфавиты, -отношение переходов, ДА: ¿'^•б'х^и{<»}) - функция задержки, определяющая время, по истечении которого состояние автомата должно измениться, если на автомат в текущем состоянии не поступил ни один входной символ, функция <7А:АА^2 определяет время задержки выходного символа после подачи входного воздействия на соответствующем переходе. Если Д^^да, то предполагается, что
автомат в состоянии s может ожидать поступления входного воздействия бесконечно долго. В данной работе мы рассматриваем только полностью определенные детерминированные автоматы. Иными словами, для каждой пары (s,i)eSxI существует в точности одна пара (o,s)eOxS такая, что (s,i,o,s) бЯА. Поэтому функция аА может быть определена как отображение множества SxI в множество Z+.
Примером системы, поведение которой описывается с помощью такого временного автомата, может служить Philip's Bounded Retransmission Protocol (BRP). Данный протокол предназначен для отправки информации (файлов) от передатчика к приемнику через выделенные каналы связи с потерями. Передача данных происходит частями (пакетами). На передачу каждого пакета отводится определенное количество времени. Если за выделенное время после отправки данных от получателя не приходит подтверждение, то считается, что произошла потеря пакета. Попыток передачи пакета приемнику может быть несколько. Если после всех попыток подтверждение так и не пришло, то считается что канал связи неисправен, и передача данных по нему невозможна. В работе протокола участвуют четыре основных устройства: приемник, передатчик, канал связи от приемника к передатчику и канал связи от передатчика к приемнику.
Опишем работу передатчика при помощи модели временного автомата с задержками (рис. 1). В начальном состоянии (в состоянии init) на вход автомата поступает файл, который затем разбивается на пакеты определенной длины, и автомат переходит в состояние next. В этом состоянии автомат отправляет первый пакет приемнику и увеличивает значение переменной, соответствующей числу попыток передачи текущего пакета, на единицу. Автомат переходит в состояние wait, где в течение T1 тактов ожидается ответ от приемника. Если за время T ответ не пришел, то автомат возвращается в состояние next и производит следующую попытку передачи. Если после допустимого максимального числа попыток ответа от приемника не поступило, то автомат переходит в состояние err с выходным символом I_DK (передача файла оборвалась на последнем пакете) или I_NOK (передать файл не удалось). В этом состоянии система ожидает время TSYNC для синхронизации соединения с другими устройствами и вновь переходит в состояние init. Если в состоянии wait, ответ от приемника пришел за время, меньшее Тъ то автомат переходит в состояние succ. Если передаваемый пакет был не последним, т. е. остались пакеты для передачи, то автомат из состояния succ переходит в состояние next и передает следующий пакет приемнику. Если все пакеты были переданы, то автомат из состояния succ переходит в состояние init с вход-выходным символом null/I_OK (передача файла завершена).
Автомат, представленный на рис. 1, является временным недетерминированным частичным ав-
томатом. Причиной недетерминизма является тот факт, что описание протокола содержит так называемые контекстные переменные (наибольшее допустимое число попыток передачи, флаг для определения того, является ли пакет последним). Более подробное описание протокола, учитывающее значения этих переменных, будет детерминированным автоматом. Если в некотором состоянии не определен переход по некоторому входному символу, то, как обычно предполагается, что автомат остается в этом состоянии с выходным символом ignore. Таким образом, поведение BRP передатчика можно описать временным детерминированным полностью определенным автоматом.
Рис. 1. Временной автомат, описывающий поведение BRP передатчика
Поскольку поведение временного автомата зависит не только от входного воздействия, но и от времени подачи этого воздействия, вводится понятие временного входного символа. Временным входным символом называется пара (/,t)e/xZ+. Временной входной символ (г,/) означает, что входной символ I поступает на вход автомата в /-й такт времени после появления выходной реакции на предыдущее входное воздействие. Для того чтобы определить выходную реакцию автомата на временной входной символ (г,/) в состоянии s, необходимо вычислить в каком состоянии будет находиться автомат в /-й момент времени после перехода автомата в состояние Введем в каждом состоянии автомата А отображение TЛ:SxZ+По определению, ГЛ(5,0)=5 для любого состояния 5. Воспользовавшись функцией ДА, можно определить состояние 5=7А(5,0 как состояние, достижимое из состояния 5 по задержкам, пока сумма задержек из состояния 5 меньше /, и становится >/, если прибавить задержку в состоянии Тогда во временном автомате существует временной переход (5,(г,/),о,5 ), если и только если существует переход (ГЛ(5,0,/,о,5 ). Таким образом, выходная реакция временного автомата в состоянии 5 на временной входной символ (г,/) (обозначение: ои/Л(5,(/,0)) есть выходной символ автомата в состоянии ГЛ(5,0 на входной символ г.
Последовательность из временных входных символов называется временной входной последовательностью, и, как обычно, поведение временного авто-
мата расширяется на временные входные и выходные последовательности. Пусть задана временная входная последовательность а=(/1,/1).(/2,/2).... .(4,4) и 3=о1.о2. ... ок - последовательность в выходном алфавите временного автомата. Четверка если и только если во временном автомате существует последовательность переходов (яД,^^), ^1,(уг),о^г), ... ^кЛ,(ук),ок^). В этом случае говорят, что временной автомат А в состоянии ^ выдает (производит) выходную последовательность ¡3 на временную входную последовательность а, и состояние я' достижимо из состояния я по временной входной последовательности а. Пара а/3 называется функциональной временной вход-выходной последовательностью автомата в состоянии я. Множество всех функциональных вход-выходных последовательностей автомата л в состоянии я обозначается /ТТг^). Выходную последовательность автомата А в состоянии я на временную входную последовательность а будем обозначать ои4($,а).
Состояние автомата А, достижимое из начального состояния по некоторой временной входной последовательности, называется ¡г-состоянием. По определению, начальное состояние является ¡г-со-стоянием, т. к. оно достижимо по пустой входной последовательности (иными словами, это состояние достижимо после подачи сигнала сброса). Автомат называется связным, если каждое состояние / этого автомата является ¡'г-состоянием или существуют ¡г-состояние я и такое 4 что ТА(я,()=я'. Состояние связного автомата, которое не является ¡г-состоянием, т. е. достижимо из некоторого ¡г-со-стояния только по задержкам, называется ¡иг-со-стоянием.
При построении проверяющих тестов с гарантированной полнотой обычно предполагается, что для описания поведения спецификации системы и ее реализации используется одна и та же математическая модель. В нашей работе мы полагаем, что поведение спецификации и любой реализации (возможно, с ошибками) описано некоторым полностью определенным детерминированным временным автоматом. Поэтому выходная реакция конформной реализации системы на каждую временную входную последовательность должна совпадать с выходной реакцией спецификации на эту последовательность. Для формального описания такого соответствия вводится отношение /-эквивалентности. При введении этого отношения нет необходимости учитывать задержку выходного символа после подачи входного воздействия, поэтому в разделах 2 и 3 временной автомат рассматривается как шестерка (£,50,/,ОДЛ,ДЛ).
Пусть Л=(6>0,/ААЛ,ДЛ) и В=(Р,р0,/ДАВ,ДВ) -временные автоматы. Состояния я автомата Л и р автомата В /-эквивалентны, если для любой временной последовательности а справедливо ои4($,а)=ои4(р,а), т. е. ¥ТТгА(я)=¥ТТгВ(р). В противном случае состояния я и р называются /-разли-
чимыми. Временной автомат Л называется /-приведенным, если любые два различных состояния автомата /-различимы. Автоматы Л и В /-эквивалентны, если /-эквивалентны их начальные состояния. Если автоматы Л и В /-различимы, то временная входная последовательность а такая, что оШЛ(я0,а)фоШВ(р0,а) называется /-различающей последовательностью автоматов Л и В.
2. Проверка ^-эквивалентности
двух временных автоматов
Рассмотрим временной автомат Л=(^,50,/,0,ЯЛ, ДЛ). Подобно [3], для того чтобы сформулировать необходимые и достаточные условия /-эквивалентности, мы используем понятие к-/-эквивалентных состояний. Состояния 51,,% е$ называются 1-/-экви-валентными, если для любой временной входной последовательности а=(г\,0) ... (¡„0) справедливо: оШ^а^оШ^а). Если состояния и не являются 1-/-эквивалентными, то существует временная входная последовательность а=(4,0) ... (¡,0) такая, что оШ^а^оШ^а), т. е. последовательность а /-различает состояния и я2.
Утверждение 1. Если состояния автомата Л не являются 1-/-эквивалентными, то эти состояния являются /-различимыми.
Проверить, являются ли два состояния 1-/-эк-вивалентными, можно используя классические методы из теории автоматов, удалив из временного автомата все переходы по задержкам. Однако 1-/-эквивалентности недостаточно для /-эквивалентности двух состояний.
Рассмотрим автомат Л, изображенный на рис. 2. Достаточно просто убедиться, что состояния 0 и 1 являются 1-/-эквивалентными. Однако если в состоянии 0 после двух тактов времени ни одно входное воздействие (а или Ь) не поступило, то автомат перейдет в состояние 2. Если же такая ситуация имеет место в состоянии 1, то автомат останется в состоянии 1. Состояния 1 и 2 /-различимы входным символом (а, 0), т. е. состояния 0 и 1 окажутся различимыми, если подать входной символ а в момент времени 2, т. е. состояния 0 и 1 /-различимы временным входным символом (а, 2).
Рис. 2. Временной автомат A
Состояния s1 и s2 являются k-f-эквивалентными, если эти состояния (к-1)—-эквивалентны, и для любой входо-выходной пары i/o и времени t, спра-
ведливо: //о-преемники состояний и 52 и состояния Т^,/) и ТА(52,0 являются ^-^-/-эквивалентными.
Утверждение 2. В автомате А состояния 5ь52еБ являются /-эквивалентными, если и только если состояния и 52 являются ^-/-эквивалентными для любого к>1.
Следствие 1. Пусть 5;,52еБ суть /-эквивалентные состояния автомата А. Тогда для любого такта времени / состояния Гл(5ь0 и 7А(52,0 являются /-эквивалентными, и для любого временного входного символа (/,/) и оеои^ДО) преемники состояний 5 и 52 по вход-выходному символу ((/, О/о) являются /-эквивалентными.
Следствие 2. Пусть 5;,52еБ суть /-эквивалентные состояния полностью определенного детерминированного временного автомата Б. Тогда любая временная вход-выходная последовательность из множества ^7,7>л(51)=^7,7>л(52) переводит автомат А из состояний 5 и 52 в /-эквивалентные состояния.
Утверждение 3. Связные приведенные автоматы А и В являются /-эквивалентными, если и только если существует взаимно однозначное отображение к: Б^Ртакое, что к(50)=р0 и для любого состояния 5еБ, для каждого перехода 5 и каждого перехода 5 //о автомат В имеет переходы ВД —и к(з) —^к(я).
3. Построение проверяющего теста
с гарантированной полнотой
Согласно классической теории автоматов [3], полный проверяющий тест можно построить только при условии, что множество рассматриваемых неисправностей ограничено, т. е. известны некоторые свойства проверяемого автомата. В данной работе мы предполагаем, что неисправность не увеличивает число состояний в реализации, т. е. каждый проверяемый автомат имеет не больше состояний, чем автомат-спецификация. Проверяемая система считается исправной, если автомат, описывающий ее поведение (проверяемый автомат), является /-эквивалентным автомату-спецификации, и на каждую временную входную последовательность проверяемая система реагирует с быстротой, предписанной автоматом-спецификацией.
3.1. Синтез теста для проверки /-эквивалентности
Пусть А=(Б,50,1,О,ХА,АА) - автомат-спецификация; автомат А имеет п состояний и является связным и приведенным, и вА есть максимальное конечное значение таймаута в состояниях автомата А. Мы предполагаем, что неисправность не увеличивает число состояний по сравнению со спецификацией, и максимальная конечная задержка в состоянии не превосходит таковую в спецификации, т. е. проверяемый автомат есть некоторый автомат В из множества Зп(0А): автомат В имеет не более п состояний, входной и выходной алфавиты I и О и максимальную конечную задержку вА в каждом из
состояний. Проверяющие тесты при использовании такой модели неисправности (модели «черного ящика») строятся на основе установления соответствия между состояниями и переходами эталонного и проверяемого автоматов [4, 5] (аналог метода Василевского (Ж-метода). Поскольку в этом случае проверяются все переходы в системе, то тесты, построенные для этой модели, являются достаточно качественными. В случае, когда число состояний проверяемого автомата не больше числа состояний автомата-спецификации, все такие методы доставляют тесты полиномиальной длины относительно числа состояний.
В данной работе мы кратко описываем построение таких проверяющих тестов для временных автоматов.
Для различения состояний проверяемого автомата используются /-различающие последовательности. Множество Ж временных входных последовательностей называется множеством различимости автомата А, если для любых двух различных состояний и 5 существует временная входная последовательность уе Ж, которая /-различает ^ и 5/, т. е. ои/Ду^ои^Цу). Такие последовательности можно достаточно просто построить на основе так называемого /-пересечения [2], и мы не останавливаемся на построении таких последовательностей.
Проверяющий тест есть конечное множество конечных временных входных последовательностей. Тест ТБ называется (п,0А)-полным для автомата А, если для каждого автомата ВеЗп(6А), который не является /-эквивалентным автомату А, существует ае ТБ, /-различающая автоматы А и В.
Для каждого /г-состояния 5 автомата А, построим временную входную последовательность а, которая переводит автомат А из начального состояния в состояние 5. Префикс замкнутое множество таких последовательностей есть множество достижимости V для /г-состояний спецификации. На первом шаге мы проверяем, что каждая из этих последовательностей переводит проверяемый автомат в новое состояние, т. е. после каждой из таких последовательностей мы подаем множество различимости и получаем первую часть ТБ; проверяющего теста.
Для каждого /иг-состояния определим /г-со-стояние 5 такое, что через ттактов существует переход из состояния 5 в состояние 5' по задержкам, т. е. если в течение ттактов на автомат в состоянии 5 не было подано ни одного входного воздействия, то автомат перейдет в состояние 5'. По множеству различимости Жмы строим Жт, заменяя первый входной символ (/, /) каждой последовательности в Ж на входной символ (/,/+т). Объединение множеств а; Жт для всех /иг-состояний, есть вторая часть ТБ2 проверяющего теста.
Если проверяемый временной автомат В правильно реагирует на все последовательности множества ТБ;иТБ2, то проверяемый автомат имеет п различных состояний, причем любые два различ-
ных состояния не являются /-эквивалентными, т. к. в этих состояниях автомат В имеет различные выходные реакции на последовательности из множества Ж. Соответственно, через к мы обозначаем взаимно однозначное отображение к: З^Р такое, что для любого яеЗ и любого р еР автоматы имеют одинаковые реакции на все последовательности из множества Ж, если и только если р=к(я).
Теперь для построения полного проверяющего теста необходимо для каждого состояния я проверить все переходы из этого состояния под действием входных символов (/,0) и убедиться, что задержка в проверяемом автомате соответствует задержке в спецификации. Иными словами, необходимо проверить, что если (s,/,o,s>еhл, то и (k(s),/,o,k(s>)еAB и Ал(я)1и=Ав(к(я))1и и к(Ал(я)1з)=Ав(к(я))1р.
Для того чтобы проверить переход из /г-состоя-ния я под действием временного входного символа (/,0), в тест включаются последовательности а/(/,0).Ж, аАеУ. Для каждого шг-состояния я', определяется /г-состояние я такое, что через т тактов существует переход из состояния я в состояние я' по задержкам, и в тест включаются последовательности а/(/,т)еЖ Совокупность всех построенных последовательностей есть третья часть ТЗ3 проверяющего теста.
Убедимся теперь, что для каждого состояния я имеет место Ал(я)1и=Ав(к(я))1и и к(Ал(я))15=Ав(к(я))1р. Для того чтобы проверить переход по задержке из /г-состояния я, необходимо проверить выходные реакции на множества а/Ж', '=1, ..., А^я)^, если Ал(£)^<». Если АЗ(я)^я=, то в четвертую часть ТЗ4 проверяющего теста необходимо добавить последовательности а/Ж, '=1, ..., 0л.
Для того чтобы проверить переход по задержке из шг-состояния я', находим /г-состояние я такое, что через т тактов существует переход из состояния я в состояние я' по задержкам. Соответственно, в четвертую часть ТЗ4 проверяющего теста необходимо добавить последовательности а/Ж'+т, '=1, ... , А^)^, если Ал(я)1хФ<х>. Если А^)1я=<х>, то в четвертую часть ТЗ4 проверяющего теста необходимо добавить последовательности а;Ж'+т, '=1, ..., 0л.
Утверждение 4. Множество ТЗ=Т^иТЗ2иТЗ3иТЗ4 есть (и, ^-полный тест для автомата л.
Как обычно, из множества ТЗ можно удалить последовательности, которые являются начальными отрезками других последовательностей.
Построим (и,3) - полный тест для автомата л на рис. 2.
Множество достижимости ¥={е,(Ь,0)}, множество различимости Ж={(а,2), (Ь,0)}. Соответственно, Т^={(я,2), (Ь,0), (¿,0).(я,2), (Ь,0).(Ь,0)}. Состояние 2 достижимо из начального состояния только по задержке 2, т. е. ТЗ2={(а,4), (Ь,2)}.
Проверяем переходы из состояний 0, 1 и 2 и получаем ТЗ3:
Проверяем переходы по задержкам из состояний 0, 1 и 2 и получаем ТЗ4:
Таким образом, после удаления из множества ТЗ последовательностей, которые являются начальными отрезками других последовательностей, получим (и, 3)-полный тест ТЗ для автомата л на рис. 2: ТЗ={(а,4), (Ь,0).(а, 0).Ж, (Ь,0)-(Ь,0>-Ж, (а,2).Ж, (Ь,2) Ж, (а,3), (Ь,1), (Ь,0).(а,3), (Ь,0).(Ь,1), (Ь,0).(а,4), (Ь,0).(Ь,2), (Ь,0).(а,5), (Ь,0).(Ь,3), (а,5), (Ь,3), (а,6), (Ь,4), (а,7), (Ь,5)}.
Пусть выходная реакция проверяемой системы на некоторую временную входную последовательность отличается от выходной реакции автомата на рис. 2, т. е. проверяемая система является неисправной. Если поведение проверяемой системы описывается автоматом, который имеет не более трех состояний и максимальную конечную задержку не более 3, то такая неисправность будет обнаружена построенным тестом.
3.2. Синтез теста для проверки времени
обработки входных последовательностей
Под временем обработки входного символа (/,') автоматом л в состоянии я будем понимать время г, затраченное на обработку временного входного сигнала (/,') в этом состоянии и вывод соответствующего выходного сигнала, т. е. г(я,(/,'))=аА(Т(я,'),/). Время г(я,а), затраченное автоматом в состоянии я на обработку временной входной последовательности а, назовем временем обработки входной последовательности а, и это время равно сумме времени обработки каждого временного входного символа в последовательности.
Пусть заданы временные автоматы л=(З,50,/,0,Ал,Ал,а-л) и В=(Р,р0,1,0,ХВ,АВ,аВ). В этом разделе мы сравниваем эти автоматы по времени обработки временных входных последовательно-
стей. Поскольку такое сравнение имеет смысл только для /-эквивалентных автоматов, то мы полагаем, что автоматы А и В являются /-эквивалентными.
Автомат В строго эквивалентен (по времени обработки) автомату А (обозначение: А=ТВ), если автоматы А и В /-эквивалентны и для любой временной входной последовательности 1(я0,а)=1(р0,а).
Автомат В не медленнее автомата А (по времени обработки), если автоматы А и В /-эквивалентны и для любой временной входной последовательности 1^0,а)>г(р0,а).
Автомат В не быстрее автомата А (по времени обработки), если автоматы А и В /-эквивалентны и для любой временной входной последовательности г(.%а)<г(р0,а).
В данный момент мы, вообще говоря, не знаем, как можно полностью охарактеризовать отношения «не быстрее» и «не медленнее», поэтому мы вводим более строгие отношения для времени обработки входных сигналов.
Пусть связные приведенные автоматы А и В являются /-эквивалентными. Согласно утверждению 3, существует взаимно однозначное отображение Н: Б^Р такое, что Н(я0)=р0 и для любого состояния seS, для каждого перехода я —и каждого перехода ^ '/0 >я' автомат В имеет переходы Н(я) —^Н(з) и Н(я) —
Автомат В строго не медленнее (по времени обработки) автомата А (обозначение: А^В), если автоматы А и В являются /-эквивалентными, и для любого состояния я автомата А и любого входного символа / имеет место: г(Н(з),(/,0))<г(5,(/,0)).
Автомат В строго не быстрее (по времени обработки) автомата А (обозначение: А^ТВ), если автоматы А и В являются /-эквивалентными, и для любого состояния я автомата А и любого входного символа / имеет место: г(Н(ъ), (i,0))>z(s,(i,0)).
Согласно утверждению 3, если временная входная последовательность а переводит автомат А из состояния я в з', то автомат В перейдет из состояния р=Н(я) в состояние р=Н(я). Поэтому если В строго не медленнее (строго не быстрее) временного автомата А, то В не медленнее (не быстрее) временного автомата А.
Для проверки, является автомат В строго не медленнее (строго не быстрее) временного автомата А, достаточно построить множество входных последовательностей, которые являются обходом графа переходов автомата А.
Для каждого /г-состояния я автомата А строим подмножество последовательностей аД/,0), а,е¥, /е/. Объединяем все последовательности во множество ТТБ1.
Для каждого шг-состояния я' находим /г-со-стояние я такое, что существует переход я —^', где г представляет последовательность переходов по
задержкам, и последовательность aseV. Строим подмножество последовательностей a.(i,T), aseV, ieI. Объединяем все последовательности в множество TTS2.
Объединение множеств TTSX и TTS2 есть полный тест для проверки, является ли автомат B эквивалентным (строго не медленнее, строго не быстрее) автомату A по времени обработки временных входных последовательностей.
Утверждение 5. Если автомат Be3„(6A) является /-эквивалентным приведенному связному автомату A, то автомат B строго эквивалентен (по времени обработки временных входных последовательно -стей) автомату A, если и только если время обработки автоматом B каждого временного входного символа из последовательностей множества TTSjUTTS2 совпадает со временем обработки этого символа автоматом A.
Аналогичные утверждения можно доказать для отношений «строго не медленнее» и «строго не быстрее».
Утверждение 6. Если автомат Be3„(6A) является /-эквивалентным приведенному связному автомату A, то автомат B строго не медленнее (строго не быстрее) автомата A, если и только если время обработки автоматом B каждого временного входного символа из последовательностей множества TTSjuTTS2 не больше (соответственно не меньше) времени обработки этого символа автоматом A.
Заметим, что поскольку полный тест, построенный в предыдущем разделе для проверки /-эквивалентности, включает обход графа переходов автомата A, то на основе этого теста можно также проверить, соответствует ли предъявленный автомат спецификации и по скорости обработки временных входных символов.
Заключение
Рассмотрена модель временного автомата, предложен алгоритм построения полного проверяющего теста для временного автомата относительно модели «черного ящика». При построении теста для идентификации состояний использован метод Василевского (Ж-метод), однако длину теста можно сократить за счет более эффективного использования различающих последовательностей (HSI и H методы). Предложенный подход можно использовать также для случая, когда спецификация является частичным детерминированным автоматом. В этом случае достаточно предположить, что если переход в некотором состоянии не определен для заданного входного воздействия, то автомат остается в этом состоянии с выходным символом ignore или null.
Работа частично поддержана проектами ФЦП (государственный контракт № 02.514.12.402 и № П1157).
СПИСОК ЛИТЕРАТУРЫ
1. Merayo M.G., Nunez M., Rodriguez I. Formal testing from timed finite state machines // Computer Networks. - 2008. - V. 52. -№ 2. - P. 432-460.
2. Gromov M.L., Popov D.D., Yevtushenko N.V. Deriving test suites for timed Finite State Machines // Proc. of IEEE East-Wfest Design & Test Symposium'08. - Kharkov, Ukraine: SPD FL Stepanov V.V., 2008. - P. 339-343.
3. Гилл А. Введение в теорию конечных автоматов. - М.: Наука, 1962. - 272 с.
4. Hennie F.C. Fault-detecting experiments for sequential circuits // Proc. of 5th Annual Symp. on Switching Theory and Logical Design. - USA, Nov. 1964. - P. 95-110.
5. Василевский М.П. О распознавании неисправности автоматов // Кибернетика. - 1973. - № 4. - С. 93-108.
Поступила 11.02.2010 г.
УДК 519.876.5
ОРГАНИЗАЦИЯ И ПРИНЦИП РАБОТЫ МНОГОФУНКЦИОНАЛЬНЫХ СХЕМ МОДЕЛИРОВАНИЯ
Г.П. Цапко, С.Г. Цапко, Д.В. Тараканов
Томский политехнический университет *Сургутский государственный университет E-mail: [email protected]
Предложены механизмы для реализации многофункциональных схем моделирования. Показана реализация схемы моделирования с разомкнутой структурой, рассмотрены временные режимы работы последовательной многофункциональной схемы. Приведена реализация циклической многофункциональной схемы моделирования и ее реализация в терминах Е-сети. Представлена реализация разработанной замкнутой многофункциональной схемы моделирования, обеспечивающей многократное селективное обслуживание группы разнородных функциональных процессов с минимальным количеством Е-сетевых моделей.
Ключевые слова:
Многофункциональная схема, имитационное моделирование, фишка, переход, позиция. Key words:
Multifunctional circuit simulation, chip, shift, position.
При практической реализации динамических моделей приходится достаточно часто решать типовые вычислительные и алгоритмические задачи, в том числе с помощью алгоритмических схем моделирования. Данные задачи сводятся к реализации типовых логических {Alg}, вычислительных {р} операций и операторов задержки продвижения фишек {А/} по Е-сети. Для уменьшения общего количества ЕК (Е-пй) элементов (позиций, переходов) в динамической модели (ДМ) предлагается использовать многофункциональные схемы моделирования (МСМ), которые работают по принципу «одна ЕК схема - несколько моделей». Это позволит значительно сократить не только размер модели, но и уменьшить трудозатраты на создание ДМ и автоматизировать процесс моделирования. Для решения проблемы реализации многофункциональности желательно отказаться от традиционного принципа программирования Е-сетевых схем, когда функционирование элементов ЕК структуры строго фиксировано в рамках программного кода. Для введения принципа автоматической адаптации ЕК схемы предлагается использовать следующие механизмы:
1) генерация профилировщиком заданной архитектуры модели согласно цели функционирова-
ния и выбор подмножества Е-сетевых подсистем, необходимых для формирования текущей реализации модели;
2) транспортировка совокупностью фишек по Е-сети модели служебных данных А1г.Ба1аС, необходимых для работы Е-сетевых переходов. А(г.Ба(аС включает в себя следующие элементы: идентификатор, операторы преобразования атрибутов, операторы задержки, управляющие операторы;
3) настройка требуемых переходов ЕК модели путем записи служебных данных в буфер перехода;
4) селективный процесс работы переходов модели согласно идентификационным параметрам входного потока данных (фишек).
Организация процесса работы системы профилирования подробно изложена в [1]. В процессе функционирования система профилирования генерирует служебные фишки Г?({а/г;}) которые последовательно проходят через Е-сетевую схему динамической модели и при активизации переходов происходит считывание данных в буфер перехода ягас (рис. 1).
После записи служебных данных Ба(ас в буфер перехода происходит изменение флага фишки