Система автоматов: композиция по графу
связей
И.Б. Бурдонов <igor@ispras.ru> А.С. Косачев <kos@ispras.ru> Институт системного программирования РАН, 109004, Россия, г. Москва, ул. А. Солженицына, д. 25.
Аннотация. Статья посвящена проблеме моделирования и композиции составных систем. Компоненты системы моделируются конечными автоматами с несколькими входами и выходами, а взаимодействие между ними - обменом сообщениями по симплексным каналам связи. Система описывается ориентированным графом связей, вершина которого соответствует автомату компонента, а дуга - каналу связи, соединяющему выход одного автомата со входом другого автомата. Автомат в вершине графа в каждом состоянии может принимать несколько сообщений по своим входам (не более одного по каждому входу) и посылать несколько сообщений по своим выходам (не более одного по каждому выходу). Входы (выходы) автоматов, которые не соединяются с выходами (входами) автоматов, являются внешними, через них осуществляется связь системы с её окружением. Автоматы системы работают синхронно: на каждом такте каждый автомат выполняет один переход. Переход автомата, предъявляя требования к состоянию всех входов и выходов автомата (указываются сообщения на них), отдельно указывает ту часть входов и выходов, по которым сообщения соответственно принимаются и посылаются, соответственно. Синхронность взаимодействия автоматов означает, что для каждого соединения требования автоматов, связанных этим соединением, должны быть согласованы. Это даёт возможность описывать более широкий спектр поведений автомата. Например, приоритетный приём сообщений: если на входах автомата имеется несколько сообщений, автомат может принять сообщения с наивысшим приоритетом, не принимая остальные сообщения. Также это позволяет автомату выполнять приём сообщений независимо от того, удаётся или не удаётся одновременно послать некоторое сообщение на некоторый выход. Определяется композиция автоматов системы по графу связей и доказывается её ассоциативность. В заключение определяются направления дальнейших исследований.
Ключевые слова: ориентированные графы, взаимодействующие автоматы, композиция автоматов, распределенные системы, сети.
DOI: 10.15514/ISPRAS-2016-28( 1)-8
Для цитирования: Бурдонов И.Б., Косачев А.С. Система автоматов: композиция по графу связей. Труды ИСП РАН, том 28, вып. 1, 2016 г., с. 131-150. DOI: 10.15514/ISPRAS-2016-28(1)-8
1. Введение
Большинство сложных, особенно распределённых, систем представляет собой набор взаимодействующих компонентов. В данной статье, как и в нашей предыдущей статье [1], компоненты моделируются конечными автоматами, а взаимодействие - обменом сообщениями между автоматами. Мы будем предполагать, что автомат имеет несколько входов для приёма сообщений и может принимать сразу несколько сообщений; также автомат имеет несколько выходов для посылки сообщений и может посылать сразу несколько сообщений. Структура связей между компонентами моделируется ориентированным графом (будем называть его графом связей), вершинам которого соответствуют автоматы, а дуги называются соединениями и соответствуют симплексным каналам передачи сообщений. Соединение, ведущее из автомата A в автомат B, помечается выходом j автомата A и входом i автомата B. При этом каждый вход (выход) каждого автомата соединён не более чем с одним выходом (входом) другого (или того же самого) автомата. Входы (выходы) автоматов, которые не соединяются с выходами (входами) автоматов, являются внешними, через них осуществляется связь системы с её окружением. Набор сообщений на внешних входах системы можно назвать внешним стимулом, а набор сообщений на внешних выходах системы можно назвать внешней реакцией.
В [1] сообщения между автоматами, расположенными в вершинах графа связей, буферизовались соединяющими автоматы дугами графа связей. Каждая дуга представляла собой очередь длины 1 и моделировалась специальным автоматом с одним входом и одним выходом, который взаимодействовал с автоматами вершин, инцидентных этой дуге, уже синхронно. В данной статье надобность в таких буферизующих дугах и моделирующих их автоматах специального вида отпадает, или, если угодно, выполняется такое обобщение автомата дуги, которое стирает различие между автоматом дуги и автоматом вершины.
Мы будем считать, что граф связей статический, то есть не меняющийся в процессе работы системы. В этом случае система (также как её компоненты) может моделироваться конечным автоматом, получающимся из автоматов-компонентов с помощью подходящего оператора композиции, учитывающего граф связей.
В предлагаемой модели автоматы системы работают синхронно: на каждом такте каждый автомат выполняет один переход. Также на каждом такте окружение системы посылает сообщения на некоторые внешние входы системы и принимает сообщения с некоторых внешних выходов системы. Для получения замкнутой формальной системы окружение моделируется автоматом, выходы которого соединяются с внешними входами системы, а внешние выходы системы соединяются со входами окружения. Сначала, в разделе 2, формально определяется модель автомата и модель системы. Основная особенность предлагаемой модели автомата заключается в 132
том, что переход автомата, предъявляя требования к состоянию всех входов и выходов автомата (указываются сообщения на них), отдельно указывает ту часть входов и выходов, по которым сообщения соответственно принимаются и посылаются. Синхронность взаимодействия автоматов означает, что для каждого соединения требования автоматов, связанных этим соединением, должны быть согласованы.
Это даёт возможность описывать более широкий спектр поведений автомата. Например, приоритетный приём сообщений: если на входах автомата имеется несколько сообщений, автомат может принять сообщения с наивысшим приоритетом, не принимая остальные сообщения. Также это позволяет автомату выполнять приём сообщений детерминированно, т.е. независимо от того, удаётся или не удаётся одновременно послать некоторое сообщение на некоторый выход. Если удаётся послать сообщение, автомат выполняет один переход, а если не удаётся, то другой. Обычно это приводит к недетерминизму: на один стимул выдаются разные реакции. Однако в нашей модели реакция - это требования к выходам, а не указание той части выходов, по которым сообщения реально передаются.
В разделе 3 формально определяется композиция переходов, композиция автоматов и композиция системы. Такая композиция выполняется по одному соединению. Доказывается, что композиция автоматов удовлетворяет требованиям, предъявляемым к автомату, а композиция системы удовлетворяет требованиям, предъявляемым к системе автоматов. Композиция системы по всем её соединениям представляет собой автомат или набор автоматов, не связанных между собой соединениями. В разделе 4 доказывается ассоциативность композиции переходов, автоматов и системы. Ассоциативность важна для того, чтобы работа системы зависела только от множества её автоматов и соединений и не зависела от какого-либо упорядочивания этих множеств.
В разделе 5 определяется дополнительная композиция автоматов, не связанных соединениями, что позволяет докомпоновать систему ровно до одного автомата. Такой композиционный автомат, эквивалентный исходной системе, может уже использоваться как компонент более сложных систем автоматов.
В заключение намечаются направления дальнейших исследований. 2. Модель
Пусть задано некоторое конечное множество сообщений M, которое мы будем называть алфавитом (сообщений). К алфавиту сообщений добавим выделенное пустое сообщение AgM, и обозначим MA =Mu{A}. Пустое сообщение моделирует отсутствие сообщения на входе или выходе автомата. Автомат в алфавитеM- это наборA=(M,I,J,S,T,s0), где I - конечное множество входов автомата,
J - конечное множество выходов автомата,
S - конечное множество состояний автомата,
T с SxXxPxYxQxS - множество переходов автомата, где
X = {x | x:I^MA } - множество стимулов (если 1=0, то X={0}),
Y = {У I y:J^MA } - множество реакций (если J=0, то Y={0}),
P = 2 - семейство подмножеств входов (по ним принимаются сообщения),
Q = 2 - семейство подмножеств выходов (по ним посылаются сообщения),
s0 е S - начальное состояние,
причём выполнены следующие условия:
1. входы и выходы не пересекаются: I nJ = 0,
2. приниматься по входу и передаваться по выходу может только непустое сообщение: V(s, x, p, y, q, t) eT (Vi ер x(i)?A & Vj eqy(j)^A),
что эквивалентно V(s, x, p, y, q, t) eT (pcx'1(M) & qcy'1(M)). Очевидно, что из конечности множеств M, I, J и S следует конечность множеств X, Y, P, Q, T.
Для перехода a = (s, x, р, y, q, t) состояние s будем называть пресостоянием перехода, а состояние t - постсостоянием, и будем обозначать sa=s, xa=x, pa=p, ya=y, qa=q, ta=t. Для автомата A=(M,I,J,S,T,s0) будем обозначать IA=I,
JA=J:, SA=S, TA = T, s0A=s0.
Работу автомата можно описать следующим образом. В текущем состоянии s проверяется состояние входов, т.е. какие сообщения можно принять со входов. Этим определяется стимул x. Далее рассматриваются переходы по этому стимулу, т.е. множество TsxcT переходов из s по x. Каждый переход из множества Tsx определяет ту или иную реакцию y. Если для данных s и x имеются переходы с разными реакциями y, то недетерминированным образом выбирается реакция y как одна из реакций на переходах из множества Ts,x. После выбора реакции y проверяется состояние выходов, а именно, какие непустые сообщения, определяемые реакцией y, могут быть переданы по соответствующим выходам, а какие нет. Это определяет параметр q. Тем самым, определяется множество TsxyqcTsx переходов с данными s, x, y, q. Если это множество содержит более одного перехода, то недетерминированным образом выбирается один из них. Если выбран переход (s, x, p, y, q, t), то параметр p определяет, какие непустые сообщения будут приняты со входов автомата. Итак, принимаются сообщения, определяемые стимулом x, по входам, определяемым параметром p, посылаются сообщения, определяемые реакцией y, по выходам, определяемым параметром q, после чего автомат переходит в состояние t. Это описание работы автомата неформально. Формальное описание есть, по существу, формальное определение композиции автоматов, которое будет дано в разделе 3. Пусть V - конечное множество автоматов в алфавите M. Без ограничения общности можно считать, что входы, выходы и состояния автоматов разные:
УА,ВеУ (Л^Б ^ ¡А^1В=0& ¡АЫВ=0 & & БА^8В=0). Этого всегда
можно добиться с помощью систематического переименования состояний, входов и выходов автоматов, в результате которого получаются автоматы изоморфные исходным.
Система автоматов - это набор Я = (Ы,У,Е), где Е: ЕПот ~^Е1т - биекция, определяющая соединения, где ЕПот сЗк, Ет с1Я, JR = и^Л\Ае¥} -множество всех выходов всех автоматов, 1Я = и{1Л\Ае¥} - множество всех входов всех автоматов. Для системы Я = (М, У,Е) обозначим: УЯ=У, ЕЯ=Е. Определим функцию р:(1кы/к)^У, которая каждому входу или выходу системы Я ставит в соответствие автомат, которому этот вход или выход принадлежит, т.е. УАеУ \/2е1А^1А ср(2)=А. Будем говорить, что соединение (],1) ведёт из автомата ср(]) в автомат р(1). Функция р зависит от системы автоматов, однако для сокращения записи везде, где подразумевается система Я, мы её не указываем в параметрах функции р. Если функция р применяется для другой системы ЯЛ#Я, мы будем писать рЯ-.
Вход ¡е1Я, для которого не определено соединение, т.е. 10ЕЫ, будем называть внешним входом системы, и выход ] eJR, для которого не определено соединение, т.е. ] 0ЕВот, будем называть внешним выходом системы. Системе Я = (М, У,Е) соответствует ориентированный граф с помеченными дугами, вершинами которого являются автоматы из У, а дуга А^В существует и помечена соединением (¡,1) тогда и только тогда, когда (],1)еЕ, р(])=А и р(0=В. Такой граф обозначим через Og(Я). Если снять ориентацию дуг, то соответствующий неориентированный граф обозначим через ^(Я). Будем говорить, что автоматы А и В связаны в системе, если в графе ^(Я) существует (неориентированный) путь из А в В (возможно, пустой, если А=В). В противном случае разные автоматы А и В не связаны. Очевидно, что отношение связанности автоматов рефлексивно, симметрично и транзитивно, т.е. является отношением эквивалентности, которое разбивает множество автоматов У на классы эквивалентности, которые будем называть классами связанности.
Соединение (¡,1) еЕ будем называть петлёй, если это дуга-петля в графе Og(Я), то есть р(])=р(1).
Для удобства будем считать, что каждое состояние каждого автомата в системе Я=(М,У,Е) является множеством, причём состояния разных автоматов в системе являются непересекающимися множествами: \/А,ВеУ \т5Ае8А \т5Ве8В (А^В ^^Ат,В=0). Если уже задана система, в которой это условие не выполнено, то можно преобразовать каждый автомат, заменив в нём каждое состояние 5 на синглетон {¿}. Поскольку в системе автоматов состояния разных автоматов разные, то таким преобразованием будут получены автоматы изоморфные исходным, а для системы автоматов будет выполнено условие попарного непересечения множеств состояний автоматов.
Работу системы автоматов можно описать следующим образом. Все автоматы срабатывают одновременно, и каждый автомат выполняет не более одного перехода. При этом считается, что «внешнее окружение» автомата определяет, какое сообщение оказывается на каждом внешнем входе, включая пустое сообщение (т.е. отсутствие сообщения на входе). Также окружение определяет для каждого внешнего выхода множество «разрешённых» сообщений, включая пустое сообщение (т.е. отсутствие сообщения на выходе), где «разрешённое» сообщение - это сообщение, которое может посылаться системой по этому внешнему выходу, и для непустых сообщений окружение определяет, будет ли это сообщение принято окружением или нет. Далее, если автоматы A и B связаны таким соединением (j,i), что jeJA и ieIB, то для выполняемых переходов a eTA и b eTB сообщение ya(j) и условие его передачи j eqa на выходе j автомата A должны быть согласованы с сообщением xb(i) и условием его приёма i epb на входе i автомата B. Это означает, во-первых, что сообщение ya(j) на выходе j совпадает с сообщением xb(i) на входе i. И, во-вторых, сообщение либо передаётся из A по выходу j, т.е. j eqa, и принимается в B по входу i, т.е. iepb, либо не передаётся из A по выходу j, т.е. j 0qa, и не принимается в B по входу i, т.е. i0pb. Работа с внешними входами и выходами определяется аналогично, когда окружение моделируется тем или иным автоматом.
Это описание работы системы автоматов неформально. Формальное описание есть, по существу, формальное определение композиции системы автоматов по всем её соединениям, которое будет дано в следующем разделе 3.
3. Композиция
Существует большое разнообразие как автоматоподобных моделей, так и операторов их (параллельной) композиции, начиная с классической композиции в алгебрах процессов CSP - Communicating Sequential Processes [2] и CCS - Calculus of Communicating Systems [3]. Они определяют две разновидности композиции LTS (Labelled Transition System), в которых переходы помечены символами действий из заданного алфавита. Для систем ввода-вывода (IOTS - Input-Output Transition System), в которых действия разбиваются на стимулы (input) и реакции (output) предлагались различные модификации композиции [5][6][7], в частности, для обнаружения deadlock^ с целью наблюдения отказов (refusal) [4][5][6]. Для систем с приоритетами и моделей событий (систем более общего вида) нами были также предложены соответствующие операторы композиции [8][9]. Вводимая в данном разделе композиция учитывает наличие у автомата нескольких входов и выходов и моделирует взаимодействие автоматов через соединения, каждое из которых связывает выход одного автомата со входом другого автомата. Иными словами, это композиция автоматов по графу связей системы автоматов.
Введём способ сокращённой записи для преобразования функции с помощью уменьшения её домена: для произвольной функции f и произвольного множества N обозначим f/N =f\ {(z,f(z)) | zeNnDomf)}. Очевидно, что для произвольного множества N имеет место f/(NuNy) = (f/N)/N и для произвольной функции g такой, что Domf)nDom(g)=0 и NnDom(g)=0, имеет место (fug)/N = (f/N) ug. Будем считать, что операция "/" имеет тот же приоритет, что разность "\" и объединение "u" множеств. Как следствие, в выражениях над множествами, где используются только операции "/", "\" и "u", мы будем использовать бесскобочную запись и предполагать, что операции выполняются слева направо.
Логическую эквивалентность будем обозначать символом «~»: a~b = (a&b) v(—a&—b).
Композиция определяется по соединению (j,i) eE. Обозначим через A автомат, которому принадлежит выход j, т.е. A=q>(j), а через B автомат, которому принадлежит вход i, т.е. B=qy(i).
Композиция переходов по соединению. Для соединения (j,i) определим условие f(a,j,i,b) композиции двух переходов a и b и результат композиции a[j,i]b:
f(a,j,i,b) = aeTA & beTB & (A=B =^a=b) &ya(j)=xb(i) & (jeqa ~ iepb),
f(a,j,i,b): a[j,i]b =(sausb, XaUXi/{i}, paupb\{i}, yauyb/{j}, qauqb\{j}, taUtb).
Заметим, что если A =B, то
f(aj,i,a) =aeTA &ya(j)=Xa(i) & (jeqa ~ iepa),
f(a,j,i,a): a[j,i]a = (sa Xa/{i}, pa\{i}, yJij}, qa\{j}, tj.
Композиция переходов естественным образом распространяется на композицию множеств переходов, определяемую как множество попарных композиций переходов. Для соединения (j, i) определим композицию множеств переходов G и H: G[j,i]H = {a[j,i]blaeG & b eH &f(a,j,i,b)}. Композиция автоматов по соединению.
Мы определим композицию автоматов, в которой оставим только начальное
состояние композиции и пре- и постсостояния переходов композиции. Это
множество, очевидно, включает подмножество состояний, достижимых из
начального состояния. Для множества переходов T обозначим множество пре-
и постсостояний этих переходов: States(T) = {sala eT}u{tala eT}.
Для соединения j,i) определим композицию автоматов A и B
A[j,i]B =(M, lAulB\{i}, JauJb\{j}, {soAUSoB}uStates(TA[j,i]TB), TaO^Tb, SoaUSqb).
Теорема 1 о композиции автоматов по соединению:
Композиция автоматов удовлетворяет условиям, налагаемым на автомат.
Доказательство:
1. Алфавит сообщений не меняется и потому остаётся конечным. Условия конечности множеств входов, выходов и состояний композиционного автомата очевидным образом следуют из определения композиции и конечности множеств входов, выходов и переходов операндов.
2. Пусть f(a,j,i,b)=true. Для перехода a[j,i]b eTA¡j i]B надо показать следующее:
21 Saj,i]beSAj,i]B.
a[j,i]b eTAj-i]B влечёт Saj-^b eStates(TA[j,i]TB), что влечёт Sjfr&Sjp.
2.2. taj-j]beSAj-j]B. Доказывается аналогично 2.1.
2.3. xaj, i]b есть отображение IAj, i]B ~^MA.
Из того, что IAnIB = 0, xa является отображением IA^MA, xb является отображением IB^MA, следует, что xauxb/(ij является отображением (IA^IB\(ij)^MA. Следовательно, поскольку IA[j, í]b Ia^Ib \ {i}, а xa¡j i]b=xauxb/{i}, доказываемое утверждение верно.
2.4. yaj,i]b есть отображение JAjj]B^MA. Доказывается аналогично 2.3.
2.5. Paj,i]b£xaj,i]b'(M) (условие 2 дляp). xaj,i]b = xa^xi/{i}, paj,i]b = pa4>b\{i}. Посколькуpbcxb'(M), имеем (pb\{i})c(xb/{i})'1(M). Поскольку Dom(xa)=IA, Dom(xb)=IB, а IAnIB=0, имеем xanxb = 0. Также pacxa~'(M).
Тем самым, paj-,¡]b=(pa4pb\{i})£(xa^>Cb/{i})~1(M)= xaj,i]b'(M).
2.6. qa[j-,i]b^ya[j-,i]b~1(M) (условие 2 для q). Доказывается аналогично 2.5.
3. Покажем, что SoAj, т е SAj, да.
Поскольку SoAj,i]B = Soa^Sob, а SoAUSoBeSAjjB, имеем SoAj,i]B е Sjp.
4. Покажем, что IA¡j,i]B о JA[j,i]B = 0 (условие 1). Действительно, IAj,i]B oJAj,i]B = (ia^ibW) о (JaJ\{j'}) = (ШЪШ о ((JA\{j})J
= Ia о (Jj uIa oJb u(Ib'\{í}) о (JA\{j}) u(Ib\{í}) oJb = 0u0u0u0 = 0,
поскольку IA о JA = 0, IA о JB = 0, IB о JA = 0, IB о JB = 0.
5. Дополнительное условие на состояния: каждое из них является множеством.
Состояния автоматов-операндов это множества. Поэтому состояние композиционного автомата тоже множество по определению композиции. Теорема 1 доказана.
Бурдонов И.Б., Косачев А.С. Система автоматов: композиция по графу связей. Труды ИСП РАН, том 28, вып. 1,
2016 г., с. 131-150
Композиция системы по соединению. Для системы Я и соединения (¡,1)
определим ЯЩ] = (М, У\{А,В}и{Л[Ц]В}, Е\{(],1)}).
Теорема 2 о композиции системы по соединению:
Композиция системы удовлетворяет условиям, налагаемым на систему.
Доказательство:
1. Алфавит сообщений не меняется и потому остаётся конечным. Множество автоматов Ущ^ = УЯ\{А,В}^{А[),1]В} конечно, поскольку конечно множество УЯ.
2. Покажем, что, если система Я=(М,У,Е) удовлетворяла требованиям непересечения входов, выходов и состояний автоматов, то для соединения (¡4) еЕ этим же требованиям будет удовлетворять композиционная система Я[], I]. Нам достаточно показать, что входы, выходы и состояния автомата А[],1]В не пересекаются со входами, выходами и состояниями других автоматов композиционной системы Я[],1].
2.1. Поскольку композиционный автомат А[],1]В наследует входы и выходы из автоматов-операндов, а сами автоматы-операнды удаляются из системы, требование непересечения входов и выходов автоматов сохраняется. Формально: 1Аи:]]В=1А^1В\{1}, Jл¡j-,i]B=Jл^JB\{j}. Поэтому, если в исходной системе Я=(М,У,Е) входы и выходы не пересекались, т.е. \/С,БеУ (С¿О 1С^1О=0 & 1с^о=0 & JC^)JD=0), то входы и выходы композиционного автомата ЛЦ4]В не пересекаются со входами и выходами других автоматов композиционной системы ЯЦ4]: (1Ли1В\{1})п1О=0 & (1Ли1В\{1})ЫО=0& ^Лы/В\{1})ЫО=0, так как О?Л и D¿B.
2.2. Каждое состояние автомата ЛЦ4]В - это объединение состояний автоматов-операндов ¿Ли^. Поскольку автоматы-операнды удаляются из системы и состояния автоматов исходной системы Я не пересекаются, то состояния композиционного автомата также не пересекаются с состояниями других автоматов композиционной системы ЯЦ4]. Формально: поскольку \С,ОеУ (С¿О \5Се8С \5Ое8О 5Ст'О=0), имеет место (5Л^5В)т'О=0, так как D¿Л и D¿B.
3. Покажем, что Е\{^,1)} является биекцией подмножества всех выходов всех автоматов на подмножество всех входов всех автоматов. Действительно, Е: ЕОот ~^Е1т - биекция, где ЕОот сJЯ и Е1т с1Я. Следовательно, Е\{0,1)} : Еоот\Ц} ~^Егт\{1} - биекция. Также Еоот сJR и Е^ с1я влечёт Еоот\{} сJR\{j} и Е1п\{1} с 1я\{1}. Поскольку Ьи.ЦВ^Л^В^} и JЛ|j,i]B=JЛ^fB\{i}, а входы и выходы остальных автоматов из У не меняются, J¿\{j} = JR[j,i] и Iя\р} = 1яц] Обозначая Ея^рот = Еоот \ {1} и ЕЯЩ]1т имеем Ея^а = Е\{^А)} : Ея^фот ^ Ея¡^^т - биекция, где
ЕЯЩ]Оот = ЕОот\Р} с^я\Р} = и ЕЯ[^]1т = Е1п\{^ с1я\{$ = 1Я[Ц].
Теорема 2 доказана.
4. Ассоциативность композиции
Ассоциативность композиции важна для того, чтобы работа системы зависела только от множества её автоматов и соединений и не зависела от какого-либо упорядочивания этих множеств.
Последовательностью соединений для системы R = (M, V,E) назовём последовательность Z соединений из E, в которой каждое соединение встречается не более одного раза, т.е. Z:[1..\Z\]^E является инъекцией. Определим композицию системы R по последовательности Z как R[Z] = R[Z(1)][Z(2)]...[Z(\Z\)], если Z не пусто, и R[Z] =R, если Z пусто.
Последовательность соединений, являющуюся биекцией, т.е. содержащую каждое соединение из E, будем называть последовательностью всех соединений и обозначать ZA. Очевидно, что в системе R[ZA] нет соединений, т.е. ER[Z*]=0. Автоматы такой системы не связаны друг с другом, а все входы и выходы автоматов являются внешними.
Сначала мы докажем три леммы об ассоциативности композиции. Рассмотрим два различных соединения (j,i) eE и (l,k) eE и четыре автомата A=q>(j), B=qy(i), C=q>(l), D=q>(k).
Лемма 1 об ассоциативности композиции переходов:
Пусть a eTA, b eTB, c eTC, d eTD. Переходы, которые получаются из переходов a, b, c, d при композиции по соединениям (j,i) и (l,k), а также условия существования этих переходов не зависят от того, в каком порядке производится композиция.
Доказательство. Доказательство будем вести в зависимости от «топологии» соединений (j,i) и (l,k).
1. A —B C—D. 4 разных автомата, независимые соединения: A¿B, A¿C, A^D,
B^C, B^D, C¿D. Поскольку участвующие в этих двух соединениях пары автоматов {A,B} и {C,D} не пересекаются, также не пересекаются их множества переходов. Поэтому утверждение очевидно: при любом порядке композиции получается множество переходов {a[j,i]b,c[l,k]d}. В остальных случаях результатом композиции по двум соединениям будет не два перехода, а один переход. Пусть g -переход, являющийся результатом композиции в порядке (j,i), (l,k), а fg - условие существования этого перехода. Также пусть h - переход, являющийся результатом композиции в порядке (l,k), (j,i), а fh - условие существования этого перехода. Тогда нужно доказать, что fg=fh и g=h. Сначала мы докажем, что условие существования композиционного перехода, а также пресостояние и стимул не зависят от порядка композиции, т.е. fg=fh, Sg=Sh, xg=xh. После этого докажем аналогичное утверждение для остальных компонентов перехода: pg=ph, yg=yh, qg=qh, tg=th. Рассмотрим все оставшиеся «топологии».
2. Л —В —¿О. 3 разных автомата, цепочка соединений: С=В, Л¿B, Л¿D, B¿D. Имеем: g=(a[j,i]b)[l,k]d, к=а^4](Ъ[1,к]ф. Из С=В следует с=Ъ и lеJB.
2.1. / = /(а0,ф,1,к,ф
= аО',дЪ еТЛ[)-,]В & dеTD & Уa0,i]ьO)=Xd(k) & Оедаи.ф ~ керс) =/а^,Ъ) & dеТо & (ya^yb/{j})(l)=xd(k) & (1едаидь\{/} ~ керс) = аеТЛ & Ъ еТВ & УаО) =хь0) & ( еда ~ i ерь) & d еТо & Уь(1) =хл(к) & 0 едь ~ к ерс) = Ъ еТВ & d еТо & Уь(1) =Xd(k) & 0 едь ~ к еpd)
& аеТЛ &УаО) = Хъ(0 & (еда ~ iеръ)
=/(Ъ,1Ы) & аеТЛ &Уа0)=(хь^х/{к})0) & 0еда ~ iеpьupd\{k}) = b[l,k]dеTв[l,k]D & аеТЛ &Уа0)=хьр,км(0 & 0еда ~ iеpь[lMd) =/(a,j,i,b[l,k]d)= /
2.2. ^ = sa0,i]ь^sd = (sa^sЬ)^sd = sa^(sЬ^sd) = 5а^5Ь[1,кЦ = '5к.
2.3. Х8 = Хар, ^Ь {к} = (Ха^Хь/р})^х/{к} = Хаихьих/{Щ = Хаи(Хьих/{к}УР} = Ха^Хь[1к]с/Р} = Хк.
3. В^Л—О. 3 разных автомата, расходящиеся соединения: С=А, Л¿B, Л¿D, B¿D. Имеем: g=(a[j,i]b)[l,k]d, h=(a[l,k]d)[j,i]b. Из С=Л следует с=а и lеJл.
3.1. к = /(аО,ЦЪШ)
= а^^Ъ еТЛо,]В & dеTD & Уa[j,^]ь(l)=Xd(k) & 0едаи,ф ~ керс) =/(а04,Ъ) & dеTD & (Уa^Уь/{j})(l)=Xd(k) & Оедаид^О} ~ kеpd) = аеТЛ & Ъ еТВ & УаО) =хь0) & 0 еда ~ i ерь) & d еTD & Уаф =Xd(k) & 0 еда ~ к ер¿) = аеТЛ & d еTD & УаО) =хл(к) & 0 еда ~ к ерс) & ЪеТВ & УаО) = хь0) & 0 еда ~ i ерь)
=/(а,1к^) & ЪеТВ & (Уа^У/Р^О^ХьО) & 0 едаид^\{Ц ~ i ерь) = a[l,k]d еТЛЦкф & ЪеТВ & УаЦ^О) =хь0) & 0 едФШ ~ i ерь) =/(a[l,k]d,j,i,b)= /
3.2. Sg = sa[j,i]ь^sd = (sa^sЬ)^sd = С^а^^^Ь = ЗаЦЩ^Ь =
3.3. Xg = Ха0,ф^хУ{к} = (хаихъ/р})их/{к} = хаихьих/р,к}
= (Ха^х/{к})^Х1/р} = ХаЦк^Хь/р} = ХН.
4. Л —В——С. 3 разных автомата, сходящиеся соединения: D=B, Л¿B, Л?С, В ¿С. Имеем: g=c[l,k](a[j,i]b), h=a[j,i](c[l,k]b). Из D=B следует d=b и ке1в.
4.1. / = /(см^т
= а^^Ъ еТЛа,]В & сеТС &УсО)=Хаи,ф(к) & Оедс ~ кер^^) =/(а04,Ъ) & сеТС &Ус0)=(ха^хь/р})(к) & Оедс ~ кераирь\{}
= qeTa & b eTB & ya(j) =xb(i) & (j eqa ~ i epb) & c eTa & yc(l) =Xb(k) & (l eqc ~ k ерь) = ceTa & b eTB & yd =Xb(k) & (l eqc ~ k epb) & aeTA & ya(j) = Xb(i) & (j eqa ~ i epb)
=f(c,l,k,b) & aeTA &ya(j)=(Xc^Xb/(k})(i) & (jeqa ~ iepcUpb\(kj) = c[l,k]b eTa[l,k]B & aeTA &ya(j) =Xc[l,k]b(i) & (jeqa ~ i ep^l^jb) =f(a,j,i,c[l,k]b)=fh.
4.2. Sg = ScUSa[j-,i]b = ScU(SaUSb) = SaU(ScUSb) = SaUSc[Wb = Sh.
4.3. Xg = XcUXa[ji]b/{k} = Xcu(XaUXb/(i})/(k} = XcUXaUXb/(i,k} = XaU(Xc^Xb/{k})/{i} = Xa^Xc[l,k]b/{i} = Xh.
5. A^B. 2 разных автомата, петля в начале: C=D=A, A^B. Имеем: g=(a[j,i]b)[l,k](a[j,i]b), h=(a[l,k]a)[j,i]b. Из C=D=A следует c=d=a и leJA, kelA.
5.1. fg = f(a[j,i]b,l,k,a[j,i]b)
= a[j,i]b eTAj,]B & ya[j,i]b(l) =Xa[j,i]b(k) & (l eqaj,i]b ~ kepa[j,i]b) =f(a,j,i,b) & (yaUyb/{j})(l)=(Xa^Xb/{i})(k) & (leqaUqb\{i} ~ kepaUpb\{i}) = aeTA & b eTB &ya(j) =Xb(i) & (jeqa ~ i epb) &ya(l) =Xa(k) & (leqa ~ kepa) = aeTA &ya(l) =Xa(k) & (leqa ~ kepa) & b eTB &ya(j) =Xb(i) & (jeqa ~ i epb)
=f(a,l,k,a) & beTB & (yM)j)=Xb(i) & jeqa\{l} ~ iepb) = a[l,k]a eTA[l,k]A & beTB & ya[l,k]a(j) =Xb(i) & (j eqa[l,k]a ~ i epb) =f(a[l,k]a,j,i, b) = fh.
5.2. Sg = Saj,i]b = sa^sb = sa[l,k]a^sb = sh.
5.3. Xg = Xjfl/fk} = (Xa^Xb/{i})/{k} = Xa^Xb/{i,k} = (Xa/{k}UXb/{i} = Xa[l,k]a^Xb/{i} = Xh.
6. A^B. 2 разных автомата, петля в конце: C=D=B, A^B. Имеем:
g=(a[j,i]b)[l,k](a[j,i]b), h=a[j,i](b[l,k]b). Из C=D=B следует c=d=b и leJB, keIB.
6.1. fg = f(a[j,i]b,l,k,a[j,i]b)
= a[j,i]b eTAj,]B & ya[j,i]b(l) =Xa[j,i]b(k) & (leqajifr ~ kepaj,i]b) =f(a,j,i,b) & (yaUyb/{j})(l)=(Xa^Xb/{i})(k) & (leqaUqb\{i} ~ kepaUpb\{i}) = aeTA & b eTB &ya(j) =Xb(i) & (jeqa ~ i epb) &yb(l) =Xb(k) & (leqb ~ kepb)
= beTB & Уь(1) =Xb(k) & (l eqb ~ k epb) & aeTA & ya(j) =Xb(i) & (j eqa ~ i epb)
=f(b,l,k,b) & aeTA &ya(j)=(Xb/{k})(i) & (jeqa ~ iepb\{k})
= b[l,k]b eTB[hk]B & aeTA & yaj) =Xb[l,k]b(i) & (j eqa ~ i epb[lMb) =f(a,j,i,b[l,k]b)= fh.
6.2. Sg — saj,i]b — sa^sb — sa^sb[l,k]b — sh
6.3. Xg — Ха0Л]ь/{к} — (Xa^Xb/(i})/{k} — Xa^Xb/(i,k}
— XaU(Xb/{k})/{i} — Xa^Xb[l,k]b/{i} — Xh.
7. A^B. 2 разных автомата, цикл соединений: D—A, C—B, АфВ. Имеем: g—(a[j,i]b)[l,k](a[j,i]b), h—(b[l,k]a)[j,i](b[l,k]a). Из D—A и C—B следует d—a, c—b, и keIA, leJB.
7.1. fg — f(a[j,i]b, l,k a[j,i]b)
— a[j,i]b eTA[j,i]B &ya[)-,i]b(l)—Xa[j-,i]b(k) & (leqa[j,i]b ~ kepa0,i]b)
—f(a,j,i,b) & (yaUyt/{j})(l)—(Xa^Xb/{i})(k) & (leqaUqb\{j} ~ kepaUpb\{i})
— aeTA & b еТв & ya(j) —Xb(i) & (j eqa ~ i epb) & Уь(1) —Xa(k) & (l eqb ~ k epa)
— b еТв & a eTA & yb(l) —Xa(k) & (l eqb ~ k epa) & ya(j) —Xb(i) & (j eqa ~ i epb) —f(b,l,k,a) & (ybUya/{l})(j)—(XbUXa/(k})(i) & (jeqbuqa\{l} ~ iepbupa\{k})
— b[l,k]a eTB[l,k]A &yb[l,k]a(j)—Xb[l,k]a(i) & (jeqb[l,k]a ~ iepb[i,k]a) —f(b[l,k]a,j,i, b[l,k]a) — fh.
7.2. Sg — saj,i]b — sa^sb — sb[l,k]a — sh.
7.3. Xg — Xaji]b/{k} — (Xa^Xt/{i})/{k} — Xa^Xb/{i,k}
— (XbUXa/{k})/{i} — Xb[lk]a/{i} — Xh.
8. A^B. 2 разных автомата, кратные соединения: C—A, D—B, АфВ. Имеем: g—(a[j,i]b)[l,k](a[j,i]b), h—(a[l,k]b)[j,i](a[l,k]b). Из C—A, D—B следует c—a, d—b, и keIB, leJA.
8.1. fg — f(a[j,i]b, l,k a[j,i]b)
— a[j,i]b eTAj,i]B &yaj,i]b(l)—Xaj,i]b(k) & (leqaj,i]b ~ kepaj,i]b)
—f(a,j,i,b) & (yaUyt/{j})(l)—(Xa^Xb/{i})(k) & (leqaUqb\{j} ~ kepa4>b\{i})
— aeTA & b eTB &ya(j) —Xb(i) & (jeqa ~ i epb) &ya(l) —Xb(k) & (leqa ~ kepb)
— aeTA & b eTB &ya(l) —Xb(k) & (leqa ~ kepb) &ya(j) —Xb(i) & (jeqa ~ i epb) —f(a,l,k,b) & (ya^yb/{l})(j)—(Xa^Xt/{k})(i) & (jeqauqb\{l} ~ iepaUpbfk})
— a[l,k]b eTA[l,k]B &ya[l,k]b(j)—Xa[l,k]b(i) & (jeqa[l,k]b ~ iepa[l,k]b) —f(a[l,k]b,j,i, a[l,k]b) — fh.
8.2. Sg — saj,i]b — sa^sb — sa[l,k]b — sh
8.3. Xg — Xaji]b/{k} — (Xa^Xl/{i})/{k} — Xa^Xb/{i,k}
— (XaUXb/{k})/{i} — Xa[lk]b/{i} — Xh.
9. A. 1 автомат, две петли: B=C=D=A. Имеем: g=(a[j,i]a)[l,k](a[j,i]a), h=(a[l,k]a)[j,i](a[l,k]a). Из B=C=D=A следует b=c=d=a, и ieIA, leJA, keIA. 9.1. fg = f(a[j,i]a, l,k, a[j,i]a)
= a[j,i]aeTA0,i]A & yaj,i]a(l)=Xaj,i]a(k) & (leqaji]a ~ kepa0,i]a) =f(aj,i,a) & (ya/{j})(l)=(xa/{i})(k) & (leqa\{jj ~ kepa\{ij) = aeTA & ya(j) =Xa(i) & (j eqa ~ i epa) & ya(l) =Xa(k) & (l eqa ~ k epa)
= aeTA & ya(l) =Xa(k) & (l eqa ~ k epa) & ya(j) =Xa(i) & (j eqa ~ i epa) =f(a,l,k,a) & (ya/{l})(j)=(Xa/{k})(i) & j eqa\{l}) ~ iepa\{k}) = a[l,k]a eTA[l,k]A & ya[l,k]a(j)=Xa[l,k]a(i) & (j eqa[l,k]a ~ iepa[l,k]a) =f(a[l,k]a,j,i, a[l,k]a) = fh.
92. sg sa[j,i]a sa sa[l,k]a sh.
9.3. Xg = Xaji]a/{k} = (Xa/{i})/{k} = xj{i,k} = (xj{k})/{i} = Xa[lkk]a/{i} = Xh.
Теперь докажем аналогичное утверждение для остальных компонентов перехода: pg=ph, yg=yh, qg=qh, tg=th.
Аналогично п.п. 2.2-9.2 для пресостояния s заменой s^t доказываем утверждение для постсостояния: tg=th. Аналогично п.п. 2.3-9.3 для стимула x:
• заменой X^p и операций \ доказываемpg=ph,
• заменой (не в индексах) X^-y, i^j, k^l доказываем yg=yh,
• заменой (не в индексах) X^q, i^j, k^l, и операций \ доказываем qg=qh. Лемма 1 доказана.
Лемма 2 об ассоциативности композиции автоматов:
Автоматы, которые получаются из автоматов A, B, C, D при композиции по соединениям (j,i) и (l,k), не зависят от того, в каком порядке производится композиция.
Доказательство. Если все 4 автомата разные: A^B, A^C, A^D, B^C, B^D, C^D, то утверждение очевидно: при любом порядке композиции получается множество автоматов {A[j,i]B,C[l,k]D}.
В остальных случаях результатом композиции по двум соединениям будет не два автомата, а один автомат. Пусть G - автомат, являющийся результатом композиции в порядке (j,i), (l,k), а H - автомат, являющийся результатом композиции в порядке (l,k), (j,i). Тогда нужно доказать, что G=H. Поскольку алфавит сообщений при композиции не меняется (остаётся равным M), достаточно доказать, что Ig=Ih, Jg=Jh, Sg=Sh, Tg=Th, sog=soh. Аналогично доказательству леммы 1, п.п. 2.2-9.2 для пресостояния s, заменой s^s0, а также строчных a,b,c,d,g,h на прописные буквы A,B,C,D,G,H,
соответственно, доказываем утверждение для начальных состояний автоматов: -00=-0Н.
Аналогично доказательству леммы 1, п.п. 2.3-9.3 для стимула х:
• заменой и операций а также строчных а,Ъ,с^^^ на прописные буквыЛЛСЛОН, соответственно, доказываем 1о=1Н,
• заменой (не в индексах) х^Т, i^j, к^, и операций а также строчных а,Ъ,с^^^ на прописные буквы АВС^ОН, соответственно, доказываем •^о^н.
Переходы автоматов совпадают То=ТН по доказанной ассоциативности композиции переходов (лемма 1). Поскольку также доказано совпадение начальных состояний автоматов -00=-0Н, множества их состояний, состоящие из начальных состояний и пре- и постсостояний переходов, также совпадают $о=$Н.
Лемма 2 доказана.
Лемма 3 об ассоциативности композиции системы автоматов:
Система, которая получается из системы Я при композиции по соединениям (о,!) и 0,к), не зависит от того, в каком порядке производится композиция:
тир,к]=ЩЩоА].
Доказательство.
1. Алфавит сообщений при композиции не меняется.
2. Докажем, что ЕКОЛ][1к]=ЕК[1Ш,г].
Действительно, по определению композиции Е^^цц = (Е^О,!)})^^)} =
Ея\{М})\т)} = ЕтШФ
3. Докажем, что Уя[о,г]ц,к]=Ук[1,к][о,г].
Доказательство будем вести в зависимости от «топологии» соединений (0Л) и 0,к), учитывая доказанную ассоциативность композиции автоматов (лемма 2).
3.1. А—В C—D. УКШ1,к] = (У^^и^О^В^С^^СакМ = (УR\{C,D}v{C[l,k]D})\{Л,B}v{Л0,i]B} = Ущю
3.2. Л—B—D. УШ1т] = (УR\{Л,B}^{Л[j,i]B})\{Л[j,i]B,D}^{(Л[j,i]B)[l,k]D} = (УR\{B,D}u{B[l,k]D})\{Л,B[l,k]D}u{Л[j■,i](B[l,k]D)} = УК[1Ш].
3.3. B—Л—D. Уя0Шк] = (УR\{Л,B}^{Л[j,i]B})\{Л[j,i]B,D}^{(Л[j,i]B)[l,k]D} = (УR\{Л,D}^u{Л[l,k]D})\{Л[l,k]D,B}^u{(Л[l,k]D)[j,i]B} = УК[1кШ.
3.4. Л—В—С. УМк] = (VR\{Л,B}^{Л[j,i]B})\{C,Л[j,i]B}^{C[l,k](Л[j,i]B)} = (УR\{C,B}^{C[l,k]B})\{Л,C[l,k]B}^{Л[j,i](C[l,k]B)} = УК[1Ш].
3.5. А—В. УR¡jШkJ = (УR\{Л,B}^{Л[j,i]B})\{Л[j,i]B}^{(Л[j,i]B)[l,k](Л[j,i]B)} = (УR\{Л}^{Л[l,k]Л})\{Л[l,k]Л,B}^{(Л[l,k]Л)[j,i]B)} = Ут,Ш].
3.6. Л^Б. УЩЖк] = (УК\{А,Б}^{А[],1]Б})\{А[],1]Б}^{(А[],1]Б)[1,к](А[],1]Б)} = (УК\{Б}^{Б[1,к]Б})\{А,Б[1,к]Б}^{А[]\1](Б[1,к]Б)} = УК[1кШ.
3.7. Л^Б. УКШ1к] = (УкЧАЯМАО^Б^Ай^БМАй^^МАй^Б)} = (VR\{Б,Л}^{Б[l,k]Л})\{Б[l,k]Л}^{(Б[l,k]Л)[j,j](Б[l,k]Л)} = ¥т,кш.
3.8. Л^Б. VRljШkJ = ^\{Л,БМЛЦ,1]Б})\{Л0№М(Л0т[1,к](Л0,1]Б)} = (V^\{Л,Б}•u{Л[l,k]Б})\{Л[l,k]Б}•u{(Л[l,k]Б)[j,j](Л[l,k]Б)} = VR[lШlJ.
3.9. $ VRШlkJ =^\{Л} и{ЛЦ,1]Л})\{Л[], г]Л} ^(АЦаШЮт Ш = (VR\{Л}^{Л[l,k]Л})\{Л[l,k]Л}^{(Л[l,k]Л)[j,j](Л[l,k]Л)} = VRllmlJ.
Лемма 3 доказана.
Теорема 3 об ассоциативности композиции системы по всем соединениям:
Композиция системы R по всем её соединениям не зависит от порядка композиции: для любых двух последовательностей всех соединений и имеет место = R[ZA^].
Доказательство. Утверждение теоремы непосредственно следует из леммы 3. Мы доказали, что композиция системы R по всем её соединениям не зависит от порядка ZA соединений, в котором композиция выполняется. Результатом является система R[ZA], в которой нет соединений, т.е. Ещ^=0, а все входы и выходы являются внешними. Если в системе R были автоматы, которые не связаны друг с другом, то в R[ZA] окажется несколько автоматов, т.е. I VRlZлJ\>1. Очевидно, эти автоматы также не связаны друг с другом.
5. Система как компонент другой системы
Для того чтобы система автоматов R могла использоваться как компонент более сложной системы, композиция системы R[ZA] по всем её соединениям должна состоять из одного автомата. Однако если в системе есть несвязанные автоматы, то R[ZA] содержит несколько несвязанных автоматов. Для того чтобы обойти это неудобство, достаточно определить композицию несвязанных автоматов. Семантика такой композиции достаточно прозрачна: если два автомата не связаны, то работа системы из этих автоматов эквивалентна работе одного автомата, в котором объединяются входы и выходы обоих автоматов, а любые два переходы из разных автоматов объединяются в один переход. Определим такую композицию формально. Композиция переходов без соединения. Определим композицию а[]Ь двух переходов а и Ь без соединения:
а[]Ь = ^а^ь, Ха^Хь, РаЧРЬ, УаЧУЬ, Ча^ЧЬ, (а^ь).
В этом определении неявно предполагается, что как домены стимулов, так и домены реакций в компонуемых переходах не пересекаются:
Вот(ха)п>Оот(хЬ)=Вот(уа)п1)от(уЬ)=0. В противном случае стимул и/или реакция в композиционном переходе могли бы стать многозначными функциями. Мы не записали это требование как условие композиции двух переходов, поскольку такая композиция будет использоваться только для определения композиции несвязанных и, следовательно, разных автоматов, а в этом случае это требование автоматически выполнено.
Композиция переходов без соединения естественным образом распространяется на композицию без соединения множеств переходов О и Н, определяемую как множество попарных композиций переходов:
О[]Н = {а[]Ь\аеО & ЬеН}.
Композиция несвязанных автоматов.
Пусть в системе R = (М, V,E) есть два несвязанных между собой автомата Л и Б. Тогда их композиция определяется следующим образом:
Л[]Б =(М, !л^1Б, Б, {Ь'ОЛ^Ь'ОБ} ^8(а(е'(Тл[]ТБ), ТЛ[]ТБ, ^ЪЛ^ОБ).
Очевидно, что такая композиция автоматов удовлетворяет условиям,
налагаемым на автомат (аналог теоремы 1).
Композиция системы, состоящей из несвязанных автоматов.
При композиции двух несвязанных автоматов Л и Б в системе R = (М, V,E) получается новая система: R[Л,Б] = (М, У\{Л,Б}и{Л[]Б}, Е).
Очевидно, что такая композиция системы автоматов удовлетворяет условиям, налагаемым на систему автоматов (аналог теоремы 2).
Легко показать, что композиция переходов без соединения, композиция несвязанных автоматов и композиция системы, состоящей из несвязанных автоматов, ассоциативны.
Каждая композиция уменьшает на 1 число автоматов в системе. Поэтому через конечное число композиций система R[ZA] превратится в систему без соединений, состоящую из одного автомата.
Нетрудно показать, что композицию несвязанных автоматов можно чередовать с композицией по соединениям. Можно только отметить, что композиция несвязанных автоматов уменьшает на 1 число компонентов связности в графе ^(Я): автомат Л[]Б оказывается связанным с каждым автоматом (отличном от Л и Б), с которым был связан автомат Л или Б.
6. Заключение
Наша предыдущая статья [1] была посвящена проблеме тестирования системы автоматов. В отличие от данной статьи сообщения между автоматами, расположенными в вершинах графа связей, буферизовались соединяющими автоматы дугами этого графа. Каждая дуга представляла собой очередь длины 1 и моделировалась специальным автоматом с одним входом и одним выходом, который взаимодействовал с автоматами вершин, инцидентных этой
дуге, уже синхронно. В данной статье автомат дуги обобщён таким образом, что он может моделировать очередь уже произвольной, в том числе, неограниченной длины, или стек, или очередь с приоритетами и т.д. Более того, автомат дуги может иметь уже несколько входов и несколько выходов. Тем самым, стирается само различие между автоматом дуги и автоматом вершины. Композиция определяется по соединению, такое соединение (j,i) связывает выход j автомата A=q>(j) со входом i автомата B=qy(i) и моделирует не буферизующий автомат дуги, а синхронное взаимодействие. Однако главная цель, которая была заявлена в статье [1], это тестирование системы автоматов в предположении, что выполнена гипотеза о связях: граф связей, т.е. отображаемая им структура связей, не содержит ошибок. В этом случае целью тестирования становится покрытие переходов автоматов компонентов, которые достижимы при работе этих автоматов в системе. Предполагается, что при тестировании возможно наблюдение изменения состояний автоматов в вершинах графа и сообщений на дугах графа. В [1] на примере показано, что гипотеза о связях позволяет существенно сократить время такого тестирования. Полное тестирование системы автоматов без учёта гипотезы о связях может потребовать число тестовых воздействий порядка произведения чисел состояний автоматов компонентов, а с учётом гипотезы о связях - порядка суммы этих чисел. При равном числе состояний всех автоматов это даёт экспоненциальное уменьшение числа тестовых воздействий.
В [1] был предложен алгоритм генерации тестов, основанный на фильтрации тестов, генерируемых для покрытия всех переходов композиции: тест отбрасывается, если он покрывает только такие переходы в компонентах системы, которые покрываются остающимися тестами. В дальнейшем предполагается разработать модификацию этого алгоритма для общей системы автоматов, определённой в данной статье.
Этот алгоритм существенно опирается на детерминированность системы автоматов. Конечно, одним из источников недетерминизма системы может служить недетерминизм её компонентов. Однако проблема в том, что система может вести себя недетерминированно даже в том случае, когда каждый её компонент представляет собой детерминированный автомат. Поэтому требуется найти такие, по возможности минимальные, ограничения на устройство системы детерминированных автоматов, при которых система будет детерминированной.
Список литературы
[1]. И.Б.Бурдонов, А.С.Косачев. Тестирование системы автоматов. Труды ИСП РАН, том 28(1), 2016 г.
[2]. Hoare C.A.R. Communicating Sequential Processes. Englewood Cliffs, NJ: Prentice Hall International, 1985.
[3]. Milner R. Communication and Concurrency. Prentice-Hall, 1989.
[4]. Langerak R. A testing theory for LOTOS using deadlock detection. In E.Brinksma, G.Scollo, and C.A.Vissers, editors, Protocol Specification, Testing, and Verification IX, pages 87-98. North-Holland, 1990.
[5]. Tretmans J. Test Generation with Inputs, Outputs and Repetitive Quiescence. In: Software-Concepts and Tools, Vol. 17, Issue 3, 1996.
[6]. van der Bijl M., Rensink A., Tretmans J. Compositional testing with ioco. In Formal Approaches to Software Testing: Third International Workshop, FATES 2003, Montreal, Quebec, Canada, October 6th, 2003. Editors: Alexandre Petrenko, Andreas Ulrich ISBN: 3-540-20894-1. LNCS volume 2931, Springer, pp. 86-100.
[7]. Petrenko A., Yevtushenko N., Huo J.L. Testing Transition Systems with Input and Output Testers. Proc. IFIP TC6/WG6.1 15th Int. Conf. Testing of Communicating Systems, TestCom'2003, pp. 129-145. Sophia Antipolis, France, May 26-29, 2003.
[8]. И.Б.Бурдонов, А.С.Косачев. Системы с приоритетами: конформность, тестирование, композиция. "Программирование", 2009, №4, стр. 24-40.
[9]. И.Б.Бурдонов, А.С.Косачев. Согласование конформности и композиции. Программирование, №6, 2013, стр. 3-15.
Automata system: composition according to graph of links
I.B. Burdonov <igor@ispras.ru> A.S. Kossatchev <kos@ispras.ru> Institute for System Programming of the Russian Academy of Sciences, 25, Alexander Solzhenitsyn st., Moscow, 109004, Russia
Abstract. The problem of modeling and composing of aggregate systems is considered. The system components are described with finite automata with multiple entries and exits. The communication between automata is described with message passing over simplex communication channels. The system is described with a directed graph of links. Each node of the graph corresponds to automaton of a component and an arc corresponds to a communication channel connecting exit of one automaton with entry of another automaton. Automaton of the graph node in each state can accept multiple messages from its entries (at most one message from each entry) and send multiple messages to its exits (at most one message to each exit). Entries (exits) of the automata not connected to exits (entries) of automata are considered to be external and used for communication between the system and its environment. The automata of the system operate synchronously: on each cycle each automaton performs one transition. A transition of an automaton imposes requirements on states of all its entries and exits (messages in them are specified) and explicitly specifies subset of entries and exits through which the messages are received or sent, respectively. Synchronous communication between automata means that for each link the requirements of the automata connected with this link must conform to each other. It makes possible to describe a wider spectrum of automata behavior. For example, a priority of message receiving: if there are multiple message in the automata entries, it can receive messages with the highest priority and discard the rest of the messages. It also makes possible for the automaton to receive messages regardless of ability to simultaneously send some message to some exit. A composition of the automata of the system according to the graph of links is defined and its associativity is proved. In conclusion, the directions of future research are described.
Keywords: directed graphs, communicating automata, automata composition, distributed systems, networks.
DOI: 10.15514/ISPRAS-2016-28(1)-8
For citation: Burdonov I.B., Kossatchev A.S. Automata system: composition according to graph of links. Trudy ISP RAN/Proc. ISP RAS, 2016, vol. 28, issue 1, pp. 131-150 (in Russian). DOI: 10.15514/ISPRAS-2016-28(1)-8
References
[1]. I. B. Burdonov, A. S. Kossatchev. Testirovanie sistemy avtomatov [Testing of automata system]. Trudy ISP RAN [The proceeding of ISP RAS], Vol. 28(1), 2016 (in Russian). DOI: 10.15514/ISPRAS-2016-28(1)-7
[2]. Hoare C.A.R. Communicating Sequential Processes. Englewood Cliffs, NJ: Prentice Hall International, 1985.
[3]. Milner R. Communication and Concurrency. Prentice-Hall, 1989.
[4]. Langerak R. A testing theory for LOTOS using deadlock detection. In E.Brinksma, G.Scollo, and C.A.Vissers, editors, Protocol Specification, Testing, and Verification IX, pages 87-98. North-Holland, 1990.
[5]. Tretmans J. Test Generation with Inputs, Outputs and Repetitive Quiescence. In: Software-Concepts and Tools, Vol. 17, Issue 3, 1996.
[6]. van der Bijl M., Rensink A., Tretmans J. Compositional testing with ioco. In Formal Approaches to Software Testing: Third International Workshop, FATES 2003, Montreal, Quebec, Canada, October 6th, 2003. Editors: Alexandre Petrenko, Andreas Ulrich ISBN: 3-540-20894-1. LNCS volume 2931, Springer, pp. 86-100.
[7]. Petrenko A., Yevtushenko N., Huo J.L. Testing Transition Systems with Input and Output Testers. Proc. IFIP TC6/WG6.1 15th Int. Conf. Testing of Communicating Systems, TestCom'2003, pp. 129-145. Sophia Antipolis, France, May 26-29, 2003.
[8]. I. B. Burdonov, A. S. Kossatchev. Systems with Priorities: Conformance, Testing, and Composition. Programming and Computer Software,Vol. 35, No. 4, 2009, pp. 198-211. DOI: 10.1134/S0361768809040045
[9]. I. B. Burdonov, A. S. Kossatchev. Agreement between Conformance and Composition. Programming and Computer Software,Vol. 39, No. 6, 2013, pp. 269-278. DOI: 10.1134/S0361768813060029