Научная статья на тему 'Решение автоматных уравнений для временных автоматов относительно параллельной композиции'

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

CC BY
247
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВРЕМЕННОЙ АВТОМАТ / ПАРАЛЛЕЛЬНАЯ КОМПОЗИЦИЯ / АВТОМАТНОЕ УРАВНЕНИЕ / НАИБОЛЬШЕЕ РЕШЕНИЕ / ОГРАНИЧЕНИЯ ВНЕШНЕЙ СРЕДЫ / FINITE STATE MACHINE WITH TIMEOUTS / PARALLEL COMPOSITION / AUTOMATA EQUATIONS / THE LARGEST SOLUTION / ENVIRONMENT RESTRICTIONS

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

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

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

Solving parallel equations for Finite State Machines with Timeouts

The problem of designing an unknown component that combined with the known part of a discrete event system satisfies the given overall specification arises in a number of applications. In this paper, we extend the known results for classical Finite State Machines (FSM) to Finite State Machines with Timeouts (TFSM). A TFSM is an FSM augmented with an input and an output timeout functions, prescribing the change of current state if no input is applied until a specified timeout expires and system delays needed to response to applied input, respectively. We represent the behavior of a TFSM by the corresponding regular language. The parallel composition of two TFSMs S and P is defined via composition of languages L(S) and L(P) intersected with L(MC), where MC is a maximal TFSM over input and output alphabets of the composition. The unknown component X is then designed as a solution to the equation where A and X are compared by ≤ with C. Here A is a context, C is a specification, and ≤ is the reduction relation which specifies that the behavior of a system to be designed is contained in that of the specification. Similar to classical FSMs, the equation is transformed to a language equation, the largest solution for which provides the largest solution to the solvable TFSM equation. After the largest solution is derived, a corresponding reduction can be extracted in order to provide the component with required properties. The application areas vary from testing in context to quality optimization of service compositions. Future work includes studying equation solvability criteria and properties of nondeterministic and partial specifications and solutions.

Текст научной работы на тему «Решение автоматных уравнений для временных автоматов относительно параллельной композиции»

Решение автоматных уравнений для временных автоматов относительно параллельной композиции

''2 О.В. Кондратьева <[email protected]> 1Н.В. Евтушенко <[email protected]> 2А.Р. Кавалли <[email protected]> 1 НИ ТГУ, 634050, Россия, г. Томск, пр. Ленина, дом 36 2 Телеком Южный Париж, 91000, Франция, г. Эври, ул. Чарльза Фурье, дом 9

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

Ключевые слова: временной автомат, параллельная композиция, автоматное уравнение, наибольшее решение, ограничения внешней среды.

1. Введение

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

Реальные системы всегда функционируют в некоторой среде, которая может воздействовать на систему и в которой возможно наблюдение за реакциями системы. Свойства среды влияют как на управляемость и наблюдаемость

85

системы, так и могут накладывать дополнительные ограничения на поведение системы. Использование таких ограничений внешней среды, как частичная управляемость, инерционность (конечность обработки сигналов средой и системой), конечность времени ожидания ответа от используемого приложения, может оказаться полезным для повышения эффективности разработки функциональных и качественных требований, для оптимизации многокомпонентных систем, а также при построении тестов. Поэтому мы рассматриваем построение композиции и решение уравнений для временных автоматов с учетом дополнительных ограничений, накладываемых на среду и/или компоненты системы.

Статья организована следующим образом: в разделе 2 вводятся необходимые определения и обозначения для автомата с таймаутами и рассматриваются ограничения для внешней среды через поведение максимального автомата. Раздел 3 посвящен построению параллельной композиции, для которой в разделе 4 приводится формула для нахождения наибольшего решения при различных ограничениях для внешней среды. В разделе 5 обсуждаются перспективные направления для дальнейших исследований.

2. Временной автомат с таймаутами

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

