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

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

CC BY
138
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
РЕАКТИВНАЯ СИСТЕМА / СПЕЦИФИКАЦИЯ В ЯЗЫКЕ L / У-АВТОМАТ / СИНХРОННАЯ КОМПОЗИЦИЯ У-АВТОМАТОВ / НЕРАВЕНСТВО НАД У-АВТОМАТАМИ / МИНИМАЛЬНОЕ РЕШЕНИЕ / У-AUTOMATON / SYNCHRONOUS COMPOSITION OF У-AUTOMATA / INEQUALITY OVER У-AUTOMATA / REACTIVE SYSTEM / LANGUAGE L SPECIFICATION / MAXIMAL SOLUTION

Аннотация научной статьи по математике, автор научной работы — Чеботарёв Анатолий Николаевич

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

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

The problem of solving inequalities over finite state machines (FSMs) is considered. This problem arises in compositional approach to the design of reactive systems. The problem is formulated and solved at the level of FSMs specifications in the logical language L. We show how to compute the maximal solution to the inequality with respect to the operation of synchronous composition of FSMs.

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

2010 Логическое проектирование дискретных автоматов №3(9)

ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ДИСКРЕТНЫХ

АВТОМАТОВ

УДК 621.391.1:004.7

РЕШЕНИЕ НЕРАВЕНСТВ НАД АВТОМАТАМИ В ПРОЕКТИРОВАНИИ РЕАКТИВНЫХ СИСТЕМ

А. Н. Чеботарёв Институт кибернетики НАН Украины, г. Киев, Украина E-mail: ancheb@gmail.com

Рассмотрена задача решения неравенств над автоматами, возникающая при композиционном подходе к проектированию реактивных систем. Задача формулируется и решается на уровне спецификаций автоматов в логическом языке 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. Отрицание формулы ^(¿),

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

¿=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.

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