2010 Логическое проектирование дискретных автоматов №3(9)
ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ДИСКРЕТНЫХ
АВТОМАТОВ
УДК 621.391.1:004.7
РЕШЕНИЕ НЕРАВЕНСТВ НАД АВТОМАТАМИ В ПРОЕКТИРОВАНИИ РЕАКТИВНЫХ СИСТЕМ
А. Н. Чеботарёв Институт кибернетики НАН Украины, г. Киев, Украина E-mail: [email protected]
Рассмотрена задача решения неравенств над автоматами, возникающая при композиционном подходе к проектированию реактивных систем. Задача формулируется и решается на уровне спецификаций автоматов в логическом языке L. Показано, как получить максимальное решение неравенства относительно операции синхронной композиции автоматов.
Ключевые слова: реактивная система, спецификация в языке L, Т-автомат, синхронная композиция Т-автоматов, неравенство над Т-автоматами, минимальное решение.
Введение
Проектирование современных систем обработки информации все больше усложняется в связи с усложнением этих систем. Одним из основных способов борьбы со сложностью проектирования является модульный подход, связанный с декомпозицией проектируемой системы на подсистемы, которые взаимодействуют между собой в соответствии с определенными правилами композиции [1-3]. Многие задачи, возникающие при таком подходе к проектированию, могут быть сформулированы следующим образом. Заданы спецификация системы, которая реализуется в виде композиции двух модулей, и спецификация одного из этих модулей. Требуется определить (специфицировать) другой модуль так, чтобы его композиция с заданным модулем удовлетворяла спецификации системы. Для уточнения этой задачи необходимо:
1) определить способ представления спецификаций отдельных модулей и всей системы в целом;
2) уточнить понятие композиции модулей;
3) уточнить отношение, соответствующее понятию «модуль удовлетворяет спецификации».
Указанные уточнения будут сделаны для реактивных систем [4], т. е. систем, постоянно взаимодействующих с окружающей средой. Для спецификации таких систем будет использоваться язык L [5], представляющий собой фрагмент логики предикатов первого порядка с одноместными предикатами, которые интерпретируются на множестве Z целых чисел. Рассматриваемая задача сводится к решению уравнений (неравенств) над автоматными моделями взаимодействующих модулей, представленных спецификациями в языке L. Поскольку автоматные модели определяют поведение
модуля, работающего потенциально бесконечно, рассматриваются автоматы над бесконечными входными последовательностями, что соответствует понятию циклического автомата.
1. Язык спецификации Ь
Спецификация в языке Ь имеет вид формулы ^(£), где ^(£) — формула, построенная с помощью логических связок из атомарных формул (атомов) вида р(£ + к), где р — одноместный предикатный символ, £ — переменная, принимающая значения из множества целых чисел, рассматриваемого как множество моментов дискретного времени, а к — целочисленная константа, называемая рангом атома. Разность между максимальным и минимальным значениями рангов атомов, встречающихся в формуле, называется её глубиной. В дальнейшем формулы языка Ь вида ^(£) будем называть Ь-формулами.
При определении семантики языков спецификации реактивных систем такие языки рассматриваются как формализмы для задания множеств сверхслов (бесконечных слов) в алфавите двоичных векторов, длина которых равна количеству различных предикатных символов, встречающихся в спецификации. Определим необходимые понятия, касающиеся сверхслов.
Пусть Е — конечный алфавит. Отображения и : Ъ ^ Е и I : N ^ Е называются соответственно двусторонним сверхсловом (обозначается ... и(-2)и(-1)и(0)и(1)и(2)...) и сверхсловом (обозначается /(1)/(2)...) в алфавите Е. Отрезок и(т)и(т + 1)... и(т + к) двустороннего сверхслова и обозначается и(т, т + к). Бесконечный отрезок и(к + 1, то) будем называть к-суффиксом двустороннего сверхслова и. Множество всех двусторонних сверхслов в алфавите Е будем обозначать ЕЪ.
Перейдем теперь к описанию семантики языка Ь. Каждой Ь-формуле ^ (£)
ставится в соответствие множество моделей для этой формулы, т. е. множество таких интерпретаций, на которых ^ истинна. Пусть П = {р1,... , рт} —множество всех предикатных символов, встречающихся в формуле ^ (сигнатура формулы). Интерпретация формулы ^ — это упорядоченный набор определенных на Ъ одноместных предикатов П1,... , пт, соответствующих предикатным символам из П. Пусть Е — множество всех двоичных векторов длины т, тогда интерпретацию I = (п1,... , пт) можно представить в виде двустороннего сверхслова в алфавите Е, а множество всех моделей для ^ — в виде множества М(^) двусторонних сверхслов в этом алфавите. В дальнейшем не будем различать интерпретации и соответствующие им двусторонние сверхслова, поэтому будем говорить об истинности формулы ^ на двустороннем сверхслове и Е ЕЪ и значении формулы F(£) в некоторой позиции т двустороннего сверхслова и, понимая под этим значение формулы F(т) в интерпретации и.
При интерпретации формул вида F(£) на множестве целых чисел для любого к € Ъ справедлива эквивалентность \Ц F(£) ^ \Ц F(£ + к), где F(£ + к) обозначает формулу, полученную из F(£) путем добавления к к рангам всех её атомов (сдвиг на к). Таким образом, можно ограничиться рассмотрением формул, у которых максимальный ранг атомов равен 0. Будем считать, что Ь-формула F = F(£) задает множество 0-суффиксов всех двусторонних сверхслов из М^). Обозначим это множество сверхслов Ш ^).
2. Автоматная семантика языка Ь
Определение 1. Конечный неинициальный X-У-автомат А — это четверка (X, У,$,ха), где X, У, Q — конечные множества соответственно входных символов, выходных символов и состояний; ха : Q х X х У ^ 2^ — функция переходов автомата.
Х-У-автомат А называется квазидетерминированным, если |хА(д,х,у)| ^ 1 для любых д Е Q, х Е X, у Е У. Квазидетерминированные X-У-автоматы удобно рассматривать как детерминированные частичные автоматы без выхода, с входным алфавитом Е = X х У. Такой автомат А = (Е^,8а), где 8а : Q х Е ^ Q — частичная функция, будем называть Е-автоматом.
Определение 2. Е-автомат А = (Е, Q, 8а) называется циклическим, если для каждого д Е Q существуют такие а1,а2 Е Е и д1,д2 Е Q, что д1 = 8а(?,^1) и д =
= 8А(д2,^2).
В дальнейшем под автоматом будем понимать циклический Е-автомат. Такой автомат можно однозначно охарактеризовать в терминах допустимых сверхслов.
Определение 3. Сверхслово I = а1а2 ... в алфавите Е допустимо в состоянии д автомата А, если существует такое сверхслово состояний дод1д2..., где до = д, что д»+1 = 8А(дг,аг+1) для любого г = 0,1, 2,... Сверхслово I допустимо для автомата А, если оно допустимо хотя бы в одном из его состояний. Множество всех сверхслов, допустимых для автомата А, обозначим Ш(А).
Два Е-автомата А1 и А2 будем называть эквивалентными (слабо эквивалентными ), если Ш(А1) = Ш(А2).
Предполагается, что символы алфавита Е представляют собой двоичные векторы длины т, что соответствует кодированию абстрактных символов наборами значений двоичных переменных из П = {х1,... , хт}. При использовании языка Ь для спецификации автоматов предикатные символы соответствуют этим переменным.
Автоматная семантика языка Ь определяется следующей теоремой.
Теорема 1 [5]. Для всякой непротиворечивой формулы F вида F(£) существу-
ет в общем случае частичный неинициальный циклический автомат А, для которого множество всех допустимых сверхслов совпадает с множеством сверхслов, задаваемых формулой F.
Будем говорить, что автомат А удовлетворяет спецификации F, если Ш(А) С С Ш^). Класс автоматов, специфицируемых в языке Ь, совпадает с автоматами с конечной памятью [6].
При определении множества сверхслов, задаваемого формулой (£), а следова-
тельно, и множества сверхслов, допустимых для специфицируемого ею автомата, удобно использовать понятие пространства состояний для этой формулы [5]. Пусть П — сигнатура формулы F(£), а г — её глубина. Обозначим Е(П) множество всех двоичных векторов длины |П|, где |П| —мощность множества П. Последовательность 5051... вг векторов из Е(П) назовем состоянием глубины г, а множество Q(r, П) всех таких последовательностей— пространством состояний глубины г для формулы F(£). На множестве Q(r, П) определим отношение N непосредственного следования так, что за каждым состоянием д = 5051... вг непосредственно следуют 2|п| состояний вида в1 . . . вгв, где в Е Е(П). Множество всех состояний, непосредственно следующих за д, будем обозначать N(д). Если компоненты вектора вг в состоянии д = в0в1... вг рассматривать как истинностные значения соответствующих атомов ранга г - г при некотором упорядочении множества П, то можно говорить о значении формулы F(£) на состоянии д.
Формулу ^(¿) будем рассматривать как представление множества (^(Р^)) состояний из С^(г, П), а именно тех состояний, на которых она истинна. Пусть С(Р) —граф ограничения отношения N на множество (^(Р^)). Граф С = (У,Р), где V — множество вершин, а Р — множество дуг графа, будем называть циклическим, если для каждой его вершины 5 существуют такие вершины и ^2, что дуги (51,5) и (5,52) принадлежат Р.
Несложно убедиться в справедливости следующей леммы, которую приведем без доказательства.
Лемма 1. Пусть С*(^) —максимальный циклический подграф графа С(^). Тогда ШР*{Ь) -ФФ- \ZtFit), где Р*{Ь) — формула, задающая множество вершин графа С*(^).
Если сверхслово I принадлежит \¥(Р), то ему соответствует бесконечный маршрут в графе С*(Р), и наоборот, каждому бесконечному маршруту в С*(Р) соответствует сверхслово, принадлежащее \¥{Р).
3. Синхронная композиция автоматов
Пусть А\ = (Е, <51,^1) и А2 = (Е, (52,^2) —циклические Е-автоматы с одним и тем же входным алфавитом Е. Синхронной композицией автоматов А\ и А2 (обозначается А\ • А2) назовем максимальный циклический подавтомат автомата С = (Е,<5с,$с), определяемого следующим образом: С^с = (З1 х значение $с((?ъ 92), ¿О, где 51 € (З1, <12 £ (^2, & £ определено тогда и только тогда, когда значения £1(51, <т) и £2(^2, сг) определены, и равно (£1(51, <т), £2(^2, сг))- Пусть Ра и Рв — спецификации в языке Ь соответственно автоматов Ап В, тогда формула Ра&Рв специфицирует автомат А»В. Заметим, что Е-автоматы А = (Еа^а, 6а) и В = (Ев,Яв,йв), где Еа = Е(Па), а Ев = Е(Пд), можно рассматривать как Е-автоматы над одним и тем же алфавитом Е = Е(П^иП.в). Это позволяет приведенное выше определение синхронной композиции автоматов естественным образом распространить на Е-автоматы с различающимися алфавитами.
Вектор о € Е(П) будем рассматривать как отображение о : Е —> {0,1}. Проекцией а 6 Е(П) на П1 С П называется ограничение отображения <т на множество Пь
Определение 4. Ограничением автомата А = (Е(П),<5,£) на множество переменных (предикатных символов) П1 С П будем называть автомат А\ = , 8\), где
Е1 = Е(П1) и 51 € ^1 (д,СГ1) тогда и только тогда, когда существует такое а € Е(П), что <71 есть проекция и на П1 и £(5, а) = 51.
Рассмотрим структуру, представленную на рис. 1. Здесь Д, /2, II и т. д. — множества ДВОИЧНЫХ переменных, причем пересечения /1П/2, иГ1О1, УПОг могут быть непустыми.
Л А 01 >
—г
с/ і і г V
/2 В
►
Рис. 1. Синхронная композиция автоматов
Пусть А = (Е(Пл),Фл,8а), где Па = Л и 01 и V и и, а В = (Е(Пв),фв, 8в), где Пв = 12 и 02 и V и и. Для такой структуры внешней синхронной композицией автоматов А и В (обозначается А о В) будем называть ограничение Е-автомата А • В на множество переменных Пс = Л и 12 и 01 и 02.
4. Уравнения над автоматами
На множестве Е-автоматов с одним и тем же входным алфавитом определим отношение ^ следующим образом: А ^ В тогда и только тогда, когда Ш(А) С Ш(В).
Пусть в приведенной выше структуре заданы Е-автоматы А = (Е(Пл), Фа, 8л), где Пл = 11 и 01 и V и и, и С = (Е(Пс),Яс, 8с), где Пс = 11 и 12 и 01 и 02. Рассмотрим неравенство А о X ^ С. Здесь X — неизвестное, принимающее значения из множества циклических Е-автоматов с входным алфавитом Е = Е(12 и и и 02 и V). Таким образом, Е-автомат В есть решение рассматриваемого неравенства, если Ш(А о В) С Ш(С). Задача состоит в нахождении максимального решения неравенства А о X ^ С или решения уравнения А о X = С. Поскольку задача рассматривается на уровне спецификаций автоматов в языке Ь, решение ищется в классе автоматов с конечной памятью. В этом случае максимальным решением будем называть такое решение В, что не существует никакого другого неэквивалентного ему автомата В1, также являющегося решением и такого, что В ^ В1. Чтобы сформулировать эту задачу на уровне спецификаций, определим понятие минимальной формы спецификации ^ = У£^(¿).
Пусть ^ = У£ ^(¿) —непротиворечивая формула глубины г с сигнатурой П = = {рь...,рд}. Формулу ^(¿) будем рассматривать как пропозициональную формулу с пропозициональными переменными р1(^), ..., рд(¿), р1(^ — 1), ..., рд(£ — 1), ..., Р1 (* — г), . . ., Рд (* — г).
Пусть ^\(£) и ^2(£) — такие, возможно логически неэквивалентные, формулы, что У£ (¿) и У£^2(£) задают одно и то же множество сверхслов. Тогда формула
У (¿) & ^(¿) задает это же множество. Будем рассматривать некоторое каноническое представление формулы ^(¿), скажем, совершенную дизъюнктивную нормальную форму. Пусть (^) = = У£^(£) : г = 1,... , N} — множество всех спецификаций
глубины г, представленных в канонической форме и задающих то же множество сверхслов, что и ^ = У£ ^(¿). Спецификацию штг (^) = назовем канонической
минимальной формой порядка г спецификации ^. Из определения канонической минимальной формы спецификации следует её единственность.
Пусть У£ ^т;п(^) — каноническая минимальная форма спецификации порядка г. Тогда всякую спецификацию У£ ^(¿) глубины г, где ^(¿) ^ ^т;п(£), назовем минимальной формой порядка г этой спецификации. Если У£^т;п(£) —минимальная форма спецификации У£ ^(¿), то ^т;п(£) ^ ^(¿). Построение минимальной формы формулы У£ ^(¿) состоит в преобразовании формулы ^ (¿), описанном в [7]. Результат такого преобразования будем обозначать штг (^(¿)). Имеется тесная связь между минимальной формой представления формулы ^ = У£^(¿) и графом С(^), ассоциируемым с формулой ^(¿), представленной в пространстве состояний глубины г, а именно шшг(^(¿)) задает множество состояний, соответствующее вершинам циклического графа С*(^).
Теперь определим отношение на спецификациях, соответствующее отношению А ^ В на циклических Е-автоматах. Пусть ^4 = У£^а(£) и = У^^В (¿) —формулы, специфицирующие соответственно автоматы А и В. Несложно показать, что А ^ В тогда и только тогда, когда шт(^А(£)) ^ ^В(¿), или, что то же самое, шт(^А(£)) ^ шт(^В (¿)). Если глубина г формулы ^В(¿) превышает глубину формулы ^лСО, то для ^л(*) следует рассматривать минимальную форму порядка г.
Пусть ^л = У£^а(£) и = У£^Ъ (¿) —спецификации соответственно автоматов А = (Е(Пл),Фл, 8л) и С = (Е(П),ф,8), где П С Пл. Ограничение автомата А на П обозначим [А]п. Можно показать, что условию [А]п ^ С соответствует условие шшг (^л(*)) ^ (¿), где г — наибольшая из глубин формул ^а(£) и (¿).
Теперь рассматриваемую задачу можно переформулировать следующим образом: найти максимальное решение (¿) сигнатуры Пв = 12 и и и 02 и V, удовлетворяющее
формуле шт(^А(¿)&^х(¿)) ^ (¿). Здесь, как и раньше, максимальным решением
называется такое решение ^В (¿), что не существует никакой другой неэквивалентной ему формулы ^(¿), также являющейся решением, и такой, что ^В(¿) ^ ^(¿). Искомую формулу ^в(¿) будем строить следующим образом. Сначала получим максимальное решение Е'в (¿) с сигнатурой П = Па и Пв, а затем построим максимальную формулу ^В(¿) сигнатуры Пв, имплицирующую ^ (¿). Решение этой задачи осложняется неоднозначностью представления автомата спецификацией в языке Ь.
Всякая формула ^(¿) глубины г задает множество состояний в соответствующем пространстве состояний. Максимальной формой формулы ^(¿) назовем такую формулу, что добавление любого состояния пространства состояний к задаваемому ею множеству состояний приводит к спецификации, не эквивалентной формуле У£ ^(¿). Существует одно (с точностью до эквивалентности) минимальное представление спецификации определенной глубины и много различных максимальных представлений. Множество всех максимальных представлений для ^(¿) обозначим МАХ(^(¿)).
Теперь покажем, что формула ^(¿) = — (шт(^Л(£))) Vшах(шт(^Л(£)&^Ь(£))), где шах(^(¿)) —любое максимальное представление соответствующей формулы, есть решение, т. е. что формула шт(^Л(£)&^В(¿)) ^ (¿) тождественно истинна. Предвари-
тельно приведем некоторые используемые при этом соотношения:
Несложно показать, что формула шт(^Л(£)&^(¿)) ^ (¿) равносильна форму-
ле шт(^Л(£)&^В(¿)) ^ шт(^Л(£)&^Ъ(¿)). Поэтому покажем, что приведенное выше значение для ¥'в (¿) удовлетворяет последней. Согласно (3),
ш1п(шіп(^А(і))&шах(шіп(^А(і)&^с(і)))) ^
^ шіп(шіп(^Х(і)))& шіп(шах(шіп(^А(і)&^с(і)))).
В силу (1) и (2) правая часть этой импликации равна шіп(^Х(і))&шіп(^4(¿)&^Ъ(¿))-Очевидно, что шіп(^А(і))&шіп(^А(¿)&^Ь(і)) ^ шіп(^А(і)&^с(і)). Таким образом, шіп(^Х(і)&^В(і)) ^ шіп(^А(і)&^с(і)), что и требовалось показать.
шіп(шіп(^ (і))) = шіп(^ (і)); шіп(шах(^ (і))) = шіп(^ (і)); шіп(шіп(^і(і))&^2(і)) = шіп(^і(і)&^2 (і)); шіп(^і(і)&^2(і)) ^ (шіп(^1(і))&шіп(^2(і))).
шт(^Л(£)&^ (¿)) = шт(шт(^Л(£))&^ (¿)). Подставив формулу Е'в(¿) в правую часть этой эквивалентности, получим
ш1п(ш1п(^Л(^))&шах(ш1п(^Л(^)&^с (£)))).
В силу (4) имеем
Теперь покажем, что для любого решения ^В (¿) сигнатуры П существует такая максимальная форма формулы ш1п(^А(^)&^с(¿)), что
(¿) ^ (—(шт(^4(£))) V шах(шт(^4(£)&^с(£)))),
т. е. максимальное решение содержится среди — (ш1п(^4(£))) VМАХ(шт(^4(¿)&^с(£)))• Пусть ^В(¿) —произвольное решение. Представим его в виде
(¿) = ш1п(^4(*))&^е(¿) V —(ш1п(^4(*)))&^в(¿).
Достаточно показать, что шт(^4(£))&^В(¿) ^ шах(шт(^4(£)&^с(¿))). Будем рассматривать только такие решения ^В (¿), для которых
шт(^4(£)&^В (¿)) = шт(^4(£)&^Ь (¿)),
т. е. шах(ш1п(^4(£)&^Ь(¿))) = шах(шт(^4(£)&^В(¿))) для любой максимальной формы. Очевидно, что такие значения для ^в(¿) существуют — достаточно в качестве ^В (¿) взять формулу (¿), рассматриваемую как формулу над П = П4 и Пв. Всякое такое значение ^в(¿) дает максимальное значение для шт(^4(£)&^В(¿)), удовлетворяющее соответствующей импликации. Неформально это соответствует реализации максимальной части автомата С. Ясно, что всякое максимальное значение Ев(¿) находится среди таких значений.
Следует отметить, что для любой формулы ^(¿) существует такая максимальная форма формулы шт(^(¿)), что ^(¿) ^ шах(шт(^(¿))). Таким образом, для шт(^4(£))&^(¿) существует такая максимальная форма шах(шт(ш1п(^4(£))&^(¿))), что шт(^4(£))&^(¿) ^ шах(шт(шт(^4(£))&^(¿))) = шах(шт(^4(£)&^(£))),
а следовательно, шт(^4(£))&^В(¿) ^ шах(шт(^4(£)&^Ъ(¿))). Другими словами, существует такая максимальная форма формулы шт(^4(¿)&^с(¿)), что формула
— (шт(^4(¿))) V шах(шт(^4(£)&^С(¿))) будет максимальным решением. Вычисление всех максимальных форм формулы весьма сложно, поэтому будем строить решение, которое не требует вычисления максимальной формы и не сильно отличается от максимального решения. В качестве такого решения можно взять формулу
— (шт(^4 (¿))) V (¿).
Теперь для получения решения ^В (¿) сигнатуры Пв необходимо взять У-проекцию формулы ^(¿) на её переменные, определяемые сигнатурой Пв.
Пусть ^ (жь ... , хт, У1,... , уП) —пропозициональная формула от переменных £1,
..., хт, у1, ..., уП. У-проекцией формулы ^(х1,... ,хт,у1,... ,уп) на множество переменных {х1,... , хт} называется формула Уу1... УуП ^(х1,... , хт, у1,..., уП) = = ^ (х1, . . . , £т, 0, 0,..., 0)&^ (х1, . . . , £т, 0,..., 0,1)& ... &^ (х1, . . . , £т, 1,..., 1,1).
Если ПВ = {р1,... ,р£}, то для формулы Гв (¿) глубины г строится её проекция на множество переменных {р1(^), . . . ,Рй(¿),р1(^ — 1), . . . ,Рй(¿— 1), . . . ,р1(^ — г), . . . ,Рй(¿ — г)}. Для вычисления проекции формулы на подмножество аргументов её удобно представлять в так называемой нормальной форме [8]. Нормальная форма имеет вид
П
V ^¿(£ — 1)&/г(^), где /¿(¿) —формула, построенная из атомов нулевого ранга, а
¿=1
^¿(¿— 1) —из атомов, ранг которых не превышает —1. Кроме того, ^¿(¿—1)&^} (¿— 1) = 0 для всех г,^ = 1,...,п, г = ^ (условие ортогональности). Нормальная форма вида
П П
V ^¿(£ — 1)&/¿(¿) называется полной, если \/ ^¿(£ — 1) = 1. Отрицание формулы ^(¿),
¿=1 ¿=1
представленной в полной нормальной форме, имеет вид V Я(і -1)& —I /¿(і), что так-
¿=1
же является нормальной формой. Нормальная форма формулы — (шіп(^А(і))) V (і) строится из нормальных форм формул — (шіп(^А(і))) и (і) при помощи операции дизъюнктивного произведения [8].
Утверждение 1. Чтобы получить ДНФ формулы Уу1... УуП ^ (х1,... , хт, у1,... , уП), необходимо в ДНФ формулы ^(х1,..., хт, у1,... , уП) последовательно осуществить склеивания по переменным у1,... , уП и после всех возможных склеиваний по уі удалить все конъюнкции, содержащие у или —Уі.
Основная идея использования нормальной формы для построения У-проекции формулы состоит в том, чтобы задачу большой размерности свести к ряду задач существенно меньшей размерности.
Пусть {х1,... , хт, у1,... , уП} — сигнатура формулы ^(і), и необходимо построить проекцию этой формулы (рассматриваемой как пропозициональная формула) на множество переменных, соответствующих символам х1, ..., хт. Обозначим множество этих переменных П(і). Чтобы упростить рассмотрение, будем считать, что ^(і) имеет глубину 1. Таким образом, П(і) = {х1(і — 1),...,хт(і — 1), х1(і),..., хт(і)}. Проекцию на П(і) будем строить в два этапа: сначала построим проекцию на множество П'(і) = {х1(і — 1),..., хт(і — 1),у1(і — 1),... ,уП(і — 1),х1(і),... ,хт(і)}, а затем —проек-
П
цию результата на П(і). В нормальной форме формулы ^(і) вида \/ ^¿(і — 1)&/і(і)
і=1
только формулы /¿(і) (і = 1,...,п) зависят от переменных ранга 0. Поскольку ^¿(і — 1)&^}(і — 1) = 0 для любых і = І, то для получения проекции на множество переменных П;(і) склеивания по переменным у1(^), ..., уП(і) можно осуществлять независимо в каждой формуле /¿(і) (і = 1,... ,п). Таким образом, построение проекции формулы ^(і) на множество переменных П;(і) сводится к построению проекций п существенно более простых формул /1 (і), ..., /п (і) на это множество переменных.
После получения проекции ^ (і) на П;(і) следует построить проекцию этой формулы на множество переменных П(і). Для этого её нужно преобразовать в такую фор-
П
мулу вида V ^і(і — 1)&/г(і), чтобы для любых і = І выполнялось /¿(¿)&/^ (і) = 0.
¿=1
Поскольку функции ^¿(і — 1) (і = 1,... , п) зависят только от переменных х1(і — 1), ..., хт(і — 1), у1(і — 1), ..., уП(і — 1), построение У-проекции всей формулы сводится к построению У-проекций формул ^¿(і — 1) в конъюнкциях ^¿(і — 1)&/г(і) на множество {Х1(і — 1), . . . ,Хт(і — 1)}.
Пример. Пусть в структуре, изображенной на рис. 1, 11 = {і}, 01 = {о}, и = {м},
V = {^} и 12 = 02 = 0. Таким образом, Пс = {і, о}, = {і,м,г>,о}, = {и,^}.
Для упрощения записи спецификаций автоматов примем следующие соглашения: атом нулевого ранга вида р(і) записывается как р, для атома ранга —1 вида р(і — 1) будем использовать запись [р], знаки конъюнкции и квантора всеобщности в формулах опускаются. Обозначение [р] распространим на формулы, построенные из атомов ранга — 1, например, формулу р1(і — 1) Vр2(і — 1)&р3(і — 1) будем записывать как [р1 Vр2р3]. В таких обозначениях спецификации автоматов А и С, представленные в нормальной форме, имеют вид
^Х(і) = [о]м(іо V —і—о) V [—V—о](—V—мо V ^м—о) V [V—о]—м(^о V —V—о),
^с(і) = [о](іо V —і—о) V [—о]о.
Автомат С, специфицируемый формулой Уі^с(і), изображен на рис. 2.
Рис. 2. Автомат С
Спецификацию автомата В сигнатуры П = и Пв будем строить в виде ^¿(¿) = = -|(тщ(^(4))) V -Рс(£).
Минимальная форма формулы ^(¿) имеет вид
ппп(^4(()) = [о(1\/^и)]и(ю\/^1^о)\/[~^у^о(^1\/^и)\(^у^ио\/уи^о)\/[ии^о]^и(уо\/^у^о).
Для получения полной нормальной формы следует добавить конъюнкцию [у^и^о V —'шо V г—>г;г/—>о] (0). Теперь отрицание формулы тт(^(£)) получается путём инвертирования всех подформул вида /¿(¿):
-1(тт(^(£))) = [о(г V -игг))](-1гг V г~<о V -иго) V [—'-г;—>о(—>г V -игг)](г;-1гг V гго V —>г;—>о)V V[г;г/—>о] (г;—>о V -нг;о V гг) V [г;-1гг->о V -ишо V г—>г;г/—>о] (1) -
Дизъюнктивное произведение формул -и(тт(^(^)) и ^Ь(£) даёт
^(*) = [о(г V -иг*)](1) V [—'г?—1о(—>г V -игг)] (->гг V о V -иг») V [г?г/—>о] (гг V о V г;) V V[г;—'г/—>0 V -ишо V г—>г;г/—>о] (1) = [о V г?—>г^ V г—>г;г/] (1) V V[—>г—'г?—>0 V -иг?—1гх—>о](->гг V о V -иг;) V [г;гг->о](гг V о V г;).
Построим теперь \/-проекцию формулы ^¿(¿) на {[г;], [гг],г;,гг}.
На первом этапе получим
[о V г;->гг V г—<г;г*](1) V [—'г—>г;—>о V -иг;—1гх—>о](—>г; V -иг/) V [г;г*—<о](г; V гг).
Ортогонализация формул /¿(¿) даёт [оУ—>г;V—>г/] (—>г;—>г/) V [1] (—>г;гхУг;—'гх) V [оУг;Угг/] (г;г/). На втором этапе получим ^в(£) = [-ф V -игг] (—1г;—<г/) V [1] (—1г;г* V г;->гг) V [г;](г;гг). Покажем, что полученная формула специфицирует автомат, являющийся решением уравнения А о X = С. Для этого построим спецификацию композиции автоматов А и В, т. е. ^¿(¿)&;.Рв(£). Перемножив соответствующие формулы, получим
[—>г;—>о](—>г;—>г/о)V[г;—'г/—>о] (—>г;—'г/—>о)V[о] —>г;г/(гоУ—>г—>о)V[г;—>о](г;—>г/о)У[г;о]г;гх(гоУ—>г—>о). (5)
Эта формула специфицирует автомат, изображенный на рис. 3.
Рис. 3. Автомат, специфицируемый формулой (5)
Нетрудно видеть, что ограничение этого автомата на множество переменных {г, о} эквивалентно автомату C.
Заключение
Рассмотрена задача решения неравенств над Е-автоматами, возникающая при композиционном подходе к проектированию реактивных систем. Такие неравенства характеризуются операцией композиции автоматов и бинарным отношением ^, определенном на множестве автоматов. Задача формулируется и решается на уровне спецификаций автоматов в логическом языке L, для чего соответствующие понятия определяются для спецификаций. При решении неравенств такого рода обычно интерес представляют наибольшие в смысле указанного отношения решения, однако в нашем случае отношение ^ является частичным порядком, для которого наибольшего решения может не существовать. В связи с этим рассматривается задача отыскания максимального решения. Выбор для спецификации достаточно простого языка позволил свести решение этой задачи к преобразованию пропозициональных формул.
В приложениях, ориентированных на схемную реализацию проектируемой системы, используются другие виды композиции, обеспечивающие невозможность образования порочного цикла при изменении входных и выходных сигналов взаимодействующих модулей. Как показано в [9], многие из таких видов композиции могут быть сведены к рассмотренной в настоящей статье синхронной композиции циклических Е-автоматов путём простого преобразования одной или обеих спецификаций, участвующих в композиции.
Основная идея предложенного подхода состоит в том, чтобы сначала построить решение для синхронной композиции, т. е. в виде формулы, сигнатура которой состоит из всех предикатных символов, встречающихся в спецификациях, а затем получить решение для внешней композиции, взяв V-проекцию полученной формулы на соответствующее множество переменных. Предложен подход к построению такой проекции путём сведения задачи большой размерности к ряду задач существенно меньшей размерности.
Следует заметить, что задача решается для неинициальных спецификаций, хотя на практике, как правило, рассматриваются инициальные системы. Обычно инициализация спецификаций в языке L осуществляется путём задания начального условия в виде формулы F(t) этого же языка, используемой для выделения начального состояния после перехода к процедурному представлению автомата. Нормальная форма представления спецификаций дает возможность сразу учитывать их инициальность, что в ряде случаев сокращает объём вычислений, необходимых для решения задачи.
Автор благодарен Н. В. Евтушенко за полезное обсуждение рассматриваемых в статье вопросов.
ЛИТЕРАТУРА
1. Yevtushenko N., Villa T., Brayton R., Petrenko A., et. al. Solution of synchronous language equations for logic synthesis // Вестник Томского госуниверситета. 2002. № 1. С. 132-138.
2. Buffalov S., El-Fakih K., Yevtushenko N., Bochmann G. Progressive solutions to a parallel automata equation // LNCS. 2003. V. 2767. P. 367-383.
3. Yevtushenko N., Zharikova S., Vetrova M. Multi component digital circuit optimization by solving FSM equations // Euromicro Symposium on Digital System Design, IEEE Computer society, 2003. P. 62-68.
4. Harel D., Pnueli A. On the development of reactive systems // NATO ASI Series. Logic and Models of Concurrent Systems. Berlin: Springer, 1985. F13. P. 477-498.
5. Чеботарев А. Н. Об одном подходе к функциональной спецификации автоматных систем. I // Кибернетика и системный анализ. 1993. №3. С. 31-42.
6. Брауэр В. Введение в теорию конечных автоматов. М.: Радио и связь, 1987. 392 с.
7. Чеботарев А. Н., Куривчак О. И. Аппроксимация множеств сверхслов формулами языка L // Кибернетика и системный анализ. 2007. №6. С. 18-26.
8. Капитонова Ю. В., Чеботарев А. Н. Индуктивный синтез автомата по спецификации в логическом языке L // Там же. 2000. №6. С. 3-13.
9. Чеботарев А. Н. Взаимодействие автоматов // Там же. 1991. №6. С. 17-29.