В общем случае, без дополнительных ограничений, внешняя среда, в которой функционирует временной автомат, удовлетворяет следующим предположениям и требованиям: 1) со стороны внешней среды на автомат могут поступить только символы из некоторого входного алфавита I, и со стороны автомата во внешнюю среду поступают символы из некоторого выходного алфавита О; 2) выходной символ может быть получен внешней средой только после подачи на автомат некоторого входного символа, т.е. входной символ всегда предшествует выходному символу; 3) после получения автоматом входного символа, возможно, по истечении некоторого времени, будет произведен некоторый выходной символ; 4) внешняя среда является достаточно «медленной», т.е.следующий входной символ может быть подан на систему, поведение которой описано временным автоматом, не ранее, чем был получен выходной символ на предыдущее входное воздействие. Описанная подобным образом среда может рассматриваться как наиболее общая для функционирования автоматов с заданными входным и выходным алфавитами, так как выполнение данных требований не накладывает никаких дополнительных ограничений на поведение и структуру автоматов. Как обычно, N далее обозначает множество натуральных чисел.

Автоматом с таймаутами [3, 5] или в данной статье просто временным автоматом называется семёрка 5 = (5", I, О, Х8, А8, а8), где пятёрка (5", I, О, есть классический конечный автомат, дополненный функцией

задержки входного символа Дх: —>■ х (М и{оо}) и функцией задержки выходного символаа5:—> 2(М и 0, где - конечное непустое множество состояний с выделенным начальным состоянием ли. I \\ О - конечные входной и выходной алфавиты соответственно, ^сХх/хХхО - отношение переходов. Функция Дх (далее также называемая функцией таймаута) определяет для каждого состояния максимальное время ожидания входного символа (таймаут) и состояние, в которое автомат перейдёт по истечении таймаута в случае, если ни один входной символ не поступил. Функция стх определяет для каждого перехода непустое, возможно бесконечное множество допустимых интервалов времени, необходимых для выполнения соответствующего перехода и получения выходного символа в ответ на поступившее входное воздействие (выходной таймаут). Аналогично [5], далее мы предполагаем, что множество значений стх для каждого перехода может быть представлено множеством значений конечного набора целочисленных линейных функций вида {Ь + /<■[ | Ь. к е {0} и1\1}.

Свойства детерминированности и полной определенности формулируются для временных автоматов аналогично конечным автоматам. Автомат называется полностью определенным, если для любого 51 е и любого / е / существует, по крайней мере, одна пара (52, о)б5"хО, такая, что (л,. /. л2. о) е в противном случае автомат называется частичным. Временной автомат называется /-детерминированным, или детерминированным по входным символам, если для любых состояния ^ е 5 и входного символа / е / определено не более одной пары (л2. о) е Л' / О такой, что (.V,. /', л2. о) е в противном случае, автомат называется /-недетерминированным. Временной автомат называется /-детерминированным, или детерминированным по времени, если для каждого перехода /, л2. о) е определено единственное значение допустимой задержки выхода, т.е. /', л2. о))| = 1, в противном

случае, автомат называется недетерминированным. Временной автомат называется детерминированным, если он /- и /-детерминированный, в противном случае - недетерминированным.

Поведение временного автомата существенно зависит от временных параметров, поэтому для его описания вводятся понятия временных входного и выходного символов [3]. Временной входной символ (/,/)е/х({0} и1\1), поданный на автомат в текущем состоянии 5, означает, что входной символ / подается на автомат по истечении I единиц времени с момента достижения автоматом состояния 5 или по истечении I единиц времени с момента наблюдения предыдущего выходного символа. Временной выходной символ (о, к) е О х ({0} и 1\1) показывает, что символ о выдается автоматом через к единиц времени после получения входного символа. Для вычисления реакции автомата на временной входной символ (/, I). поданный в состоянии 5, на

87

основе таймаутов вычисляется состояние, в которое автомат перейдет из состояния ото истечении времени t [3]: входной символ /поступит на автомат в состоянии sp, в котором оканчивается последовательность переходов по таймаутам As(s) = (sb 7\), As 00 = (s2, Т2), ..., AsO^-O = (sp, Тр) такая, что Т\ + Т2 + ... + Tp_i<t, но Тх + Т2+ ... + Тр> t. Отметим, что если As (5) = (5,00), то sp = s при любом t. Таким образом, в результате подачи символа (/, t) в состоянии s автомат может выдать выходной символ о через к единиц времени, если и только если существует переход (sp, /', s', о) е ~/.s и к е as((sp, /', s', о)), и в этом случае временной выходной символ (о, к) есть реакция автомата на временной входной символ (/, t) в состоянии s. Рассмотрим временную входную последовательность а= (г'ь t\ )(ь. ь)•••('„• t„) и временную выходную последовательность $ = (pi,ki)(p2,k2)...(p„,k„). Если в автомате S существует такая последовательность переходов, что выходная последовательность (3 может быть реакцией автомата в состоянии s на входную последовательности а, то пара оф называется временной вход-выходной последовательностью или временной трассой автомата S в состоянии s. Множество всех временных трасс автомата S в состоянии s обозначим traces(s).

Два состояния s и р временных автоматов S и Р называются эквивалентными, если множества трасс в этих состояниях совпадают, то есть traces(s) = tracePip). Автоматы S и Р называются эквивалентными, если их начальные состояния эквивалентны. Автомат S есть редукция автомата Р, обозначение S <Р, если traces(s0) cztraceP(p0).

Множество всех временных трасс автомата S может быть представлено соответствующим конечным полуавтоматом Aut(S) с выделенным специальным символом 1 g /и О для обозначения ожидания в течение единицы времени, такого, что полуавтомат Aut(S) распознает последовательность а = 1h i\ 1kl о\ ... Vm im 1km om, если и только если (/'i, /i).(°i,h) ■■■ Qm, tm).(om,km) есть временная трасса автомата5[5]. Конструктивно, соответствующий полуавтомат может быть построен заменой каждого перехода временного автомата на цепочку переходов, в которой переходы по входному и выходному символу разделены требуемым числом переходов по символу 1. Переходы по таймауту представляются цепочкой переходов по символу 1 через «копии» начального состояния цепочки.

Утверждение 1[5]. Временные автоматы S и Р эквивалентны, если и только если эквивалентны соответствующие им полуавтоматы Aut(S) MAut(P). Автомат S есть редукция автомата Р, если и только если Aut(S) есть редукция^ ut(P).

Язык, распознаваемый полуавтоматом Aut(S), будем называть (развернутым по времени) языком временного автоматаЭ и обозначать L{S).

Максимальным временным автоматом в алфавитах I и О будем называть такой временной автомат М10, который содержит в себе любой временной автомат 5 как редукцию. Язык максимального временного автомата обозначим ЦМ/>0) = [(1)7(1 )*0]*(1)*. По определению, язык 1(5) некоторого временного автомата является [(1) и (1) /(1) <3]-префикс-замкнутым подмножеством языка Ь(М10), то есть таким, что для любых последовательностей а е ИМ,,,) и Ь е [(1)*и (1)7(1 )*0] справедливо: если аЬ е Ь(Б), то и а е ¿(5). Отметим, что язык полуавтомата, соответствующего временному автомату, распознает не только трассы временного автомата, но и все их продолжения с суффиксами из (1) . Данные суффиксы отражают тот факт, что после выдачи последнего выходного символа автомат не прекращает свое функционирование и не осуществляет сброс в начальное состояние (если не сказано иное), и может продолжать изменять состояние под действием таймаутов. Максимальным временным автоматом в заданной среде будем называть максимальный подавтомат М/0, удовлетворяющий ограничениям, связанным в частности с дополнительными ограничениями внешней среды, в которой функционирует временной автомат.

Полезными на практике оказываются следующие ограничения и их комбинации:

1. Инерционность внешней среды, после получения от автомата выходного символа, среде требуется некоторое минимальное время на генерацию следующего входного символа. Язык максимального автомата в инерционной среде будет иметь вид [(1)7(1 )*0(1)"]*(1)*, где п е N представляет минимальное время реакции среды.

2. Инерционность системы, любой системе требуется некоторое минимальное отличное от нуля время, чтобы произвести выходную реакцию на полученное входное воздействие. Язык максимального автомата для инерционных систем будет иметь вид [(1)7(1 )т(1)*<3]*(1)*, где да е N представляет минимальное время реакции системы.

3. Ограниченность времени ожидания: среда может ожидать выходную реакцию системы на поданное входное воздействие не дольше некоторого заранее заданного интервала времени. Язык

максимального автомата для систем в такой среде будет иметь вид [(1) 7(1 где к е N представляет максимальное время

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

4. Запрет на подачу входной последовательности а = (г^,^)... (/„, /я): на временной автомат не может быть подана входная последовательность а в силу свойств внешней среды или если данная последовательность приводит к недопустимому поведению системы. Данное требование полностью описывается рассмотрением редукций соответствующего частичного максимального автомата, имеющего язык вида [(1)7(1 )*<3]*(1)*/ [(1)^/1 (1 )*0] ... [(1)Ч(1)*0] (1)*.

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

3. Параллельная композиция временных автоматов

Для описания взаимодействия временных автоматов в режиме диалога вводится операция параллельной композиции. Схема бинарной параллельной композиции приведена на рис. 1. Без ограничения общности, далее мы полагаем, что алфавиты /ь /2, Оь 02, и, V попарно не пересекаются. Обозначим через / = Ди/г и О = 0^и02 внешние входной и выходной алфавиты композиции.

и ь

р

4 1/

Рис. 1. Схема параллельной композиции

Аналогично композиции для конечных автоматов [1], параллельная композиция временных автоматов может быть построена по соответствующим полуавтоматам. Параллельной композицией [1.2] полуавтоматов А = (Л, А'и Г, я0. и В = (В, ¥ и Ь(и 5В, Ев) называется полуавтомат

С = (С, А'и г. Со, 5С, /'с), такой, чтоС = |/А /д-п В-х/\,х х (обозначение: С = А 0 В), где операции пересечения (п), расширения (п) и ограничения (и) полуавтоматов определены известным образом на основе соответствующих операций над регулярными языками [1,2].

Пусть заданы временные автоматы 5 = (5", 1\ и I'. ()\ и ( '. стх) и

Р = (Р. ¡2 'о ( '. (>2 и К /?,,. /-,". А/-. Стр) и ограничения внешней среды для композиции выражены автоматом Мс<М10. Тогда временной автомат С, которому соответствует полуавтомат Лм{С)= [Ли^Б) ()Лш{Р)\г\Ли1{Мс)* есть параллельная композиция временных автоматов Б и Рпри ограниченииМс- В том случае, если дополнительные ограничения для внешней среды не заданы, то есть Мс = М/0, то определение параллельной композиции совпадает с таковым из [5].

Утверждение 2. Если < Б2 и Р^ < Р2. то 5-| 0 Р-\<Э2 0 Р2.

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

Следствие. Максимальный автомат композиции любых компонент 5 и Р, удовлетворяющих ограничениям, выраженным максимальными автоматами М5 и Мр соответственно, есть автомат Мс = М3 0 Мр.В частности, композиция инерционных автоматов (с ненулевой минимальной задержкой выхода) также будет инерционным автоматом.

4. Наибольшее решение уравнения для временных автоматов

Рассмотрим автоматное уравнение А 0Х~ С, коэффициенты А и С которого описываются временными автоматами, 0 есть оператор параллельной композиции, а в качестве отношения конформности ~ выступает редукция (в этом случае можно говорить об автоматном неравенстве). Тогда по определению параллельной композиции, неравенство для временных автоматов вида

дох<с

можно решать как неравенство над соответствующими полуавтоматами

АиЦА) 0Аи((Х) гАи^Мс) <Аи((С), которое сводится к следующему неравенству над языками полуавтоматов

ЦА) 0 ИХ) глЦМс) с ЦС).

Далее, применяя известное преобразование А и В = СОЛ = С п В из теории множеств, получим языковое неравенство вида

ЦА) 0 ЦХ) с ЦС) u L(MC) ■ Используя известные результаты для наибольшего решения языкового

неравенства [1], найдем наибольшее решение: Solution = L(A)0 {l,(C)r\ 1,(МС )) . В общем случае, язык LSoiutio„ не является языком некоторого временного автомата, но являясь наибольшим решением, содержит в себе в том числе и все решения, соответствующие временным автоматам и являющиеся решениями исходного автоматного уравнения. Наибольшее решение LSoiutioп. tfsm, являющееся языком временного автомата и, следовательно, решением автоматного уравнения, есть наибольшее префикс-замкнутое подмножество языка LSoiutionг' ЦМу). где Мхесть максимальный автомат для неизвестной компоненты. Для краткости, обозначим 1Х и Ох входной и выходной алфавиты неизвестной компоненты, соответственно.

Утверждение 3. Наибольшее решение автоматного уравнения (неравенства) А 0 X < С для временных автоматов есть временной автомат Этакой, что L(S) есть наибольшее [(1) и (1) /у(1) Оу]-префикс-замкнутое подмножество

языка ЦоШо„ п ЦМХ), где Цоыат =L(A)0 (цС)гл L(MC)) и д^есть

