Минимизация автоматов с таймаутами и временными ограничениями
A.C. Твардовский <[email protected]> H.B. Евтушенко <[email protected]> M.JI. Громов <[email protected]> Национальный исследовательский Томский государственный университет, 634050, Россия, г. Томск, пр. Ленина, 36
Аннотация. Конечные автоматы широко используются для анализа и синтеза управляющих систем. При описании систем, поведение которых зависит от времени, конечный автомат расширяется введением временных аспектов и вводится понятие временного автомата. В настоящей работе мы рассматриваем проблему минимизации автоматов с таймаутами и временными ограничениями, поскольку сложность многих задач в теории автоматов существенно зависит от размеров исследуемой системы. Поведение временного автомата может быть достаточно точно описано соответствующим конечным автоматом, и предлагаемый метод минимизации числа состояний системы основан на использовании такой конечно автоматной абстракции. Более того, далее мы минимизируем и временные аспекты автоматного описания, сокращая продолжительность таймаутов и число переходов с временными ограничениями. Мы также показываем, что для полностью определённого детерминированного временного автомата существует единственная минимальная (каноничная) форма, т. е. единственный приведённый по состояниям и временным аспектам автомат с таймаутами и временными ограничениями, поведение которого совпадает с исходным временным автоматом; например, такая минимальная форма может быть использована при построении проверяющих тестов для проверки функциональных и нефункциональных требований к тестируемой реализации. Предложенный метод к минимизации временных аспектов на основе конечно автоматной абстракции может быть применён и для частных случаев рассматриваемой модели, т. е. для минимизации детерминированных полностью определенных автоматов только с таймаутами или только с временными ограничениями.
Ключевые слова: временные автоматы; приведённая форма; минимальная форма
DOI: 10.15514/ISPRAS-2017-29(4)-8
Для цитирования: Твардовский A.C., Евтушенко Н.В., Громов M.JI. Минимизация автоматов с таймаутами и временными ограничениями. Труды ИСП РАН, том 29, вып. 4,2017 г., стр. 139-154. DOI: 10.15514/ISPRAS-2017-29(4)-8
1. Введение
Конечно-автоматные модели широко используются при анализе и синтезе дискретных систем [1, 2], в частности при реализации компонент управляющих систем [3, 4, 5], причем сложность решения многих задач теории автоматов существенно зависит от числа состояний рассматриваемого автомата. Более того, многие алгоритмы синтеза тестов с гарантированной полнотой [2, 6, 7, 8] для дискретных систем разработаны только для приведённых автоматов, т.е. автоматов, в которых любая пара состояний различима.
При рассмотрении современных систем часто приходится учитывать временные аспекты в их поведении, и соответственно, понятие конечного автомата расширяется введением временных переменных [7, 9, 10]. Известны различные способы добавления временных переменных в описание цифровых компонентов, поведение которых описывается конечными автоматами. В настоящей работе мы рассматриваем автоматы с таймаутами и временными ограничениями [10], которые являются обобщением автоматов только с таймаутами и только с временными ограничениями [11, 12]. Мы предлагаем метод минимизации детерминированного полностью определенного временного автомата, используя, подобно [1], разбиение множества состояний автомата по отношению эквивалентности. По определению, состояния эквивалентны, если автомат в этих состояниях имеет одну и ту же выходную реакцию на любую входную последовательность. Мы вводим класс приведенных по состояниями и временным аспектам автоматов с таймаутами и временными ограничениями, и показываем, что такая минимальная форма является единственной с точностью до изоморфизма. Построение минимальной формы основано на специальной конечно автоматной абстракции, которая сохраняет последовательностные свойства временного автомата. Структура работы следующая. Раздел 2 содержит основные определения и обозначения. В разделе 3 рассматривается алгоритм построения конечно автоматной абстракции и обсуждаются её свойства. В разделе 4 представлен предложенный алгоритм минимизации состояний детерминированного полностью определенного автомата с таймаутами и временными ограничениями. В разделе 5 предлагается алгоритм минимизации временных аспектов автомата с таймаутами и временными ограничениями и показывается, что минимальная форма для такой модели временного автомата единственна.
2. Основные определения и обозначения
Под конечным автоматом понимается четвёрка S = (S, /, О, hs), где / -множество входных символов, О - множество выходных символов, S -конечное непустое множество состояний, hs с (SxIxOxS) - отношение переходов. Соответственно, кортеж (s, /', о, s') описывает переход из состояния s в состояние s' под действием входного символа i с выдачей выходного
символа о. Последовательность пар входной символ/выходной символ называется входо-выходной последовательностью и обозначается а/у, где а -входная последовательность, и у - выходная последовательность. Под автоматом с таймаутами и временными ограничениями понимается пятерка S = (/, S, О, hs, As), где / - входной алфавит, О - выходной алфавит, S -конечное непустое множество состояний, hs с (SxIxOxSxITx -отношение переходов, As: S —» S х (И и {со}) - функция таймаута, определяющая для каждого состояния максимальное время ожидания входного символа, И - множество натуральных чисел, П - множество интервалов из промежутка [0; Т) вида {a, tí), где ( е {[,(}, ) е {],)}, Тесть таймаут в текущем состоянии и Z+ - множество целых неотрицательных чисел. Соответственно, кортеж (s, i, о, s', g, d) описывает переход из состояния s в состояние s' под действием входного символа /', поступившего в момент времени t, t е g, после перехода автомата в текущее состояние с выдачей выходного символа о через d тактов времени после поступления входного символа. Иногда время d обработки входного символа называют выходным таймаутом или временем задержки. Если в некотором состоянии автомата входной сигнал не поступает в течение определенного времени, который превышает (входной) таймаут в текущем состоянии, то автомат может изменить своё состояние. Например, если As(s) = (s', Т) и в состоянии s в течение Т единиц времени на автомат не было подано ни одного входного символа, то автомат переходит в состояние s'. Для таймаута вида As(s) = (s', со) справедливо, что s = s'. После перехода в состояние s' по входному символу либо таймауту отсчет времени начинается с 0. Если s = s', то после достижения таймаута в состоянии s отсчет времени начинается с 0. Функция timéis, t) = s' [7] определяет, в каком состоянии s' находится автомат через t тактов времени, при условии, что входной символ не был подан в течение этого времени. Для временного автомата S через В будем обозначать наибольшую конечную границу для временных интервалов, которая совпадает с максимальной величиной входного таймаута.
Временным входным символом называется пара (/', /), где i — символ входного алфавита, t - время поступления входного символа после выдачи автоматом последнего выходного символа. Временным выходным символом называется пара (о, d), где о - символ выходного алфавита, (i-число единиц времени между подачей входного символа и выдачей выходного символа. Для временного автомата S и входной временной последовательности а = (h, 11), (/'2, /2)..., (/», t„) соответствующая выходная временная последовательность у = (о\, d\), (02, di) ..., (о„, dn) называется (выходной) реакцией. При этом последовательность пар (временной входной символ / временной выходной символ) называется временной входо-выходной последовательностью и обозначается а/у. Для нахождения реакции временного автомата на входной временной символ (/', /) в состоянии s, сначала определяется состояние s' = timéis, i), в котором находится
автомат в момент времени /, далее определяется переход (У, /', о, я", g, (Г) такой, что (/ - Е) е g, где Е есть сумма таймаутов при переходах по таймаутам из состояния 5 в состояние соответственно, при подаче входного временного символа (/', /) в состоянии 5 автомат производит выходную реакцию (о, сГ) и переходит в следующее состояние Таким образом, реакция автомата на временную входную последовательность в состоянии 5 вычисляется итеративно, начиная с состояния s. Вычитание величины Е из времени поступления входного символа отражает тот факт, что отсчёт времени «сбрасывается» в 0 при выполнении автоматом переходов по таймауту. В настоящей работе мы рассматриваем полностью определенные и детерминированные автоматы, т.е. для каждого состояния 5 и временного входного символа (/', /) единственным образом определяется следующее состояние я" автомата и выходная реакция (о, сГ).
На рисунке 1 представлен автомат с таймаутами и временными ограничениями Б. Реакции автомата Б в состоянии яо на временные входные символы (/', 0) и (/', 1) различаются и представляют собой выходные временные символы (о\, 1) и (02, 3) соответственно. Если же входной символ не будет подан на автомат Б в состоянии «о в течение двух единиц времени, то автомат перейдёт в состояние по таймауту.
Состояния sup полностью определённых детерминированных временных автоматов Б и Р называются эквивалентными, если реакции автоматов в этих состояниях совпадают на любую входную временную последовательность. Если состояния sup не являются эквивалентными, то они называются различимыми. Отношение эквивалентности на множестве состояний автомата индуцирует разбиение на множестве состояний, которое называется разбиением по отношению эквивалентности и далее обозначается Е. Любые два состояния, принадлежащие одному классу разбиения Е, являются эквивалентными; любые два состояния, принадлежащие различным классам разбиения Е, являются различимыми.
Рис. 1. Временной автомат 5 Fig. 1. Timed Finite State Machines S
Два автомата Б и Р эквивалентны, если для каждого состояния автомата Б существует эквивалентное состояние в автомате Р, и для каждого состояния автомата Р существует эквивалентное состояние в автомате Б. Автомат называется приведённым по состояниям, если любые два состояния в нём различимы. Приведённой по состояниям формой временного автомата Б называется приведённый автомат, эквивалентный Б.
Временные автоматы Б и Р с одинаковыми входными и выходными алфавитами изоморфны, если между множествами состояний и переходов этих автоматов можно установить взаимно однозначное соответствие, т.е. существует взаимнооднозначное отображение H.S —» Р, такое что (s¿, /', о, sj, g, d) е hs, если и только если (H(s¡), i, о, H(sj), g, d) е hpH As(s¡) = (sj, T), если и только если Ap(H(s¡)) = (H(sj), Т). Временной автомат, изоморфный заданному временному автомату, может быть получен переименованием состояний исходного автомата.
3. Конечно автоматная абстракция
Поведение автомата с таймаутами и временными ограничениями в ряде случаев можно адекватно описать при помощи конечного автомата, т.е. с использованием конечно автоматной абстракции [10]. В настоящей работе это понятие несколько расширяется для построения конечно автоматной абстракции для временных автоматов с выходными таймаутами. Пусть Б = (S, I, О, hs, As) - детерминированный полностью определенный временной автомат и В - наибольшая конечная граница для временных входных интервалов, в то время как D определяет наибольшую выходную задержку. Построим конечно автоматную абстракцию временного автомата, которая является полностью определённым конечным автоматом As = (Sa, / и {I}, О а, Xas, so), где Sa = {(s, 0), 0, (0, 1)), ..., О, (В-\,В)), (s,B), (s, (В, оо)): s е S}, Оа= {(о, 0), (о, 1), ..., (о, D)\ о е <Э}и{1}, а I - специальный символ конечно автоматной абстракции. Для состояния (s, /,), // = 0, ..., В, автомата As и входного символа /', множество Xas содержит переход ((s, tj), i, (о, d), (sr, 0)), если и только если существует переход (s, i, о, s', gi, d) е Xs такой что /, е g¿. Для состояния (s, gj), g, = (0, 1) (В - \, В), (В, со), автомата As и входного символа /', множество Xas содержит переход ((s, g¡), i, (о, d), (sr, 0)), если и только если существует переход (s, i, о, s', g, d) е Xs такой что g, с g. Переходы по специальному символу I отражают изменение временной переменной между вещественными значениями из интервала вида (а, Ь) и целочисленными значениями, либо переход по таймаутам между состояниями. Переходы ((s, п), I, I, (s, (и, п + 1))), ((s, (п - 1, и)), I, I, (s, п)) е Xas, если и только если п < Т < со, где As(s) = (У, Т). Переход ((s, (и - 1, и)), I, I, (У, 0)) е Xas, если и только если п = Т < со, где As(s) = (У, Т). Подобно [10], можно показать, что если исходный временной автомат полностью определённый и детерминированный, то и конечно автоматная абстракция также является полностью определённым детерминированным конечным автоматом.
Временная входная последовательность а может быть переведена в соответствующую последовательность входных символов для конечно автоматной абстракции агам- При этом каждый временной входной символ (/', /) представляется последовательностью входных символов абстракции вида I, I, ..., I, /, где число символов I равно числу переходов значений временной переменной из целого числа в элемент интервала вида (а, а + 1) и обратно за время /. В то же время выходная реакция абстракции на последовательность I, I, ..., I, /, имеет вид I, I, ..., I, (о, с1), где число символов I во входной и выходной последовательности совпадает, а (о, с1) есть реакция исходного временного автомата на (/', /). Таким образом, выходная последовательность абстракции удхм может быть переведена в соответствующую временную выходную последовательность у удалением всех символов I. Утверждение 1. Входо-выходная последовательность а/у существует во временном автомате Б, если и только если входо-выходная последовательность адш/угам существует в конечно автоматной абстракции Аэ. Доказательство. Рассмотрим состояние 5 временного автомата Б и множество состояний 0), (0, 1)), ..., (Г - 1, 7)) конечно автоматной абстракции Аэ, где Аэ^) = (У, Т). Каждое состояние Аэ соответствует целому моменту времени либо интервалу вида (а, а + 1), в котором находится временная переменная автомата Б, а переходы по входному символу I отражают изменение значения временной переменной автомата Б из целого числа в элемент интервала вида (а, а + 1) и обратно. Таким образом, по правилам построения множества переходов абстракции, входо-выходная пара (/', /) / (о, с1) существует в автомате Б, если и только если существует входо-выходная последовательность I, I, ..., I, / / I, I, ..., I, (о, йГ) в автомате Аэ, где число символов I равно числу изменений значений временной переменной из целого числа в элемент интервал вида (а, а + 1) и обратно за время / < Т. В силу того, что переходу по таймауту А^) = (У, Т) автомата 8 соответствует переход ((«, (Т- 1, Т)), I, I, (У, 0)) автомата Аэ, то аналогичные рассуждения можно провести для состояния я' и множества (У, 0), (У, (0, 1)), ..., (У, (Т - 1, Т)), а также всех последующих состояний, в которые автомат Б может перейти по таймауту и соответствующего множества состояний абстракции. В то же время, по правилам построения переходов конечно автоматной абстракции, входной временной символ (/', /) переведёт автомат 8 в состояние я", если и только если входная последовательность I, I, ..., I, /' переведёт автомат Аэ в состояние (У', 0). Далее, для пары состояний я" и (У', 0) можно провести аналогичные рассуждения.
Утверждение 2. Состояния и «2 временного автомата Б эквивалентны, если и только если в соответствующем конечном автомате Аэ эквивалентными являются состояния («1, 0) и («2, 0).
Доказательство. Пусть состояния и «2 временного автомата Б эквивалентны. Предположим, что состояния («ь 0) и («2, 0) соответствующего конечного
автомата не являются эквивалентными, т.е. для них существует различающая последовательность. Тогда в силу утверждения 1, найдётся различающая последовательность и для состояний «1 и «2, что противоречит утверждению, что состояния и «2 эквивалентны.
Пусть теперь состояния («1, 0) и («2, 0) эквивалентны в построенном конечном автомате Аэ, однако состояния «1 и «2 временного автомата не являются эквивалентными, т.е. для них существует различающая последовательность. Тогда в силу утверждения 1, найдётся различающая последовательность и для состояний («1, 0) и («2, 0), что противоречит утверждению, что состояния («1, 0) и («2, 0) эквивалентны.
Таким образом, вывод об эквивалентности состояний временного автомата может быть сделан на основе соответствующих состояний конечно автоматной абстракции.
4. Минимизация числа состояний
Процедура минимизации состояний для классических конечных автоматов хорошо известна [1] и основана на разбиении множества состояний конечного автомата по отношению эквивалентности. Мы предлагаем использовать аналогичный подход для сокращения числа состояний временного автомата. В соответствии с результатами предыдущего раздела, разбиение множества состояний по отношению эквивалентности для временного автомата может быть получено на основе соответствующего разбиения для конечно автоматной абстракции. Далее, мы предлагаем алгоритм построения приведённой по состояниям формы временного автомата.
Алгоритм 1 построения приведенной по состояниям формы полностью определённого детерминированного временного автомата Вход. Полностью определённый детерминированный временной автомат Б Выход. Приведённая по состояниям форма автомата Б
Шаг 1. По исходному временному автомату Б строится соответствующая конечно автоматная абстракция Аэ, для которой строится разбиение Е^м множества состояний на эквивалентные состояния.
Шаг 2. Строится разбиение Е состояний автомата Б на эквивалентные состояния следующим образом: состояния «1 и «2 автомата Б принадлежат одному блоку разбиения Е, если и только если состояния («ь 0) и («2, 0) принадлежат одному блоку разбиения Ерш-
Шаг 3. Строится приведенная по состояниям форма В автомата Б. Входной и выходной алфавиты автомата В совпадают с таковыми для автомата Б, состояния Ь\, ¿2, ■■■, 6/ соответствуют блокам В\, Вг, ..., Вг разбиения Е. Множество переходов Ив автомата В формируем следующим образом. Выбираем из каждого блока состояние Для состояний й, и й, существует кортеж фи /', о, й,, g, йГ) е Ив, тогда и только тогда, когда существует состояние
6 _8/, такое что кортеж /', о, g,d)e Иц. Для функции таймаута Авфд = ф,-, Т), тогда и только тогда, когда ДвС«;) = («,■, Т), Sj е В].
Следующее утверждение подтверждает корректность построения приведенной по состояниям формы временного автомата по описанному выше алгоритму. Утверждение 3. Пусть В - автомат, построенный для автомата Б по алгоритму 1. Автомат В является детерминированным полностью определенным автоматом, и состояние й, автомата В эквивалентно состоянию 5 автомата Б, если и только если 5 е
Доказательство. Согласно утверждению 2, состояния ^ и $2 временного автомата Б принадлежат одному блоку разбиения Е, если и только если состояния («1, 0) и («2, 0) конечно автоматной абстракции Аэ принадлежат одному блоку разбиения Ерш- Таким образом, разбиение Е, полученное на втором шаге алгоритма, есть разбиение множества состояний автомата Б по отношению эквивалентности.
Автомат В является полностью определенным и детерминированным автоматом, поскольку автомат Б обладает этими свойствами и для каждого состояния bi множество переходов «повторяет» множество переходов для состояния 5 6 Вь
Покажем, что состояния е и состояние й, автомата В, соответствующее блоку разбиения Е, эквивалентны. Все переходы из состояния й, дублируют переходы из некоторого состояния е В и эквивалентного любому состоянию из (утверждение 2). В то же время, если ДяС«/) = (як, Т) и Авф,) = (Ьк, Т), Т < со, то е Вк есть состояние, эквивалентное состоянию переходы которого «дублируются» в состоянии Ьк. Аналогичные рассуждения можно провести и для возможных преемников по таймаутам состояний ^ и Ьк. Таким образом, реакции на любой временной входной символ в состояниях и й, совпадают. Поскольку переходу /', о,йГ) исходного автомата соответствует переход фи /, о, Ь/, gi, с1) приведённой по состояниям формы, где е В/, то для состояний и Ь/, и для всех их преемников по входным временным символам, можно провести аналогичные рассуждения. Таким образом, реакции автоматов В и Б в состояниях й, и на любую входную последовательность совпадают. Покажем теперь, что состояния е В, и й,, где /' Фу, не эквивалентны. Состояние е эквивалентно состоянию й, согласно первой части доказательства. Состояния и ^ не эквивалентны, так как находятся в различных блоках разбиения Е. Таким образом, состояния и й, не эквивалентны. Справедлива следующая теорема.
Теорема 1. Пусть Б - полностью определённый детерминированный автомат с таймаутами и временными ограничениями. Полностью определённый детерминированный автомат В, построенный по алгоритму 1, является приведённой по состояниям формой автомата Б.
В качестве примера рассмотрим автомат на рисунке 1. Приведенная по состояниям форма автомата Б представлена на рисунке 2.
Рис. 2. Приведённая но состояниям форма временного автомата 5 Fig. 2. State reduced form of TFSM S
Сложность алгоритма минимизации временного автомата с и состояниями, вообще говоря, определяется сложностью минимизации конечно автоматной абстракции, число состояний которой не превышает величины 2Вп и множество входных символов совпадает с таковым для временного автомата. Таким образом, сложность алгоритма минимизации полиномиальна относительно произведения наибольшей конечной границы для временных входных интервалов и числа состояний.
5. Минимизация временных аспектов
В отличие от классических автоматов, приведенная по состояниям форма не является минимальной формой временного автомата, т.к. не учитывает минимизацию временных параметров. В настоящем разделе мы вводим понятие минимальной формы временного автомата, которая является единственной с точностью до изоморфизма. Автомат с таймаутами и временными ограничениями Б называется приведенным по времени (time reduced), если для любых двух кортежей (s, /', о, s', gi, d), (s, i, о, s', g2, d) e hs справедливо, что gi и g2 нельзя объединить в один интервал и для любого состояния s, такого что As(s) = (У, Г), не существует состояния s" и целого числа Т' < Т, таких что автомат Б', полученный изменением функции таймаута состояния s автомата Б на As(s) = (s", Т') эквивалентен исходному автомату Б. Если для переходов (s, /', о, s',g\, d), (s, i, о, s', g2, d) e hs временного автомата Б интервалы gi и g2 могут быть объединены в один интервал, то эти два перехода можно заменить одним переходом вида (s, /', о, s', gi u g2, d). Поверка существования и поиск таймаута меньшей величины могут быть выполнены по конечно автоматной абстракции As. Для поиска минимального таймаута в состоянии s необходимо рассмотреть состояния абстракции вида (s, п), соответствующие поведению временного автомата в состоянии s в целочисленные моменты времени. Если для некоторого состояния (s, j) существует эквивалентное состояние вида (У, 0), то переход по специальному входному символу ((s, (J - 1,7)), 1,1, (s,j)) может быть заменён на переход ((s, (J - 1 ,j)), I, I, (У, 0)). Соответственно, таймаут в состоянии s автомата Б, может
быть заменён на Ая(я) = («', У). Таким образом, для каждого состояния может быть выбран минимальный возможный таймаут, который не изменяет поведение временного автомата.
Далее, мы предлагаем алгоритм построения приведенной по времени формы временного автомата.
Алгоритм 2 построения приведенной по времени формы автомата с таймаутами и временными ограничениями
Вход. Детерминированный полностью определённый временной автомат Б Выход. Приведенная по времени форма автомата Б
Шаг 1. Каждая пара переходов (я, г, о, я', g\, с1), (я, г, о, я', g2, с1), такая что g\ и g2 могут быть объединены в один интервал, заменяется на переход (я, г, о, я', g\ и
И2, «О-
Шаг 2. По исходному автомату Б строится соответствующий классический конечный автомат Аэ, для которого строится разбиение по отношению эквивалентности.
Шаг 3. Для каждого состояния 5 автомата Б, для которого Ля(я) = (я', Т), среди состояний у) автомата Аэ, у = 1, ..., Т - 1, определяется состояние с минимальным у, для которого существует эквивалентное состояние вида (я", 0). Если такое состояние я" существует, то таймаут в состоянии 5 заменяется на Ля(я) = (я", у). Если такого состояния нет, то таймаут в состоянии 5 не изменяется.
Шаг 4. Для каждого состояния 5 автомата Б, для которого Ая(я) = (я', со), определяется состояние вида (я", 0) в автомате Аэ, эквивалентное состоянию (я, (/, со)). Если такое состояние 5"существует, то таймаут в состоянии 5 заменяется на Ая(я) = (я", у +1). Если такого состояния нет, то таймаут в состоянии 5 не изменяется.
Шаг 5. Для каждого состояния я, где Ая(я) = (я', Т) и Т < со, удаляются все переходы (я, г, о, я', g, йГ), такие что # п [0, 7) = 0. Если для перехода (я, г, о, я', {а, Ь), с!) справедливо, что (а, Ь) п [0, Т) Ф 0 и неверно, что (а, Ь) с [0, Т), то переход (я, г, о, я', {а, Ь), с1) заменяется на переход (я, г, о, я', {а, Т), йГ). Имеет место следующее утверждение.
Утверждение 4. Пусть Р - временной автомат, построенный для приведенного по состояниям автомата Б по алгоритму 2. Автомат Р эквивалентен автомату Б и является приведенным по времени автоматом.
Доказательство. Покажем, что автоматы Б и Р эквивалентны. Объединение переходов (я, г, о, я', g\, с1), (я, /', о, я', g2, с1) в переход (я, г, о, я', glUg2, с1) (Шаг 1) не изменяют поведение автомата. Рассмотрим процедуру замены таймаута на третьем шаге алгоритма. Пусть для состоянияр временного автомата Р найдено состояние временного автоматар", такое, что существует состояние (р,у) из Ар, эквивалентное состоянию (р", 0) автомата Ар. Здесь Ар(р) = (р', Т) и у < Т. Последнее означает, в силу утверждения 2, что реакция автомата Р в состоянии
р" на любую входную последовательность совпадает с таковой для автомата в состоянии р в момент времени j. Таким образом, при замене функции таймаута Ар(р) = (р',Т) в состоянии р на Ар(р) = (p",j) поведение автомата Р в состоянии р не меняется. Аналогично, замена таймаута на четвёртом шаге алгоритма не изменяет поведение автомата. На пятом шаге алгоритма удаляются лишь переходы (р, /', о, р', g, d), временные интервалы которых не пересекаются с интервалом [0, Т), где Ар(р) = (р',Т), соответственно, такие переходы не могут быть выполнены автоматом. Переходы, временные интервалы которых пересекаются с [0, Т), но выходят за границу таймаута, ограничиваются сверху величиной таймаута, что также не изменяет поведение автомата. Покажем теперь, что автомат Р является приведенным по времени автоматом. Допустим, что для некоторого состоянияро автомата Р таймаут Ар(ро) = (р\, Т\) может быть заменён на таймаут Ар(ро) = (р2, Ti), где Т\ > 7г, таким образом, что поведение автомата в состоянии ро не измениться. Последнее означает, что в конечно автоматной абстракции Ар существует либо пара эквивалентных состояний (ро, Ti) и (р>2, 0), либо (ро, (Тг - 1, со)) и (¿>2, 0). Существование эквивалентных состояний (ро, Ti) и (р2, 0) невозможно по третьему шагу алгоритма. Существование эквивалентных состояний (ро, (7г - 1, со)) и (р2, 0) отражает тот факт, что реакция на любую входную временную последовательность автомата Р в состоянии ро в момент времени Т > (7г - 1) совпадает с таковой для состояния (р2, 0). В таком случае, состояния (ро, Ti) не существует по построению абстракции, однако, по шагу 4 алгоритма, таймаут был бы заменён на Ар(ро) = (р2, Ti). Таким образом, существование эквивалентных состояний (ро, (7г - 1, со)) и (р2, 0) невозможно. В то же время, любые два перехода вида (s, i, о, s',g\, d), (s, i, o, s', g2, d), которые возможно объединить в один переход (s, i, о, s', giug2, d), объединяются на шаге 1 алгоритма 2.
На основе полученных результатов, можно установить необходимое и достаточное условие эквивалентности временных автоматов. Теорема 2. Детерминированные полностью определенные приведённые по состояниям и времени временные автоматы Б и Р эквивалентны, если и только если эти автоматы изоморфны.
Необходимость. Пусть Б и Р - детерминированные полностью определённые приведённые по состояниям и времени автоматы с временными ограничениями и таймаутами, которые являются эквивалентными. Покажем, что автоматы Б и Р изоморфны. Рассмотрим отображение Н\ S —» Р, при котором H(s) есть состояние автомата Р, эквивалентное состоянию s. Отображение Н является взаимно однозначным в силу приведённости по состояниям автоматов Б и Р. Покажем, что для любой пары состояний s и р = H(s), такой что As(s) = (У, Ti), As(p) = (р', Тр), справедливо, что Ts = Tpnp' = H(sl). Допустим, что Тр < Ts\ тогда в силу эквивалентности S и Р, существует состояние s", эквивалентное состояниюр'. А поскольку состояния s ир также являются эквивалентными, то
таймаут в состоянии s может быть заменён на As(s) = (s", Т/), где Т/ = Тр< Ts. Последнее невозможно, поскольку S является приведенным по времени автоматом. Пусть теперь Тр > Ts, тогда в силу эквивалентности Б и Р, существует состояние р", эквивалентное состоянию s'. А поскольку состояния sup также являются эквивалентными, то таймаут в состоянии р может быть заменён на Ар(р) = (р", Тр'), где Ts = Тр' < Тр. Последнее невозможно, поскольку Р есть приведенный по времени автомат. В силу равенства таймаутов TP=TS и эквивалентности состояний s и р, справедливо, что функции time(s, Ts) и time{p, Тр) совпадают, и, соответственно, р' = H(s'). Аналогично [11], ввиду эквивалентности Б и Р, справедливо, что для любого перехода (s, i, о, s', g, d) существует переход (H(s), i, о, Щя1), g, d). Таким образом, автоматы Б и Р изоморфны.
Достаточность. Поскольку изоморфные автоматы совпадают с точностью до переименования состояний, то изоморфные автоматы эквивалентны. Для приведённой по состояниям формы автомата Б (рисунок 2) приведенная по времени форма показана на рисунке 3.
Рис. 3. Приведённая по времени и состояниям форма автомата 5 Fig. 3. Time and state reducedform of reduced form of S
Как видно из рисунка 3, таймаут As(so) = (s2, 2) был заменён на таймаут As(so) = (si, 1), а переход (so, г, 02, so, [1, 2), 3) удалён. В то же время, два перехода из состояния S2 были объединены, а таймауты As(si) = (si, со) и AsCsi) = ($2, со) заменены на As(si) = (S2, 1) и As(«2) = (S2, 1) соответственно. Таким образом, для временных автоматов необходимо ввести определение минимальной формы, учитывающей не только минимизацию состояний, но и минимизацию временных аспектов. Минимальной формой полностью определённого детерминированного автомата с таймаутами и временными ограничениями Б называется приведённый по состояниям и времени автомат, эквивалентный Б. По определению минимальной формы, справедлива следующая теорема.
Теорема 3. Минимальная форма автомата с таймаутами и временными ограничениями единственна с точностью до изоморфизма.
7. Заключение
В настоящей работе предложен метод построения минимальной формы автомата с таймаутами и временными ограничениями. Предложенный подход основан на построении разбиения множества состояний временного автомата на классы эквивалентности, которое строится на основе соответствующего разбиения для конечно автоматной абстракции. В отличие от классических конечных автоматов, предложенный подход минимизирует не только число состояний, но и временные аспекты. Мы также показываем, что минимальная форма временного автомата единственна с точностью до изоморфизма. Тем не менее, можно показать, что свойство минимальности временного автомата не сохраняется для его конечно автоматной абстракции. В конечно автоматной абстракции минимального временного автомата возможно наличие эквивалентных состояний. Таким образом, представляет интерес исследование свойств конечно автоматной абстракции временных автоматов, для которых свойство минимальности будет инвариантом.
Отметим также, что единственная минимальная форма для автоматов только с таймаутами и только с временными ограничениями может быть построена по алгоритму 2 с необходимыми сокращениями.
Представляет интерес изучение минимальной формы для инициальных автоматов с таймаутами, т.е. автоматов, в которых выделено начальное состояние. В этом случае в исходном автомате возможно наличие состояний, которые достижимы из начального состояния только по таймаутам и соответственно, не обязательно имеют эквивалентное состояние в минимальной форме. В качестве дальнейших исследований мы также предполагаем провести эксперименты по минимизации временных автоматов, описывающих поведение реальных управляющих систем.
Благодарности
Работа выполнена при поддержке гранта РНФ No. 16-49-03012.
Список литературы
[1]. Gill A. Introduction to the Theory of Finite-State Machines. 1962, 207 p.
[2]. Lee, D., Yannakakis, M. (1996) Principles and methods of testing finite state machines-a survey. Proceedings of the IEEE. 1996, 84(8), pp. 1090-1123.
[3]. Murphy Т.Е., Geng X.-J., Hammer J.. On the control of asynchronous machines with races. IEEE Transactions on Automatic Control, 2003,48(6), pp. 1073-1081.
[4]. Kumar R., Garg V.K. Modeling and control of logical discrete event systems. Kluwer Academic Publishers, 1995, 143 p.
[5]. Cassandras С. C., Lafortune S.. Introduction to discrete event systems. Kluwer Academic Publishers, 1999, 822 p.
[6]. Dorofeeva R., El-Fakih K., Maag S., Cavalli A., Yevtushenko N. FSM-based conformance testing methods: A survey an-notated with experimental evaluation. Information and Software Technology, 2010, 52, pp. 1286-1297.
[7]. Zhigulin M., Yevtushenko N, Maag S., Cavalli A. FSM-Based Test Derivation Strategies for Systems with Time-Outs. Proc. of the 11th International Conference on Quality Software, QSIC 2011, IEEE, 2011. pp. 141-149.
[8]. El-Fakih K., Yevtushenko N., Fouchal H. Testing Timed Finite State Machines with Guaranteed Fault Coverage. TestCom/FATES, 2009, pp. 66-80.
[9]. Merayo M., Nunez M., Rodriguez I., Formal testing from timed finite state machines, Comput. Netw, 2008, 52 (2), 432-460.
[10]. Bresolin D., El-Fakih K., Villa Т., Yevtushenko N. Deterministic Timed Finite State Machines: Equivalence Checking and Expressive Power. Intern Conf. GANDALF, 2014, pp. 203-216.
[11]. Твардовский А. С., Евтушенко H. В. К минимизации автоматов с временными ограничениями. Вестник ТГУ. Управление, вычислительная техника и информатика, № 4 (29), 2014 г., стр. 77-83.
[12]. Твардовский А. С. К минимизации автоматов с таймаутами. Труды ИСП РАН, т. 26, вып. 6, 2014 г., стр. 77-84. DOI: 10.15514ДSPRAS-2014-26(6)-7
Minimizing Finite State Machines with time guards and
timeouts
A.S. Tvardovskii <[email protected]> N.V. Yevtushenko <[email protected]> M.L. Gromov <[email protected]> National Research Tomsk State University Lenin st. 36, Tomsk, 634050, Russia
Abstract. Finite State Machines (FSMs) are widely used for analysis and synthesis of components of control systems. In order to take into account time aspects, timed FSMs are considered. As the complexity of many problems of analysis and synthesis of digital and hybrid systems including high-quality test derivation significantly depends on the size of the system (component) specification, in this paper, we address the problem of minimizing a FSM with timed guards and input and output timeouts (TFSM). The behavior of a TFSM can be described using a corresponding FSM abstraction and a proposed approach for minimizing a TFSM is based on such abstraction. We minimize not only the number of states as it is done for classical FSMs but also the number of timed guards and timeout duration. We show that for a complete deterministic TFSM there exists the unique minimal (canonical) form, i.e., a unique time and state reduced TFSM that has the same behavior as the given TFSM; for example, this minimal form can be used when deriving tests for checking whether an implementation under test satisfies functional and nonfunctional requirements. A proposed approach for minimizing timed machines can be applied to particular cases of TFSM, i.e. for FSM with timeouts and FSM with timed guards.
Keywords: Timed Finite State Machines; reduced form; minimal form. DOI: 10.15514/ISPRAS-2017-29(4)-8
For citation: Tvardovskii A.S., Yevtushenko N.V., Gromov M.L. Minimizing Finite State Machines with time guards and timeouts. Trudy ISP RAN/Proc. ISP RAS, vol. 29, issue 4,2017 r., pp. 139-154 (in Russian). DOI: 10.15514/ISPRAS-2017-29(4)-8
References
[1]. Gill A. Introduction to the Theory of Finite-State Machines. 1962, 207 p.
[2]. Lee, D., Yannakakis, M. (1996) Principles and methods of testing finite state machines-a survey. Proceedings of the IEEE. 1996, 84(8), pp. 1090-1123.
[3]. Murphy T.E., Geng X.-J., Hammer J.. On the control of asynchronous machines with races. IEEE Transactions on Automatic Control, 2003,48(6), pp. 1073-1081.
[4]. Kumar R., Garg V.K. Modeling and control of logical discrete event systems. Kluwer Academic Publishers, 1995, 143 p.
[5]. Cassandras C. C., Lafortune S.. Introduction to discrete event systems. Kluwer Academic Publishers, 1999, 822 p.
[6]. Dorofeeva R., El-Fakih K., Maag S., Cavalli A., Yevtushenko N. FSM-based conformance testing methods: A survey an-notated with experimental evaluation 11 Information and Software Technology, 2010, 52, pp. 1286-1297.
[7]. Zhigulin M., Yevtushenko N, Maag S., Cavalli A. FSM-Based Test Derivation Strategies for Systems with Time-Outs. Proc. of the 11th International Conference on Quality Software, QSIC 2011, IEEE, 2011. pp. 141-149.
[8]. El-Fakih K., Yevtushenko N., Fouchal H. Testing Timed Finite State Machines with Guaranteed Fault Coverage. TestCom/FATES, 2009, pp. 66-80.
[9]. Merayo M., Nunez M., Rodriguez I., Formal testing from timed finite state machines, Comput. Netw, 2008, 52 (2), 432-460.
[10].Bresolin D., El-Fakih K., Villa T., Yevtushenko N. Deterministic Timed Finite State Machines: Equivalence Checking and Expressive Power. Intern Conf. GANDALF, 2014, pp. 203-216.
[11].Tvardovskii A., Yevtushenko N. Minimizing timed Finite State Machines. Tomsk State University Journal of Control and Computer Science, 2014, № 4 (29), pp. 77-83 (in Russian).
[12].Tvardovskii A. On the minimization of timed Finite State Machines. Trudy ISP RAN/Proc. ISP RAS, vol. 26, issue 6,2014, pp. 77-84 (in Russian). DOI: 10.15514/ISPRAS-2014-26(6)-7