максимальный автомат для неизвестной компоненты. Если LSoiution = 0, то уравнение неразрешимо. Если Ь5ошоп ^ 0, но L(S) = 0, то уравнение не имеет автоматного решения.

Доказательство. Пересечение с языком ЦМх) обеспечивает, что решение, если существует, содержится в максимально возможном допустимом поведении автомата для неизвестной компоненты. Алгоритм построения наибольшего префикс-замкнутого подмножества заданного регулярного языка известен [1]. Следовательно, L(S) есть максимальный язык временного автомата, содержащийся в LSoiution и являющийся решением автоматного уравнения (неравенства).

Временной автомат, соответствующий языку L(S), в общем случае представляет собой недетерминированный, возможно частичный, автомат, описывающий совокупность всех возможных допустимых реализаций неизвестной компоненты. Стоит заметить, однако, что частичность решения

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

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

5. Пример

В качестве примера для иллюстрации решения уравнений для временных автоматов рассмотрим задачу реализации композиции двух сервисов. При разработке сервиса в виде композиции других сервисов возникают следующие задачи: 1) проверить, предоставляет ли взаимодействие заданных компонент требуемый сервис, и 2) осуществить выбор компонент, которые бы во взаимодействии предоставляли желаемый сервис. В том случае, если проектируемый сервис и сервисы-компоненты описаны временными автоматами с таймаутами, данные задачи могут быть решены, в том числе, и с учетом требований к временным параметрам качества композиции сервисов. Рассмотрим в качестве примера простую композицию для заказа товара в пункт самовывоза: покупатель осуществляет заказ (rcqucst)n по истечении оговоренного времени доставки может забрать заказ из пункта самовывоза (deliver).Время доставки для такого сервиса является одним из наиболее важных параметров качества сервиса. Потребуем, чтобы время доставки не превышало 7 дней. Тогда временной автомат, приведенный на рис. 2 (слева), описывает заданную композицию с указанным требований к качеству сервиса (ограничением максимального времени доставки).

Рис. 2. Временной автомат для сервиса заказа с самовывозом с ограничением времени доставки (слева) и без ограничения времени доставки (справа)

Заданная композиция может быть реализована композицией двух сервисов: сервиса Продавец и сервиса Пункт самовывоза. Опишем взаимодействие между сервисами: покупатель заказывает некоторый товар у Продавца (request) и Продавец отправляет запрос на проверку наличия товара в Пунтке самовывоза (check). Если товар есть в наличии (product), то покупателю отправляется уведомление о возможности получить заказ (deliver), иначе отправляется запрос на поставку товара со склада (ship). После поставки

товара в Пункт самовывоза (get_product), после проверки (chcck)n подтверждения, что был поставлен необходимый товар (product), покупатель получает уведомление о доставке, либо в случае ошибки (no_product) Продавец повторно заказывает доставку товара. На рис. 3 приведен временной автомат, описывающий работу Продавца.

v request/ check ({1,2}) ■ ■--!---------■■!- у-/

product / deliver (1) get_product / check (1)

Рис. 3. Временной автомат для компоненты Продавец

Найдем решение уравнения для неизвестной компоненты Пункт самовывоза без ограничения времени доставки, но при условии, что никакое действие не может быть осуществлено моментально и минимальная задержка выходного сигнала составляет 1 день (предположение об инерционности системы).Наибольшее решение представлено на рис. 4. Решение существует, следовательно, описанная композиция может быть реализована.На рис. 4символ * использован для обозначения любого произвольного поведения (т.е. множества всех возможных входо-выходных пар автомата с любой возможной задержкой выхода), и соответствует части поведения компоненты, которая не может быть достигнута из заданного контекста; соответственно, эта часть не влияет на результат композиции и потому может быть определена (реализована) любым оптимальным образом. Символ N обозначает множество натуральных чисел.

no_product / ship (2)

check/

no_product (N)

Рис. 4. Наибольшее решение для компоненты Пункт самовывоза

Оптимизируем работу Пункта самовывоза таким образом, чтобы минимизировать время доставки товара, и проверим, при каких условиях возможно гарантировать выполнение требования о доставке в течение 7 дней. Решение (полностью определенное) с минимальным временем задержки приведено на рис. 5 (слева) и композиция данного частного решения с контекстом приведена на рис. 5 (справа). Из построенной композиции видно, что при заданном контексте (/¡робанег/)выбра ннос решение для компоненты

Пункт самовывоза не может гарантировать соблюдение ограничения по максимальному времени доставки в силу возможности возникновения осцилляции (о чем свидетельствует наличие периода 5/в множестве задержек выхода композиции без ограничения верхнего значения). Дальнейший более детальный анализ композиции может показать, что композиция с ограничением времени доставки в 7 дней будет гарантировано выполняться только в том случае, если запрашиваемый продукт всегда будет находиться в Пункте самовывоза (т.е. соответствующая компонента в ответ на запрос check всегда будет отвечать product). В иных ситуациях требуется либо пересмотр заданных требований к качеству, либо дальнейшая оптимизация компонент композиции, включая дальнейшую оптимизацию работы компоненты Продавец.

Рис. 5. Оптимальное по времени поведение компоненты Пункт самовывоза (слева) и ее композиция с компонентой Продавец (справа)

6. Заключение

В статье рассмотрено построение параллельной композиции временных автоматов и синтеза неизвестной компоненты, которая при взаимодействии с известной частью системы удовлетворяет заданной спецификации композиции. На примере простой композиции для заказа товара с доставкой в пункт самовывоза проиллюстрированы перспективы использования введенных операций для оценки и управления качеством композиции сервисов.

Отметим, что значения функций таймаутов и задержек выхода в рассматриваемой модели временного автомата могут принимать только целочисленные значения. При рассмотрении реальных систем (в частности, сервисов) подобное ограничение оказывается достаточно жестким: для задержек выхода, более реалистичной интерпретацией является определение интервала времени, в течение которого автомат может выдать выходной символ. Так как в композиции задержки выходного символа одной компоненты определяют моменты времени поступления внутренних символов на вход другой компоненты, то расширение области значений функции задержки выходного символа на произвольные интервалы, в общем случае, требует дальнейших исследований. Однако все результаты, полученные при целочисленных задержках выходного символа, сохраняются при использовании открытых справа интервалов, то есть при замене каяедой целочисленной задержки ина интервал [п, п + 1). Это достигается за счет того, что при целочисленных таймаутах любой входной символ, поступивший на автомат в некоторый момент времени в интервале [п, п + 1), обрабатывается автоматом так же, как входной символ, поступивший точно в момент времени

п. Подобные рассуждения согласуются с выводами работы [4] при сравнении выразительности моделей временного автомата с таймаутами и интервалами. Использование параллельной композиции и решения соответствующих уравнений для временных автоматов представляется перспективным для решения таких задач, как тестирование в контексте, и анализ свойств композиции взаимозаменяемых компонент, например, при оценке качества динамической композиции сервисов. Также интересной для дальнейшего исследования проблемой является вопрос разрешимости автоматного уравнения при различных ограничениях внешней среды.

Список литературы

[1]. Т. Villa, N. Yevtushenko, R.K. Brayton, A. Mishchenko, A. Petrenko, A.L. Sangiovanni Vincentelli. The unknown component problem: theory and applications. Springer, 2012. 311 p.

[2]. H.B. Евтушенко, А.Ф. Петренко, M.B. Ветрова. Недетерминированные автоматы: анализ и синтез. 4.1. Отношения и операции: Учебное пособие. Томск: Томский государственный университет, 2006. 142 с.

[3]. M. Zhigulin, N. Yevtushenko, S. Maag, A.R. Cavalli. FSM-based test derivation strategies for systems with timeouts. Proceedings of the international conference QSIC 2011. P. 141-149.

[4]. D. Bresolin, K. El-Fakih, T. Villa, N. Yevtushenko. Deterministic Timed Finite State Machines: Equivalence Checking and Expressive Power. Proceedings GandALF 2014. EPTCS 161,2014. P. 203-216.

[5]. O.B. Кондратьева, H.B. Евтушенко, A.P. Кавалли. Параллельная композиция конечных автоматов с таймаутами. Веста. Том. гос. ун-та. Управление, вычислительная техника и информатика. № 2(27). 2014. стр. 73-81.

Solving parallel equations for Finite State Machines with Timeouts

1,2 O. Kondratyeva <[email protected]> 1 N. Yevtushenko <[email protected]> 2 A. Cavalli <[email protected]>

1 Tomsk State University, 634050, Russia, Tomsk, av. Lenina, 36

2 Telecom SudParis, 91000, France, Evry, rue Charles Fourier 9

Abstract. The problem of designing an unknown component that combined with the known part of a discrete event system satisfies the given overall specification arises in a number of applications. In this paper, we extend the known results for classical Finite State Machines (FSM) to Finite State Machines with Timeouts (TFSM).

A TFSM is an FSM augmented with an input and an output timeout functions, prescribing the change of current state if no input is applied until a specified timeout expires and system delays needed to response to applied input, respectively. We represent the behavior of a TFSM by the corresponding regular language, so that L(S) has a word a= ltl il lkl ol ... ltmim 1km om if and only if the given TFSM S has a timed trace (il, tl).(ol, kl) ... (im, tm).(om, km). The parallel composition of two TFSMs C = S 0 P is defined via composition of languages L(C) = [L(S) 0 L(P)] n L(MC), where MC is a maximal TFSM over input and output alphabets of the composition.

The unknown component X is then designed as a solution to the equation A 0 X < C with TFSM coefficients A (context) and C (specification), where < is the reduction relation which specifies that the behavior of a system behavior to be designed is contained in that of the specification. Similar to classical FSMs, the equation is transformed to a language equation

L(A)0L(X)cL(C )\jL(Mc) with the largest solution

, the largest TFSM subset of which provides the largest solution to the solvable TFSM equation. After the largest solution is derived, a corresponding reduction can be extracted in order to provide the component with required properties. The application areas vary from testing in context to quality optimization of service compositions. Future work includes studying equation solvability criteria and properties of nondeterministic and partial specifications and solutions.

Keywords: finite state machine with timeouts, parallel composition, automata equations, the largest solution, environment restrictions.

References

[1]. T. Villa, N. Yevtushenko, R.K. Brayton, A. Mishchenko, A. Petrenko, A.L. Sangiovanni Vincentelli. The unknown component problem: theory and applications. Springer, 2012. 311 p.

[2]. N.V. Yevtushenko, A.F. Petrenko, M.V. Vetrova. Nedeterminirovannie avtomaty: analiz i sintez. Ch.l. Otnosheniya i operazii [Nondeterministic finite state machines: analysis and synthesis. Part 1. Relations and operations]: Tutorial, Tomsk: Tomsk State University, 2006. 142 p. (in Russian).

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

[3]. M. Zhigulin, N. Yevtushenko, S. Maag, A.R. Cavalli. FSM-based test derivation strategies for systems with timeouts. Proceedings of the international conference QSIC2011.P. 141-149.

[4]. D. Bresolin, K. El-Fakih, T. Villa, N. Yevtushenko. Deterministic Timed Finite State Machines: Equivalence Checking and Expressive Power. Proceedings GandALF 2014. EPTCS 161,2014. P. 203-216.

[5]. O.V. Kondratyeva, N.V. Yevtushenko, A.R. Cavalli. Parallel composition of nondeterministic Finite State Machines with Timeouts // Tomsk State University Journal of Control and Computer Science. 2014. № 2(27). P. 73-81. (in Russian).

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