Книга
Книга
ОГЛАВЛЕНИЕ
Предисловия рецензентов 5
Предисловие авторов 8
Введение 11
Глава 1. Вполне структурированные системы помеченных переходов 17
Предварительные сведения 17
Мультимножества 17
Квазиупорядоченные множества 18
Правильный квазипорядок 19
Системы помеченных переходов 25
Определение 25
Вполне структурированные системы помеченных переходов 27
Метод насыщения 28
Покрывающее дерево системыпереходов 34
Строгая совместимость 37
Совместимость по убыванию 40
Системы переходов автоматного типа 43
Примеры вполне структурированных систем помеченных переходов 46
Сети Петри 46
Системы с ненадёжными каналами 51
Системы переходов, независимых от данных 60
Глава 2. Счетчиковые машины 75
Счётчиковые машиныМинского 76
Счётчиковые машиныс потерями 80
Счётчиковые машины с обнулениями и ошибками проверки на нуль 90
Недетерминированные счётчиковые машины102
44Оглавление
4
4
Глава 3. Темпоральные свойства систем переходов ... 113
Метод проверки модели113
Логики ветвящегося времени 116
Логики линейного времени 124
Сравнение логик 127
Темпоральные свойства систем переходов138
Системы переходов автоматного типа 138
Системы переходов с сильной и транзитивной совместимостью 155
Дерево разрешимости темпоральных логик 162
Список литературы 163
Предметный указатель169
Предисловия рецензентов
Для решения больших задач в настоящее время широко используются многопроцессорные суперкомпьютеры, кластеры и распределенные системы. При этом наблюдается отставание методологии и средств параллельного программирования от уровня современной вычислительной техники. Преодоление этого отставания связано как с приобретением практического опыта в параллельном программировании, так и с решением ряда теоретических проблем, среди которых не последнюю роль играет исследование поведенческих свойств параллельных процессов. Поэтому поиск математических моделей параллельных процессов, которые бы послужили хорошей практической основой для создания средств проверки параллельных алгоритмов и программ на поведенческую корректность, следует считать весьма актуальной проблемой. К сожалению, несмотря на многочисленность существующих моделей и теоретических результатов по их исследованию, решению этой проблемы в литературе уделяется недостаточно внимания. Поэтому любые новые результаты, расширяющие наши знания о поведенческих свойствах параллельных систем и их алгоритмической разрешимости, являются теоретически ценными.
Монография содержит оригинальные результаты, полученные авторами при исследовании свойств параллельных и распределённых систем с бесконечным числом состояний, представляющих собой вполне структурированные системы помеченных переходов. Авторами предложен и последовательно изложен новый подход к исследованию разрешимости темпоральных и семантических свойств, основанный на свойстве структурированности систем переходов, которое состоит в совместимости с отношением переходов правильного квазипорядка на множестве состояний. Построены и приведены доказательства разрешимости (или неразрешимости) ряда свойств, общих для всего класса вполне структурированных систем переходов, а также для выделенных его подклассов.
Отдельно подробно рассмотрен класс счетчиковых машин Минского, поскольку ряд проблем неразрешимости сводится к соответствующим проблемам для этого класса систем. Особое внимание уделено темпоральным свойствам вполне структурированных систем переходов и методам проверки моделей.
Несмотря на строгий математический стиль, необходимость которого диктуется содержанием, монография написана хорошим и ясным языком. Она может быть полезна студентам, аспирантам и преподавателям по компьютерным наукам, а также разработчикам параллельного математического обеспечения в распределенных вычислительных системах.
Главный научный сотрудник Института вычислительной математики и математической геофизики СО РАН О. Л. Бандман.
Развитие теории верификации программ — важное направление научных исследований современного программирования. Теория верификации программ включает в себя два направления: теорию тестирования программ и теорию формальной верификации. В свою очередь, теория формальной верификации программ имеет два основных «русла» исследований: дедуктивная верификация и верификация на моделях.
Представленная монография посвящена теории верификации свойств на классе моделей программ, который получил название вполне структурированных систем переходов (well-structured transition systems). Среди основоположников исследования этого важного класса моделей программ прежде всего необходимо упомянуть имена следующих французских ученых: Р. Abdulla, A. Finkel и Ph. Schnoebelen.
Рецензируемая книга — это первая работа монографического характера на русском языке, посвященная теории вполне структурированных систем переходов. Она дает полное представление о работах зарубежных авторов по этой теории, а также содержит собственные результаты авторов данной монографии, полученные в период 2001-2004 гг., и состоит из следующих трёх глав:
Вполне структурированные системы переходов.
Счетчиковые машины.
Темпоральные свойства систем переходов.
Первая глава посвящена в основном обзору теории и примеров вполне структурированных систем переходов, а также описанию методов анализа базовых свойств таких систем. Вторая глава наряду с известными результатами содержит собственные результаты авторов по моделированию универсальных вычислительных устройств (машин Минского). В третьей главе излагаются результаты по проверке временных (темпоральных) свойств вполне структурированных систем переходов, которые были прежде получены и опубликованы авторами книги.
Монография характеризуется замкнутостью изложения материала, доступного для освоения читателю с базовой подготовкой по дискретной математике. Фактически читателю достаточно иметь представление о множествах, пропозициональной логике, конечных автоматах и машинах Тьюринга.
Материал книги включает в себя:
все необходимые определения;
логически правильно расставленные теоремы и утверждения, снабженные корректными доказательствами;
список всей необходимой учебной и монографической литературы на русском языке, к которой можно обратиться, если возникли трудности при работе со вспомогательным материалом;
список основных зарубежных публикаций в журналах и трудах конференций, относящихся к теории вполне структурированных систем переходов.
Следует отметить, что данная монография не имеет аналогов в отечественной литературе, а представленный в ней материал может служить основой специального учебного курса для студентов и аспирантов, специализирующихся по теоретической информатике и ее приложениям к верификации программ.
Заведующий лабораторией теоретического программирования Института систем информатики им. А. П. Ершова СО РАН, В. А. Непомнящий.
Старший научный сотрудник Института систем информатики им. А. П. Ершова СО РАН, Н. В. Шилов.
Предисловие авторов
Современный период развития информатики и вычислительной техники характеризуется широким использованием параллельных и распределенных систем, поведение которых отличается высокой степенью сложности. Это обстоятельство выдвигает новые задачи в области моделирования и анализа корректности таких систем. Многие существующие методы и средства анализа параллельных и распределённых систем основаны на использовании помеченных систем переходов с конечным числом состояний. Однако очень часто при исследовании сложных систем приходится строить формальные модели, которые представляют собой системы переходов с бесконечным числом состояний. В этом случае многие средства верификации, производящие полный перебор пространства состояний, становятся неприменимыми.
Тем не менее для некоторых ограниченных классов систем с бесконечным числом состояний разными авторами были разработаны достаточно эффективные методы верификации (как, например, в работах Р. Abdulla, К. Cerans, A. Finkel, В. Jonsson, F. Moller, Ph. Schnoebelen [20, 48, 71]). В частности, оказалось, что метод проверки модели (model checking), широко используемый при автоматической верификации систем с конечным числом состояний, может быть применим для некоторых классов систем с бесконечным числом состояний и подмножеств темпоральных логик.
Примерами формальных моделей, являющихся системами переходов с бесконечным числом состояний и позволяющих описывать параллельные и распределённые системы, являются магазинные автоматы [3, 19], сети Петри [6], ВРР (Basic Parallel Processes) [37], LCS (Lossy Channel Systems — системы с каналами, теряющими сообщения) [23, 24], Real-Time Automata (автоматы реального времени) [26] и др. Целью данной книги является описание свойств и методов исследования одного такого класса систем переходов — так называемых вполне структурированных систем помеченных переходов. Это весьма
широкий класс систем переходов с бесконечным числом состояний, для которого разрешимость многих свойств следует из существования совместимого с отношением переходов правильного квазипорядка на множестве состояний. При исследовании этих систем переходов основное внимание уделяется разрешимости таких классических проблем, как проблемы ограниченности, достижимости, покрытия, неизбежности, поддержки управляющего состояния, останова, эквивалентности и ряда других важных семантических свойств.
Ранее рядом авторов (A. Bouajjani, О. Burkart, J. Esparza, A. Kiehn, R. Mayr) исследовались вопросы разрешимости задачи проверки модели для некоторых конкретных представителей класса вполне структурированных систем переходов, а именно магазинных автоматов, сетей Петри, ВРР, Lossy Vector Addition Systems и различных темпоральных логик линейного времени и ветвящегося времени [32, 29, 45, 46]. В данной монографии при исследовании этих проблем выбран подход на основе максимально возможного обобщения и главное внимание уделяется проблеме разрешимости темпоральных свойств для различных классов вполне структурированных систем помеченных переходов, в частности для класса вполне структурированных систем переходов автоматного типа. В качестве общего средства для демонстрации неразрешимых проблем для вполне структурированных систем помеченных переходов используются счётчиковые машины.
Следует заметить, что в литературе практически не уделяется внимание системам переходов, независимых от данных (за исключением систем переходов с конечным числом состояний), которые тем не менее могут быть достаточно выразительным и интересным средством моделирования. В связи с этим в книге представлен специальный фрагмент алгебры процессов, позволяющий строить формальные модели (параллельных и распределённых систем), которые можно рассматривать как независимые от данных помеченные системы переходов. Примером конкретной реализации этого фрагмента является введенный нами формализм, который называется «взаимодействующие раскрашивающие процессы» (Communicating Colouring Processes). Кроме взаимодействующих раскрашивающих процессов, в качестве примеров вполне структурированных систем переходов рассмотрены
обыкновенные сети Петри и сети Петри с обнуляющими дугами, а также системы с ненадёжными каналами, в частности FIFO- канальные системы с потерями.
Наше внимание к исследованию свойств класса вполне структурированных систем переходов было привлечено работами основоположников этого направления, среди которых в первую очередь хотелось бы отметить наших французских коллег: Р. Abdula, A. Finkel и Ph. Schnoebelen. Мы особенно признательны Филиппу Шнеблену (Ph. Schnoebelen), который оказал нам существенную помощь на начальном этапе наших исследований в этой области. Нам хочется поблагодарить всех участников семинара «Моделирование и анализ информационных систем» и, в частности, Ирину Александровну Ломазову за полезное обсуждение и постоянный интерес к нашей работе, а также наших коллег из Ярославского государственного университета им. П. Г. Демидова, чью поддержку мы постоянно ощущали. Мы выражаем благодарность нашим рецензентам — Ольге Леонидовне Бандман и Валерию Александровичу Непомнящему — за труд по прочтению рукописи книги и внимание к нашей работе. И наконец, наша особая благодарность — Николаю Вячеславовичу Шилову за скрупулезный анализ всего содержания книги и всех наших результатов, к некоторым из которых он имеет самое непосредственное отношение как соавтор! Его многочисленные замечания и предложения позволили избежать целого ряда неточностей и шероховатостей в формулировках и доказательствах теорем, а также в некоторых случаях помогли в выборе терминологии с учетом того, что данная область науки только еще формируется.
Введение
В настоящее время большое внимание уделяется моделированию и анализу корректности параллельных и распределённых систем, каковыми являются, например, вычислительные машины и комплексы с параллельной и распределенной архитектурой, параллельные программы, протоколы передачи данных, модели технологических и бизнес-процессов. Под корректностью понимается полное соответствие системы задачам, для которых она создаётся. Корректность определяется абстрактным образом в соответствии с формальной спецификацией, описывающей желаемое поведение системы. Процесс проверки, соответствует ли поведение системы требованиям, заданным в спецификации, называется верификацией.
Обычно в качестве формальных моделей параллельных и распределённых систем выступают помеченные системы переходов, представляющие собой средство технически простое, но очень удобное и достаточно общее для моделирования параллельного поведения.
Многочисленные методы и средства анализа параллельных и распределённых систем основаны на использовании помеченных систем переходов с конечным числом состояний. Однако существует большое количество примеров формальных моделей, которые могут быть рассмотрены как системы переходов с бесконечным числом состояний. В этом случае многие средства верификации, производящие полный перебор пространства состояний, становятся неприменимыми, так как по своей природе не способны анализировать системы, у которых число состояний бесконечно.
Чтобы преодолеть этот недостаток, были разработаны методы, применимые, по крайней мере, для некоторых ограниченных классов систем с бесконечным числом состояний. Можно упомянуть здесь работы, например, Р. Abdulla, К. Cerans, A. Finkel, В. Jonsson, F. Moller, Ph. Schnoebelen [20, 48, 71]. Более того, оказалось, что метод проверки модели, широко используемый
при автоматической верификации систем с конечным числом состояний, может быть применён для некоторых классов систем с бесконечным числом состояний и подмножеств темпоральных логик [44, 46, 32, 45, 29].
Проверка модели (model checking) — один из подходов к решению проблемы верификации [35]. В качестве языков спецификации для выражения свойств систем при этом подходе используются темпоральные логики. Задача проверки модели состоит в определении выполнимости для системы, заданной формальным образом (в виде формальной модели), свойства, записанного формулой темпоральной логики.
Исследования систем переходов с бесконечным числом состояний были мотивированы теорией формальных языков и грамматик [58, 19, 3]. Во-первых, в этой теории бесконечные языки описываются конечными грамматиками, а во-вторых, некоторые проблемы для языков, например проблема эквивалентности регулярных языков, являются разрешимыми. Следовательно, не все проблемы систем переходов с бесконечным числом состояний неразрешимы. По аналогии с теорией формальных языков были введены новые формализмы для описания бесконечных систем переходов.
Классическим примером является магазинный автомат. В теории формальных языков он используется для описания контекстно свободных языков. Но этот автомат может быть также рассмотрен как модель системы переходов с бесконечным числом состояний. Каждое управляющее состояние (множество которых конечно) вместе с содержимым стека (магазина) описывает состояние системы переходов. Поскольку размер стека не ограничен, то может быть бесконечно много различных состояний системы. Состояние меняется, когда автомат принимает терминальный символ. Однако это можно интерпретировать как совершение действия системой и переход её в другое состояние.
Примерами других формальных моделей (систем переходов с бесконечным числом состояний), позволяющих описывать параллельные и распределённые системы, являются сети Петри [6], ВРР (Basic Parallel Processes) [37], LCS (Lossy Channel Systems —системы с каналами, теряющими послания) [23, 24], Real-Time Automata (автоматы реального времени) [26] и др.
Указанные формализмы, как и многие другие, могут быть рассмотрены как вполне структурированные системы помеченных переходов [20, 48].
Вполне структурированные системы помеченных переходов — это весьма широкий класс систем переходов с бесконечным числом состояний, для которых разрешимость многих свойств следует из существования совместимого с отношением переходов правильного квазипорядка на множестве состояний.
Описание свойств и методов исследования этого класса систем переходов и является целью настоящей монографии. Основное внимание уделяется разрешимости таких проблем, как проблемы ограниченности, достижимости, покрытия, неизбежности, поддержки управляющего состояния, останова, эквивалентности и ряда других важных семантических свойств. Важность этих задач при анализе свойств систем с бесконечным числом состояний можно продемонстрировать на примере проблем ограниченности и эквивалентности. Одним из первых вопросов при верификации потенциально бесконечных систем является вопрос, действительно ли поведение той или иной системы порождает бесконечное число состояний. Если ответ отрицательный, то могут быть применимы методы, которые используются для верификации конечных систем. Если же множество состояний действительно бесконечно, остаётся работать лишь с ограниченной, «видимой» частью поведения системы с применением различных комбинаций методов и техник анализа. Для двух формальных моделей, отличающихся размером спецификации, также представляет интерес вопрос о разрешимости проблемы совпадения (эквивалентности) множеств состояний систем переходов, которые они порождают. И в случае положительного ответа существовала бы возможность замены исследуемой сложной модели на более простую (в смысле объёма спецификации).
В качестве общего средства для демонстрации неразрешимых проблем для вполне структурированных систем переходов рассматриваются «слабые» счётчиковые машины. Абстрактная счётчиковая машина — довольно простой и удобный объёкт для исследования неразрешимых семантических и темпоральных свойств систем переходов. Большое количество формализмов, порождающих вполне структурированные системы переходов, с легкостью могут задавать поведение «слабых» счётчиковых
машин. Но в то же время такие проблемы, как ограниченность и достижимость, для некоторых классов машин являются неразрешимыми. Поэтому все неразрешимые проблемы для того или иного класса «слабых» счётчиковых машин автоматически распространяются на вполне структурированные системы переходов (формальные модели), способные отображать поведение этих машин.
Абстрактные счётчиковые машины строятся с помощью различных ослаблений, например недетерминизма переходов и отношения потери значений счётчиков, на основе счётчиковых машин Минского, которые являются равномощными универсальным машинам Тьюринга. Отсюда неразрешимость исследуемой проблемы устанавливается методом сведения неразрешимой проблемы машины Минского к данной проблеме. Необходимо отметить, что, если исследуемое для конкретной модели свойство является неразрешимым для класса систем переходов, к которому принадлежит модель, это ещё не означает бесполезность проверки его выполнимости. Поскольку доказательство неразрешимости некоторого свойства проводится на одном «плохом» примере для всего класса систем переходов в целом, то в конкретном случае, в конкретной модели с учётом её особенностей проверка свойства может привести к положительному (или отрицательному) результату, т. е. проверка свойства может быть осуществлена.
Ранее в ряде публикаций таких авторов, как A. Bouajjani, О. Burkart, J. Esparza, A. Kiehn, R. Mayr, из которых, например, можно выделить [32, 29, 45, 46], исследовались вопросы разрешимости задачи проверки модели для некоторых конкретных представителей класса вполне структурированных систем переходов, а именно магазинных автоматов, сетей Петри, ВРР, LVAS (Lossy Vector Addition Systems) и различных темпоральных логик линейного времени и ветвящегося времени. В данной же монографии мы исходим из позиции обобщения и акцентируем внимание на проблеме разрешимости темпоральных свойств для различных классов вполне структурированных систем помеченных переходов, в частности для класса вполне структурированных систем переходов автоматного типа, которые из-за своей специфической структуры можно также отнести и к классу систем переходов, независимых от данных.
В литературе практически не уделяется внимание системам переходов, независимых от данных (за исключением систем переходов с конечным числом состояний). Тем не менее системы, принадлежащие к этому классу, могут быть достаточно выразительными и нетривиальными. Для демонстрации этого факта в данной монографии представлен специальный фрагмент алгебры процессов, построенный на основе таких хорошо известных алгебр процессов, как CCS (Calculus of Communicating Systems —исчисление взаимодействующих систем) Милнера [69] и SCP (Communicating Sequential Processes — взаимодействующие последовательные процессы) Хоара [57], позволяющий строить формальные модели (параллельных и распределённых систем), которые могут быть рассмотрены как независимые от данных помеченные системы переходов, а точнее, как вполне структурированные системы переходов автоматного типа.
В качестве примера конкрентой реализации этого фрагмента представлен формализм, который называется ^взаимодействующие раскрашивающие процесс”》(ССР — Communicating Colouring Processes), позволяющий строить модели распределённых систем, где поведение каждого компонента описывается последовательным процессом и между ними организовано взаимодействие, направленное на обмен и передачу пакетов информации. Формализм ССР принимает во внимание факт передачи данных, а также позволяет отслеживать перемещение данных различного типа между компонентами системы. Но переход из одного состояния в другое не зависит от оперируемых данных, а определяется только управляющими состояниями.
Кроме взаимодействующих раскрашивающих процессов, в качестве примеров вполне структурированных систем переходов рассмотрены обыкновенные сети Петри и сети Петри с обнуляющими дугами, а также системы с ненадёжными каналами, в частности FIFO-канальные системы с потерями. Эти формализмы позволяют продемонстрировать ряд абстрактных свойств на конкретных примерах.
Монография организована следующим образом.
В первой главе приводятся предварительные сведения, на которые мы будем опираться в дальнейшем. Здесь определяются понятия мультимножества и правильных квазипорядков. Затем рассматриваются различные классы вполне структурированных
систем переходов; для них описываются методы анализа разрешимых семантических свойств. В конце главы приводятся примеры формальных моделей параллельных и распределённых систем, порождающих вполне структурированные системы переходов рассматриваемых классов. Глава составлена в основном с использованием материалов из литературных источников [13] и [48].
Важно отметить, что в книге [13] И. А. Ломазовой для моделирования и анализа распределённых систем с объектной структурой предлагается использовать вложенные сети Петри, которые также рассматриваются как вполне структурированные системы переходов и являются интересным примером систем переходов с сильной совместимостью по возрастанию отношения квазипорядка (на множестве состояний) с отношением переходов. В нашей монографии не рассматриваются вложенные сети Петри, и авторы отсылают читателя для ознакомления с этим формализмом, являющимся расширением обыкновенных сетей Петри, к [13].
Вторая глава посвящена счётчиковым машинам, с помощью которых показываются неразрешимые проблемы для вполне структурированных систем переходов, способных моделировать их поведение.
В третьей главе исследуется разрешимость темпоральных свойств систем переходов. Здесь описывается метод проверки модели и приводится ряд темпоральных логик линейного времени и ветвящегося времени. Базовой темпоральной логикой полагается автоматная логика. Проводится сравнение (по выразительной силе) этой логики с другими приведёнными темпоральными логиками. Затем для рассматриваемых классов вполне структурированных систем переходов устанавливаются разрешимые и неразрешимые темпоральные свойства, т. е. устанавливаются подмножества логик, в частности подмножества автоматной логики, для которых метод проверки модели может быть применим, и неразрешимые подмножества, для которых в общем случае этот метод может оказаться бесполезным. Итогом главы является дерево разрешимости темпоральных логик.
Глава 1ВПОЛНЕ СТРУКТУРИРОВАННЫЕ СИСТЕМЫПОМЕЧЕННЫХ ПЕРЕХОДОВ
Предварительные сведения
Мультимножества. Понятие мультимножества есть обобщение понятия множества. В мультимножестве допускается вхождение нескольких экземпляров одного и того же элемента.
Определение 1.1.1. Пусть X — это некоторое множество. Мультимножеством m над X называется функция
тп: X т N,
где N = {0, 1,2,…} — множество целых неотрицательных чисел.
Полагаем х Е т, если т⑺ > 0, и х ^ т, если т⑺=0. Для 力 е X значение т⑺ называют кратностью х в т.
В том случае, когда Vx е X: т⑺ < 1, m является обычным множеством. Мощность мультимножества определяется как
HI = X/exm(%)・
Мультимножество конечно, если для всех 力 е X, за исключением, может быть, конечного их числа, имеем т(х) = 0. В дальнейшем будем рассматривать только конечные мультимножества. Множество всех конечных мультимножеств над множеством X обозначим через М(Х).
Операцию вычитания до нуля для натуральных чисел определим следующим образом:
Vn, k е N: ri ㊀ к 喫 max(0, n — k).
Операции и отношения теории множеств естественным образом расширяются на конечные мультимножества.
Пусть mi, m2 G М(Х),力 е X, X’ U X n k е N. Полагаем
(Ш1 + Ш2)(Х)= Ш1(Х)+ Ш2(Х),
(к • nil)(力)=к • Ш1 (力),
(mi - m2)(Ж) = mi(x)㊀ m2(力)理 max(0,m乂力)-m2(%)),
(mi U Ш2)(х) = max(mi(x), Ш2(х)),
(mi G Ш2)(х) = min(mi (力),Ш2(х)),加1 U 加2 ^=^ Vx 6 X : mi (力)< Ш2(х),
Символ 0 обозначает пустое мультимножество, т. е. такое мультимножество mG М(Х), что т⑺=0 для всех х.
Квазиупорядоченные множества. Бинарное отношение R называется отношением частичного порядка, если оно рефлексивно, транзитивно и антисимметрично. Антисимметричность означает, что (力Ag) Л (дА%) — (% = д).
Если отношение только рефлексивно и транзитивно, то оно называется отношением квазипорядка, или предпорядка.
Вместо xRy обычно пишут х <^ у или просто х ^ у. Будем также говорить, что множество X, являющееся носителем отношения А, частично упорядочено (или квазиупорядочено), не указывая явно отношения А, если из контекста ясно, о каком упорядочении идёт речь. Если х ^ у и х ^ у, то пишут х < у и говорят, что х строго меньше у. Очевидно, что строгий порядок есть транзитивное и иррефлексивное отношение.
Для квазипорядка х <^ у обратным называют квазипорядок х 2A у такой, что х 2A у <^> у <^ х. Аналогично пишем х〉r у <^> у <尺 х. Квазипорядок R、на множестве X называют расширением квазипорядка R? на X, если для любых 力i,%2 G X из 力 1 崑尺2 力2 следует 力i <^t 力2,соответственно, R? называется сужением %.
Частично упорядоченное множество, в котором любые два элемента сравнимы, называется линейно упорядоченным, или цепью.
Подмножество У квазиупорядоченного множества (X, <) называется антицепью, если элементы У попарно несравнимы, т. е. для любой пары элементов х ^ у из Y не выполняется ни х у, ни у ^ х.
Элемент а квазиупорядоченного множества X называется минимальным элементом этого множества, если в X нет ни одного элемента х, удовлетворяющего условию х < а.
Правильный квазипорядок. Квазипорядок R на множестве X называется фундированным, или квазипорядком с условием минимальности (well-founded), если всякое непустое подмножество множества X имеет минимальный (в этом подмножестве) элемент. Это эквивалентно тому, что в X нет бесконечно строго убывающих цепей вида х^ > х\ > х^ > ....
Квазипорядок < на множестве X называется правильным (well-quasi-ordering), если для любой бесконечной последовательности 力о,力1,力2,力3, •…элементов из X существуют индексы г < j такие, что Xi < Xj.
Непосредственно из определений следует, что:
всякое расширение правильного квазипорядка является правильным;
всякое сужение фундированного квазипорядка является фундированным.
Далее приводятся некоторые другие важные свойства правильных квазипорядков.
Утверждение 1.1.1. Квазипорядок < на множестве X является правильным 6 том и только том случае, когда одновременно выполняются два следующих условия:
X не содержит бесконечных строго убывающих цепей 力о〉%]〉%2〉. . •;
всякая содержащаяся 6 X антицепь конечна.
Доказательство. Легко заметить, что для правильного квазипорядка выполняется условие минимальности. Действительно, если нарушается условие минимальности и существует бесконечная строго убывающая последовательность хо > х\ 〉力2 •…,то для этой последовательности для любой пары индексов г < j не выполняется Xi < Xj.
Аналогично, если существует бесконечная антицепь У, то из элементов У можно построить бесконечную последовательность, не удовлетворяющую условию правильности.
Докажем, что если условия 1, 2 выполняются, то отношение < —правильный квазипорядок. Предположим противное. Пусть 力о,%1,%2,・・・—это некоторая бесконечная последовательность элементов из X, для которой условие правильности не выполняется, но выполняются условия 1 и 2. Итак, для любых j > г не выполняется Xi < Xj. Тогда в силу конечности антицепей из этой последовательности можно выбрать подпоследовательность
0]〉力力,力02〉"外,...,0]〉力力,力02〉"外,...,(1-1)(1-1)
0]〉力力,力02〉"外,...,
0]〉力力,力02〉"外,...,
(1-1)
(1-1)
где ii < /1 < 〃2 < % •
Рассмотрим теперь последовательность х^, Xi2,力^,力^,.... Повторяя предыдущие рассуждения, из неё можно выбрать подпоследовательность
〉Xj^ , . . . ,( 1 ・2)
где < 孙 <%<%<%<.... Тогда, объединяя 1.1 и 1.2, имеем
T厶〉力川〉力k1, Q&〉殳%〉力局,
где 厶 < j[ < ki < i^ < j^ < k^ < if3 < ....
Применяя аналогичные рассуждения, из данной последовательности 力0,力1,力2,・・・ можно построить сколь угодно длинную строго убывающую подпоследовательность, что противоречит условию 2.□
Следствие 1.1.1.
Любой правильный квазипорядок является фундированным.
Для линейного порядка условия правильности и фундируе- мости эквивалентны.
Утверждение 1.1.2. Пусть отношение < — правильный квазипорядок на множестве X. Тогда всякая бесконечная последовательность 力о,力 1,力2,••• элементов из множества X содержит бесконечную монотонно возрастающую подпоследовательность %% W W W ?0е 〃о < 〃1 < ^2 < ....
Доказательство. Рассмотрим бесконечную последовательность 力о,力 1,力2,• • • н множество
М = {i е N \ \/j > i : Xi ^ Xj}.
Множество М не может быть бесконечным, так как в этом случае из его элементов можно было бы выбрать бесконечную подпоследовательность, для которой не выполняется условие правильности. Тогда множество М ограничено, и, следовательно, любая подпоследовательность, начинающаяся с индекса i 隹 М, является бесконечной возрастающей подпоследовательностью. □
Определение 1.1.2. Пусть отношение < — правильный квазипорядок на множестве X. Идеалом, или верхним конусом, называется подмножество 1 С X такое, что для х е Л дбХ и X у следует, что у Е I.
Определение 1.1.3. Пусть < — правильный квазипорядок на X. Нижним конусом называется подмножество 1 С X такое, что для xel.yeXux^y следует, что у Е I.
Идеал (верхний конус) может быть получен замыканием кверху некоторого множества. Каждый элемент х Е X порождает верхний конус ]х ^ {у \ у х}. Базисом верхнего конуса I называется множество min⑴ такое, что I = Uxemm(i) Т%・ Следующее свойство впервые было установлено Хигманом [56].
Утверждение 1.1.3. Если отношение < — правильный квазипорядок на множестве X, то всякий верхний конус I имеет конечный базис.
Доказательство. Поскольку < — фундированный порядок, множество минимальнх элементов конуса образует его базис. Этот базис может содержать только конечное число элементов, так
как в противном случае из этих минимальных элементов можно было бы построить бесконечную последовательность попарно несравнимых элементов, что противоречит правильности. □
В дальнейшем нам понадобится следующее свойство верхних конусов.
Утверждение 1.1.4. Если отношение < — правильный квазипорядок на множестве X, то любая бесконечно возрастающая по отношению вложения множеств последовательность /о U 厶 U ‘2 U …верхних конусов стабилизируется, т. е. найдётся такое k G N, что Д = Д+1 = Д+2 = •…
Доказательство. Предположим противное, что для некоторой последовательности верхних конусов условия теоремы не выполняются. Выберем из этой последовательности строго возрастающую подпоследовательность 1По С 1Щ С 1П2 С .... Тогда для каждого г > 0 найдётся элемент Xi G 1Tli\1冗一.В силу правильности среди элементов бесконечной последовательности 力i,%2, %з・・・ найдётся пара Xi < Xj при i < j. Но элемент Xi принадлежит конусу 1П., и, следовательно, Xj е 1щ, что противоречит условию 勺 4 -^п^ _ 1 • 口
Определение 1.1.4. Пусть < — некоторый квазипорядок на множестве X. Отношение <п на множестве Хп векторов размерности п с элементами из X определим, полагая для 力,歹 G Хп, X =(Х1,Х2,.. .,ХП\ у =(41,42,…,协I), X ^п у в том и только том случае, когда \/〃, 1 < г < п: < ^.
Утверждение 1.1.5. Пусть отношение < — правильный квазипорядок на множестве X. Тогда отношение <п на множестве векторов размерности п из Хп также является правильным квазипорядком.
Доказательство. Пусть имеется некоторая бесконечная последовательность 力о,力1,力2, •… векторов из множества Хп. Выберем из этой последовательности бесконечную подпоследовательность так, чтобы все первые координаты векторов следовали в возрастающем порядке (относительно порядка <). Это возможно в силу утверждения 1.1.2. Далее из полученной подпоследовательности
выберем в свою очередь бесконечную подпоследовательность, в которой вторые координаты следуют в возрастающем порядке. Повторив этот процесс для всех п координат, получим подпоследовательность, возрастающую в каждой координате, т. е. последовательность векторов 2%,力行,力运,• • •• В этой подпоследовательности любая пара векторов удовлетворяет условию, что Xi < Xj для i < j.口
Это утверждение известно как лемма Диксона [40].
Необходимо отметить, что <п не является линейным порядком на Хп, даже если < — линейный порядок на X.
Если X — конечное множество, на котором задан некоторый порядок, то из утверждения 1.1.5 следует
Утверждение 1.1.6. Отношение С на множестве М(Х) является правильным квазипорядком.
Доказательство. Напомним, что для двух мультимножеств mi, т2 G М(Х)
mi С /л? V% G X: mi (力)< Ш2(Х).
Поскольку элементы множества X упорядочены, то мультимножества m G М(Х) можно рассматривать как векторы вида (тп(%1),..., т(хп)), где п = |Х|.□
Обозначим X* множество конечных последовательностей (строк) элементов из X. Пустую последовательность будем обозначать е. Длина последовательности 力 е X* обозначается \х\, и |е| = 0. Для обозначения бесконечной последовательности 力 1力2力3 …элементов из X мы будем использовать (力力》i.
Определение 1.1.5. Пусть на множестве X задан квазипорядок а 力=力 1力2 •…力тп и У — У\У2 …Уп — строки из множества X*, где т《п, (т, n е N). Строка х вкладывается 6 строку у (обозначается 力 « у) тогда и только тогда, когда существует сохраняющее порядок инъективное отображение д: {1,..., т} т {1,..., п} такое, что Vi е {1,..., т}: & < ^(^, где g — строго монотонная функция. Это означает, что строка х вкладывается 6 строку у, если из у можно удалить некоторые элементы так, чтобы получившаяся строка была поэлементно не меньше, чем строка х.
Мы будем называть х = х\х^ ... хш подстрокой строки у = У\У2 - • Ут ^ у — надстрокой строки х. Вложение « является рефлексивным, транзитивным и антисимметричным отношением, т. е. частичным порядком на X. Далее будем предполагать, что если множество X конечное, то для любых х», yj G X
0 W Уд < > 0 = yj •
Приведём теперь фундаментальный результат, принадлежащий Хигману [56] (лемма Хигмана).
Утверждение 1.1.7. Пусть на множестве X задан правильный квазипорядок <. Тогда отношение вложения « также является правильным квазипорядком на множестве конечных строк X*.
Доказательство. Предположим, что « не является правильным квазипорядком на X*. Тогда существует по крайней мере одна последовательность s = si, $2, $3, • • • строк из X* такая, что для любых i 込 j, i < j, имеем Xi 爻 Xj. Мы будем называть такую последовательность «плохой»; последовательность, для которой это свойство не выполняется, назовём «хорошей».
Построим наименьшую плохую последовательность строк t =方 1,方2,方з, •…следующим образом:
•方1 — строка минимальной длины, с которой начинается плохая последовательность;
Xi формируют бесконечную последовательность х =(力広)広》1 в X, а элементы Si выстраивают бесконечную последовательность (s/》i в X*. Из утверждения 1.1.2 следует, что существует монотонно возрастающая подпоследовательность 力/ =(力。(办)〃》].Покажем, что соответствующая последовательность sz = (%⑴卜习 хорошая. Если предположить, что это не так, то возможны лишь два следующих случая:
(т(1) = 1: бесконечная последовательность sf плохая с |si| < < |tiI,что противоречит условию минимальности для последовательности 方;
о⑴〉1: бесконечная последовательность
6 — 土1, 土2,土3' ♦ ♦ ♦ ' *сг( 1) — 1,6(т(1)' 6(т(2),6(т(3)'
также является плохой, так как Vfc ^ 1 t^ = х^ sj^, и из ti « s^^ и определения отношения вложения « следует, что ti « 方ст。). Но |бсг(1)| < 1^(!)!,что также противоречит условию минимальности t
Поскольку последовательность ^ = (%⑴)〃》i хорошая, то существуют натуральные числа i < j такие, что а(г) < a(j) и 6“《 %(力 Так как последовательность 力/ монотонно возрастающая, имеем
^a(i) = ^a(i) ^a(i)《^cr(j) ^cr(j) = ^cr(j) •
Следовательно, последовательность t хорошая. Пришли к противоречию.□
Системы помеченных переходов
Система помеченных переходов — одна из наиболее распространенных моделей для описания поведения различных систем (в том числе параллельных и распределённых).
Определение. В этом пункте помимо определения системы помеченных переходов приводится ряд основных понятий, имеющих отношение как к простым системам помеченных переходов, так и к вполне структурированным.
Определение 1.2.1. Система помеченных переходов представляет собой четвёрку LTS = (S,T,б。),где
S — множество состояний с элементами б。,si, $2, • • •,
Г — некоторый алфавит пометок (множество имён действий),
tU(SxTxS)— отношение перехода между состояниями системы,
б。G S — начальное состояние системы.
Переход (s,九 s') обычно записывается как s -^ sf и означает, что действие с именем t переводит состояние s в состояние s'. Состояние sf в этом случае называется t-последующим, или просто последующим для s, а состояние s — t-предыдущим, или просто предыдущим для s'. Состояния, не имеющие последующих состояний, называются финальными.
Через Succ(s) обозначается множество последующих состояний для s, через Pred(s) — множество его предыдущих состояний. Система LTS будет конечно ветвящейся, если для любого s множество Succ(s) конечно. Далее будут рассматриваться системы переходов, имеющие только конечное ветвление.
Определение 1.2.2. Система переходов LTS имеет вычислимое отображение Succ (соот. Pred), если существует эффективная процедура вычисления множества Succ(s) (соот. Pred(s)) для любого состояния s.
Последовательное исполнение для LTS есть конечная или бесконечная цепочка переходов б。厶 si ^> $2 — • • где б。— начальное состояние системы. Запись s,s' означает, что имеется (конечная) последовательность переходов, переводящая состояние 6 в состояние s'.
Диаграмма переходов для LTS — это помеченный ориентированный связный граф Glts, в котором вершинами являются элементы множества состояний S, а дуги определяются отношением переходов так, что дуга, помеченная t, соединяет вершину 6 с вершиной sf в том и только том случае, когда s 二 s'.
V s-qV s-qbbaa
V s-q
V s-q
b
b
a
a
Рис. 1.1. Свойства сильнойРис. 1.1. Свойства сильной(а) и транзитивной (b) совместимости по возрастанию
Рис. 1.1. Свойства сильной
Рис. 1.1. Свойства сильной
Очевидно, что каждому последовательному исполнению системы LTS соответствует ориентированный путь с началом в вершине б。в графе Glts・
Деревом достижимости назовём ориентированное дерево с корнем в начальном состоянии б。системы переходов LTS, в котором вершины помечаются элементами из S, а дуги определяются в соответствии с отношением переходов.
В отличие от диаграммы переходов в дереве достижимости разные вершины могут иметь одну и ту же метку из множества состояний S. Дерево достижимости представляет собой множество всех возможных исполнений системы переходов LTS.
Вполне структурированные системы помеченных переходов. Для решения задач анализа семантических свойств систем переходов полезной оказывается теория вполне структурированных систем переходов [47, 20, 48].
Определение 1.2.3. Вполне структурированной системой переходов со свойством сильной совместимости (〃о возрастанию) называется система переходов LTS = (S, Т, т,бо), дополненная отношением квазипорядка <С S х S, удовлетворяющим следующим условиям: 1) отношение < является правильным квазипорядком;
2) квазипорядок < совместим сильно по возрастанию с отношением переходов а именно для любых двух состояний s q и любого перехода s -^ sf существует переход q L d такой, что sf < qf.
Свойство сильной совместимости по возрастанию представлено в виде диаграммы на рис. 1.1(a).
Приведём более общее определение вполне структурированной системы переходов, которое чаще всего соответствут системам с потерями [66, 23]. Системы с потерями (FIFO-канальные системы с потерями) будут рассмотрены в разделе 1.3.2 в рамках систем с ненадёжными каналами.
Определение 1.2.4. Вполне структурированной системой переходов со свойством транзитивной совместимости называется система переходов LTS = (S, Т, т,бо), дополненная отношением правильного квазипорядка < С 5 х 5, транзитивно совместимым с отношением переходов т, т. е. для любых состояний s ^ q\ и любого перехода s 工 s' существует непустая последовательность переходов % — q2 T …— т 八—1 工 qn такая, что s'《и s《qi \/i < п.
Диаграмма, отражающая свойство транзитивной совместимости, показана на рисунке 1.1(b).
Далее в тексте системы переходов, удовлетворяющие определению 1.2.4 (соот. 1.2.3), будем называть вполне структурированными системами переходов с транзитивной совместимостью (соот. с сильной совместимостью).
Определение 1.2.5. Система переходов (LTS, <) имеет разрешимое отношение порядка < на множестве состояний, если существует эффективная процедура проверки истинности sWs' для любых состояний s и s'.
Метод насыщения. Одной из основных проблем в семантическом анализе различных (в том числе параллельных и распределённых) систем переходов является проблема достижимости, состоящая в проверке выполнимости sq ^ s для двух состояний б。и s.
Вместо того чтобы решать проблему достижимости, часто можно ограничиться проверкой, может ли быть достигнуто некоторое состояние s', покрывающее данное состояние s, т. е. состояние sf > s.
Проблема покрытия', для данного состояния б。и заданного своим конечным базисом верхнего конуса I проверить достижимость из б。состояния, попадающего в конус I. В частности, для / = fs, где 6 — некоторое состояние системы, проблема покрытия состоит в проверке достижимости из б。состояния sf》s.
Для решения проблемы покрытия в случае вполне структурированных систем переходов используется метод насыщения (saturation method [49, 20]), основанный на свойстве стабилизации возрастающей последовательности верхних конусов (см. утверждение 1.1.4).
Пусть (LTS, <) — вполне структурированная система переходов. Напомним, что
[X = {у е S \ х е X: у?力}, где X С S.
Через Pred(s) будем обозначать множество {sf е S \ sf s} непосредственных предшественников состояния s. Соответственно для множества состояний X С S полагаем
Pred(X) = (J Pred(s).
sex
Пусть I — верхний конус. Рассмотрим последовательность /о U 厶 U …,где То = /, 4+1 =厶 U Pred(厶).Через Pred*(/) обозначим предел этой последовательности, т. е. множество Pred*(/) = Ue 厶.Решение проблемы покрытия для заданных состояний so и s состоит в проверке того, что s е Pred*Q5o)-
Утверждение 1.2.1. Пусть (LTS, <) — вполне структурированная система переходов с сильной совместимостью, 1 С 5 — верхний конус (относительно <). Тогда Pred*(/) также является верхним конусом (относительно <).
Доказательство. Покажем сначала, что если множество I — это верхний конус, то Pred(/) также является верхним конусом. Действительно, пусть состояние s G Pred(/), т. е. существует состояние sf Е I такое, что s sf, и пусть г ^ s. По свойству совместимости найдётся состояние г‘ такое, что г — г‘。г‘》sf, т. е. г е Pred(〃)и rf е I. Это значит, что г G Pred(/).
Поскольку объединение двух верхних конусов также является верхним конусом, применив индукцию, из доказанного
получаем, что для любого г > 0 множество 厶,где Iq = I, 1^\ = = 厶 U Pred(厶)= Pred"(/), также является верхним конусом.
Пусть теперь s е Pred*(/). Тогда для некоторого 〃〉0, s е 厶. Поскольку Ц — верхний конус, из г ^ s следует г G Pred”),а значит, иге Pred*(/).□
Из приведенного выше утверждения и утверждения 1.1.4 следует, что последовательность /о U 厶 U …,где /()= I, 厶+1 =厶 U Pred(L), стабилизируется, т. е. начиная с некоторого к будет выполнено Д = Д+1 = ... = Pred*(/). Заметим, что стабилизация наступает после того, как в последовательности два последовательных множества оказываются равными.
Множество Pred*(/) может быть эффективно вычислено при условии ещё одного дополнительного предположения.
Определение 1.2.6. Вполне структурированная система переходов (LTS, <) с сильной совместимостью имеет эффективный предбазис, если для любого состояния s £ S и пометки t е Г может быть эффективно вычислен конечный базис min(PredtQs)). Обозначим 夕b(s) конечный базис множества Pred(Ts) = Uc Pre也(fs), m. e.夕b(s) = mm(PredQ^)).
Пусть вполне структурированная система помеченных переходов (LTS, <) с сильной совместимостью имеет эффективный предбазис. Для верхнего конуса I с конечным базисом 1Ь построим последовательность 以,瓦…множеств таких, что Во = =1Ь и В^+1 = В U pb^Bi). Рассмотрим последовательность ТВо С ^Bi С .... В силу утверждения 1.1.4 эта последовательность стабилизируется. Пусть т — первый индекс, для которого ]Вт = ]Bm+i,Имеет место следующее
Утверждение 1.2.2. При определённых выше условиях
"T^m =Т U〃eN Bi;
TUzeN^ = Pred*(l).
Доказательство. Первое утверждение следует из дистрибутивности операций Pred и [ относительно объединения множеств, а также из того, что если для множеств R и Rf выполняется ]R = =ТЯ; то Т況(А) = ]рЬ^.
Докажем второе утверждение. Индукцией по п проверяется, что
BnCTBnCPred*(l)(=TPred*(l)).
С другой стороны, из определения предбазиса следует, что fPred%/) С Т瓦
и, следовательно,
Pred*(/) С (J [В СТ J Вг С fPred*(/).EeNEeN
Эффективное решение проблемы покрытия основано на следующем утверждении:
Утверждение 1.2.3. Пусть вполне структурированная система переходов с сильной совместимостью (LTS, <) имеет эффективный предбазис и разрешимое отношение <. Тогда существует эффективная процедура построения конечного базиса множества Pred*(/) по произвольному верхнему конусу I, заданному своим конечным базисом.
Доказательство. В силу доказанного выше можно эффективно порождать последовательность Bg, Bi,..., поскольку каждое множество Bi конечно и pb эффективно вычисляется. Из разрешимости < следует разрешимость проверки ]В = ]Bf для конечных множеств В и В\ и, следовательно, индекс т, начиная с которого последовательность стабилизируется, может быть эффективно вычислен. В результате получаем Вт — вычислимый базис верхнего конуса Pred*(/).□
Теорема 1.2.1. Проблема покрытия разрешима для вполне структурированных систем переходов с сильной совместимостью, имеющих эффективный предбазис и разрешимое отношение порядка <.
Доказательство. Проблема покрытия для двух данных состояний so и s состоит в проверке б。G Pred*(Ts). Согласно утверждению 1.2.3 можно эффективно вычислить конечный базис В множества Pred*(Ts). Тогда проблема покрытия сводится к проверке
Рис. 1.2. Свойство транзитивной совместимости при S = Q х D
so 6 ]В. В силу разрешимости < проверка sq е ]В для конечного множества В также может быть эффективно выполнена.
В том случае, когда проверяется более общее свойство 6 G Pred*(f/), где I — верхний конус, заданный своим конечным базисом 瓦,…,瓦,мы имеем [/ = J=i к 也,и достаточно проверить, выполняется ли условие s G Pred*(Tb〃) для некоторого 〃 =1,..., к.口
Проблема покрытия часто рассматривается как проблема достижимости управляющего состояния в случае, если множество состояний S вполне структурированной системы переходов (LTS, <) имеет вид Q х D, где Q — конечное множество управляющих состояний, D — бесконечное множество (на котором задан правильный квазипорядок) значений некоторых характеристик. В этом случае правильный квазипорядок < на множестве S = Q х D определяется следующим образом:
(q, d) < (q1鼠)<^=^> q =(I /\ d d!.
Пусть (LTS, <) — вполне структурированная система переходов с транзитивной совместимостью, множество состояний которой имеет вид Q х D. Тогда свойство транзитивной совместимости может быть представлено следующим образом (см. диаграмму на рис. 1.2): для любых состояний (q,d) < (q,di) и любого перехода (q,d)二(q\ d) существует непустая последовательность переходов
(q,山)т (q,憑)т …т (q, dn-i)工(q- d八)
такая, что (必或)< (必原)и (q,d) < (q,d/ Vi < n.
Обозначим для вполне структурированной системы переходов с транзитивной совместимостью через TrPred力(s), где s = (q, d), t — метка перехода, множество
{s' = W,d‘)I s' = W,鼠)T W,$) T ... T W,北)上(q, d) = s,
(片鼠),(片力),…,(/4)》(片d〃)= s〃,nms〃二y〃,『〃 < s}.
Из построения множества TrPred力(s) имеем, что множество Predt(s) С TrPredt(s). И следовательно, Pred(s) С TrPred(s), где TrPred(s) = \JtET TrPredt(s). Таким образом, получили, что Pred*(s) = TrPred*(s).
Проблема покрытия или проблема достижимости управляющего состояния для заданных двух состояний б。= (^о, ^о) и 6 = (q, d) и вполне структурированной системы переходов с транзитивной совместимостью также может быть решена проверкой того, что 6 е TrPred*(Ts()).
Утверждение 1.2.4. Если ICS = QxD — это верхний конус, то TrPredt(l) также является верхним конусом.
Доказательство. Пусть состояние s = (q,d) е TrPred力(/), т. е. существует ^ = <q\ d) е I такое, что
6 = (q, d) т (q,山)т …т (q, d八)工(q[力)=
причём (q,d), (q,di),…,(q,“)》(q,d〃)= s〃,s〃 二 s^, s^ < 丛 и пусть г = (q, с)》(q, d) = s.
По свойству транзитивной совместимости найдётся некоторое состояние rz = (q‘, d) G I такое, что
г=(q,— …T (q, 3)— …T (q,02)T…—(4,0八)上(片0/)
и rz = (d,d)》(必力)=si где (q,&)》{q, d^》(q, d〃)= s〃, 1 < г < n. Таким образом, r e TrPredt(rz) и rf e I. Это означает, что г = (q, с) G TrPredt(l).□
Поскольку TrPredt(l) — это верхний конус (для верхнего конуса /), то множество TrPred(/) = IJter TrPredt(l) также верхний конус. Следовательно мы можем построить верхний конус TrPred*(/) = UfceN Д, где Iq = I и Д+1 =厶 U ТгРгеб(Д). Напомним, что TrPred*(l) = Pred*(/).
2 Е. В. Кузьмин, В. А. Соколов
Определение 1.2.7. Вполне структурированная система переходов (LTS, <) с транзитивной совместимостью имеет эффективный транзитивный предбазис, если для любого состояния ssS = QxDu пометки t е Г можно эффективно вычислить min(TrPredtQs)). Обозначим trpb(s) конечный базис множества TrPred(Ts) = IJter TrPredtQ5). т. е. trpb(s) = min(TrPredQs)).
Теорема 1.2.2. Проблема достижимости управляющего состояния (проблема покрытия) разрешима для вполне структурированных систем переходов с транзитивной совместимостью, имеющих эффективный транзитивный предбазис и разрешимое отношение порядка <.
Доказательство. Проводится по аналогии с доказательством теоремы 1.2.1. □
Объединение и пересечение верхних конусов — верхний конус. Но в отличие от объединения не для всех вполне структурированных систем переходов может быть построено пересечение множеств состояний, образующих верхние конусы. Поэтому введём следующее новое понятие для систем переходов, которое потребуется нам в дальнейшем.
Определение 1.2.8. Вполне структурированная система переходов является эффективной по пересечению, если для любых состояний s, sr вычислило множество min{]s П [s').
Покрывающее дерево системы переходов. Для анализа некоторых свойств вполне структурированных систем переходов используется конструкция покрывающего дерева [47].
Определение 1.2.9. Покрывающим деревом вполне структурированной системы переходов (LTS, <) для состояния sq е S называется конечный ориентированный граф (дерево) такой, что
вершины дерева помечены состояниями системы LTS;
каждая вершина объявлена либо живой, либо мёртвой;
корню дерева приписана пометка б。,и эта вершина объявлена живой;
мёртвые вершины не имеют потомков;
живая вершина с пометкой s имеет по одному потомку, помеченному s', для каждого состояния s,е Succ(s);
если на пути от корня дерева до некоторой вершины с пометкой sf встречается вершина с пометкой s такой, что 6 < sf, то говорят, что sf покрывает & и вершина sf объявляется мёртвой; 6 противном случае sf — живая вершина.
Листья в покрывающем дереве помечены финальными или покрывающими состояниями. Для вполне структурированных систем переходов частичный порядок < является правильным. Благодаря этому все пути в покрывающем дереве конечны, так как всякий бесконечный путь должен был бы содержать покрывающую вершину. В силу леммы Кёнига о конечных деревьях, если покрывающее дерево не имеет бесконечных ветвлений, то оно конечно.
Более того, очевидно имеет место следующее
Утверждение 1.2.5. Если отношение порядка < разрешимо и отображение Succ вычислило, то покрывающее дерево для вполне структурированной системы переходов может быть эффективно построено.
Для построения дерева покрытия не требуется совместимости между отношениями упорядоченности < и перехода т. Однако именно при выполнении условия совместимости покрывающее дерево содержит полезную информацию о свойствах поведения системы.
Пусть, например, подмножество / U S является верхним конусом. Покрывающее дерево позволяет ответить на вопрос, существует ли такая последовательность переходов системы, что все промежуточные состояния будут принадлежать множеству (верхнему конусу) I.
Утверждение 1.2.6. Пусть (LTS, <) — вполне структурированная система переходов с транзитивной совместимостью, al — верхний конус. Последовательность переходов системы из состояния s такая, что все промежуточные состояния принадлежат конусу I, существует тогда и только тогда, когда покрывающее дерево системы содержит путь от корня 6 к листу, в котором все вершины имеют пометки из I.
Доказательство. Следует непосредственно из определений. □
В том случае, когда система переходов является вполне структурированной и, значит, порядок < правильный, всякий верхний конус I имеет конечный базис (см. утверждение 1.1.3), т. е. представим в виде l = {se5|s^siV...Vs^ 6衣}, и, таким образом, если отношение < разрешимо, то для любого 6 G S эффективно проверяется принадлежность к конусу I. Если к тому же вычислима функция Slice, то проверка того, что все вершины некоторого пути в конечном покрывающем дереве имеют пометки из /, может быть эффективно выполнена.
Рассматриваемая задача для верхнего конуса /, заданного своим конечным базисом, называется проблемой поддержки управляющего состояния (control state maintainability problem). Таким образом, из утверждения 1.2.6 следует
Теорема 1.2.3. Проблема поддержки управляющего состояния разрешима для вполне структурированных систем переходов с транзитивной совместимостью, разрешимым отношением порядка < и вычислимой Succ.
Пусть теперь DCS — нижний конус, т. е. для любых х е D и у е S, если у х, то у е D. Очевидно, что если D — нижний конус, то его дополнение I = S\D является верхним конусом. Ко-базисом D будем называть базис I = S\D.
Двойственной к проблеме поддержки управляющего состояния является проблема неизбежности (inevitability problem): по данному конечному ко-базису нижнего конуса D и начальному состоянию б。определить, верно ли, что всякое исполнение приводит к некоторому состоянию из D.
В качестве двойственной к теореме 1.2.3 получаем:
Теорема 1.2.4. Проблема неизбежности разрешима для вполне структурированных систем переходов с транзитивной совместимостью, разрешимым отношением порядка < и вычислимой Succ.
Частным, но очень важным случаем проблемы неизбежности является проблема останова', по данному начальному состоянию so определить, верно ли, что всякое исполнение завершается, т. е. приводит к некоторому финальному состоянию. Множество финальных состояний является нижним конусом в силу свойства совместимости вполне структурированных систем переходов. Действительно, всякое состояние s, которое меньше некоторого финального состояния У, само является финальным, так как в противном случае, если есть переход, который может сработать в 6, то существует переход (возможно, с той же пометкой), который мог бы сработать и в sf.
Теорема 1.2.5. Проблема останова разрешима для вполне структурированных систем переходов с транзитивной совместимостью, разрешимым отношением порядка < и вычислимой Succ.
Доказательство. Для проверки того, что всякое исполнение в системе переходов завершается, достаточно перебрать все листья в конечном покрывающем дереве системы и убедиться, что все они помечены финальными состояниями. □
Строгая совместимость. В общем виде вполне структурированные системы переходов со строгой совместимостью исследовались в работе [47]. Основная особенность таких систем заключается в наличии строгой совместимости правильного квазипорядка с отношением переходов.
Определение 1.2.10. Вполне структурированная система переходов (LTS, <) имеет строгую сильную совместимость отношения < с отношением переходов т, если для любых состояний s < q и любого перехода s 二 s' существует переход q L q‘ такой, что sf < qf.
Определение 1.2.11. Вполне структурированная система переходов (LTS, <) имеет строгую транзитивную совместимость отношения < с отношением переходов т, если для любых состояний s < q\ и любого перехода s — s' существует такая непустая последовательность переходов qi т q? — • • • ...qn-i 上 q八,что sf < qn и s < qi \/i < п.
Строгая совместимость означает, что из строго большего состояния существует переход (последовательность переходов) также в строго большее состояние. Свойства строгой сильной и строгой транзитивной совместимости представлены в виде диаграммы на рис. 1.3.
Заметим, что вполне структурированные системы переходов со строгой совместимостью обладают всеми рассмотренными выше свойствами вполне структурированных систем переходов, поскольку приведённые определения лишь уточняют более общие понятия.
При рассмотрении вполне структурированной системы переходов со строгой совместимостью мы можем получить из покрывающего дерева дополнительную информацию о свойствах поведения этой системы. В частности, для систем переходов со строгой совместимостью разрешима проблема ограниченности.
Утверждение 1.2.7. Пусть (LTS, <) — это вполне структурированная система переходов со строгой транзитивной совместимостью. Для любого состояния sq е S множество достижимых состояний Succ*(s()) является бесконечным тогда и только тогда, когда покрывающее дерево системы с корнем б。содержит лист с пометкой s, строго покрывающий некоторый узел с пометкой s' (т. е. sf < s), лежащий на пути от состояния б。до листа s.
Доказательство. Предположим, что такой лист s в покрывающем дереве существует. Тогда система LTS имеет бесконечную последовательность переходов
где s- < 脸]для 〃〉0. Это исполнение системы LTS легко строится индуктивным образом, полагая s\ = sf и sf2 = s. Благодаря
V sq
tt
It
sq
ab
Рис. 1.3. Свойства строгой сильной (а) и строгой транзитивной (Ь)
совместимости
свойству строгой совместимости ПЗ 6; Т Т 6;十]И S- < 6;+] следует существование 脸]т ... т s-+2 при 脸]< s-+2. Тогда все состояния s- разные, а следовательно, и множество Succ*(s()) бесконечное.
Обратно. Предположим, что множество Succ*(s()) бесконечное. Покажем, что из б。существует исполнение системы LTS без петель, т. е. в котором все состояния различные. Рассмотрим дерево (имеющее конечное ветвление) всех возможных префиксов исполнений системы LTS из sq. Затем удалим из этого дерева все префиксы, которые содержат петли. Поскольку любое достижимое состояние может быть достигнуто без прохождения каких- либо петель, усечённое дерево по-прежнему будет содержать бесконечное число префиксов. А поскольку дерево префиксов имеет конечное ветвление, то из леммы Кёнига следует существование в этом дереве бесконечного исполнения без петель системы переходов LTS.
Так как отношение < — это правильный квазипорядок, то некоторый префикс этого бесконечного исполнения, в котором все состояния различны, обязательно будет находиться в покрывающем дереве с корнем б。системы LTS. Причём лист s этой ветки не равен ни одному предшественнику. Следовательно, на пути от б。до листа s существует некоторое состояние sf такое, что У < s. □
Проблема ограниченности для систем помеченных переходов имеет вид: для системы LTS = (S, Т, т,бо) и некоторого состояния 6 G S определить, является ли множество достижимых состояний Succ*(б) конечным.
Теорема 1.2.6. Проблема ограниченности разрешима для вполне структурированных систем переходов со строгой транзитивной совместимостью, разрешимым отношением < и вычислимым отображением Succ.
Доказательство. По утверждению 1.2.7 достаточно построить покрывающее дерево системы переходов и проверить все листья этого дерева на выполнимость условия строгого покрытия. □ Отметим, что задачи ограниченности являются очень важными при анализе свойств систем с бесконечным числом состояний. Одним из первых вопросов при верификации потенциально бесконечных систем является вопрос, действительно ли поведение той или иной системы порождает бесконечное число состояний. Если ответ отрицательный, то могут быть применимы методы, которые используются для верификации конечных систем. Если же множество состояний бесконечно, то остаётся работать лишь с ограниченной, «видимой» частью поведения системы с применением различных комбинаций методов и техник анализа.
Совместимость по убыванию. Системы переходов с совместимостью по убыванию впервые были введены для схем рекурсивно параллельных программ [63].
Определение 1.2.12. Вполне структурированная система переходов с сильной совместимостью по убыванию — это система помеченных переходов LTS = (S, Т, т,бо), дополненная отношением правильного квазипорядка <С S х S, совместимым сильно по убыванию с отношением переходов т. е. для любых состояний s < q и любого перехода q L d существует переход s 上 s' такой, что sf < qf.
Определение 1.2.13. Вполне структурированная система переходов с транзитивной совместимостью по убыванию —это система LTS = (S,T, т,бо), дополненная отношением правильного квазипорядка <С S х S, транзитивно совместимым по убыванию с отношением переходов т, т. е. для любых состояний s\ W q и любого перехода q ± d существует непустая последовательность переходов 61162 T — 6八一1 工 6八 такая, что sn q1 и Si q^i < п.
s-q Vs-q V
s-q V
s-q V
ab
Рис. 1.4. Свойства сильной (а) и транзитивной (b) совместимости поубыванию
Заметим, как и в случае совместимости по возрастанию, вполне структурированные системы переходов с сильной совместимостью по убыванию являются частным случаем вполне структурированных систем переходов с транзитивной совместимостью по убыванию.
Свойства сильной и транзитивной совместимости по убыванию представлены в виде диаграмм на рис. 1.4.
Пусть К и Kf — это множества состояний вполне структурированной системы переходов (LTS, <) с транзитивной совместимостью по убыванию. Введём новое обозначение Succ=(K)= =К U Succ(K).
Утверждение 1.2.8. Если для множеств К и Kf выполнено [К С ]К\ то TSucc=(K) С TSucc=(K).
Доказательство. Предположим, что s G TSucc=(K), причём s ]К, так как иначе из s е ]К следовало бы s е TSucc=(K/). Тогда существуют s\ е К и переход si 上 s| такой, что sj < s. Поскольку [К С f существует $2 G М такое, что $2 W $1・ Так как LTS обладает свойством совместимости по убыванию, существует последовательность переходов s2T …± s\ такая, что ^2 < Sp Следовательно, sg < s. Получили, что поскольку «§2 G Succ=(K/), то и s е TSucc=(K/). □
Пусть 6 — это состояние вполне структурированной системы переходов (LTS, <) с транзитивной совместимостью по убыванию. Определим последовательность Kq, Ki, ..., где К。= {$},
K^+i = Кп U Sticc(Kn). Пусть т — первый индекс в этой последовательности такой, что ]Кт = ]Кт^\. Такой индекс существует по утверждению 1.1.4. Тогда имеем следующее
Утверждение 1.2.9. ]Кт = f U i^Ki = TSucc*(s).
Доказательство. Первое равенство в выражении следует из утверждения 1.2.8, второе — из определения &. □
Утверждение 1.2.10. Пусть (LTS, <) — это вполне структурированная система переходов с транзитивной совместимостью по убыванию с разрешимым отношением порядка <. Тогда для любого состояния системы переходов LTS возможно построить конечный базис множества TSucc*(s).
Доказательство. Проводится по аналогии с доказательством утверждения 1.2.3. Последовательность из множеств К。,К],… ...Кт, где ]Кт = [Kw+i, может быть эффективно построена. Множество Кт является конечным базисом множества (верхнего конуса) [Slice*(б). □
Проблема субпокрытия для состояния s состоит в проверке достижимости из некоторого состояния б。покрываемого состояния, т. е. состояния sf < s.
Теорема 1.2.7. Проблема субпокрытия является разрешимой для вполне структурированных систем переходов с транзитивной совместимостью по убыванию, имеющих разрешимое отношение порядка <.
Доказательство. По утверждению 1.2.10 может быть построен конечный базис К множества TSucc*(s()). Из состояния б。существует исполнение в некоторое состояние s' W s тогда и только тогда, когда s 6 ]К. Поскольку отношение < разрешимо, то возможно осуществить проверку s 6 ]К. □
Заметим, что эта теорема останется верной и для вполне структурированных систем переходов с сильной рефлексивной совместимостью по убыванию.
Определение 1.2.14. Вполне структурированная система переходов (LTS, <) имеет сильную рефлексивную совместимость по убыванию отношения < с отношением переходов если для любых состояний s < q и любого перехода q L d либо 6 < 匕 либо существует переход s 上 s' такой, что sr < qf.
Системы переходов автоматного типа. Рассмотрим вполне структурированные системы переходов, для которых выполняются свойства сильной совместимости по возрастанию и сильной совместимости по убыванию.
Определение 1.2.15. Вполне структурированная система переходов автоматного типа WSA — это система помеченных переходов LTS = (S, Т, т,бо), дополненная отношением правильного квазипорядка WU S х S, где S = Q х Df Q — конечное множество управляющих состояний, D — конечное или бесконечное множество (на котором задан правильный квазипорядок) значений некоторых характеристик, sq е S — начальное состояние, отношение S х Т х S такое, что 三 т. С Q х Г х Q : для любых состояний (q,d),(必力)и некоторой метки перехода t переход (q,d)上(”,或)существует тогда и только тогда, когда существует переход q 工 qf; отношение < определяется так, что (q,d) < (q^d') <^> q = qf и d df.
Утверждение 1.2.11. Вполне структурированная система переходов автоматного типа WSA = (LTS, <) удовлетворяет условию сильной совместимости по убыванию отношения < с отношением переходов т, т. е. для любых двух состояний si W М “ перехода 必 上 s: существует переход si 上 $2 такой, что $2 W б&
Доказательство. Рассмотрим произвольные состояния si = =(qi,di) pi б| =(《,4) системы переходов WSA такие, что $1 < Sp т. е. q\ = q[ h d\《d; По определению WSA переходы si 丄 S2 н s;丄 sf2, где $2 =(络办),6:=(吏,也),возможны тогда и только тогда, когда существует переход qi 工 ” Из вполне
44 Гл. 1. Вполне структурированные системы помеченных переходов структурированности системы WSA следует, что 62 W % т. е. q2 =心0 ^2 W必•口
Утверждение 1.2.12. Любая вполне структурированная система переходов с сильной совместимостью по возрастанию и убыванию является (может быть представлена) вполне структурированной системой переходов автоматного типа.
Доказательство. Пусть WTS〃d = (LTS, <) — это вполне структурированная система переходов с сильной совместимостью по возрастанию и убыванию.
Покажем, что система WTS〃d является частным случаем вполне структурированной системы переходов автоматного типа WSA, для которой опущены управляющие состояния. Для этого необходимо в множестве состояний S системы WTS〃d выявить конечное множество таких непересекающихся групп (подмножеств) состояний, что между этими группами будет существовать отношение переходов, удовлетворяющее определению 1.2.15. Основная идея состоит в том, чтобы разбить множество S на непересекающиеся верхние конусы и задать отношение переходов на множестве этих конусов таким образом, чтобы любой переход из одного состояния в другое системы WTS〃d был возможен тогда и только тогда, когда существовал бы соответствующий переход между конусами, к которым они принадлежат.
Рассмотрим базис множества S, т. е. множество min{S) минимальных по отношению < состояний системы переходов WTS〃d・ Сопоставим каждому состоянию s? G min{S) локальное управляющее состояние ^., где 1 < fc^ < n, n = \min{S)\, таким образом, что если для пар (^., s?) и (^., s') выполняется условие
G # О, то 象分=明,「е・区=kj.
Построим множество Sq J Q х S,
Sq = {(象分,6)I Qki e Q, 6? W б}‘
где Q = {q^,... ,^n}. Множество Sq является верхним конусом и имеет базис min^Sq) = {(必1, s?(象九,或)}.
Зададим на множестве Sq частичный порядок <g таким образом, что
(qki,6)Wq (q&・,6 ) ^^ Qki = Qkj Л 6 W 6 •
Очевидно, отношение Wq является правильным квазипорядком.
Также зададим на множестве Sq отношение переходов таким образом, что
(4乩,6)~^q (象7,6 ) < > 6 ~6 /\ Sj ^ S .
Очевидно, что если s,》s' n s,》s?, то для (q/^’s,) и (^z, s^) имеем qkj = qkl.
Построим на множестве Q ещё одно отношение переходов такое, что
Qki ~^・ Qkj ^^ (象分‘ 6?) ~>q (检・,6 ) ^^ 6? ~> S /\ S^j S .
Необходимо показать, что для произвольного состояния Ож,б) е Sq существует некоторый переход (象分,6)工q(4&・,6‘) тогда и только тогда, когда существует переход q乩 二.%.
Предположим, что существует переход (象分,$) 4 (%, s') и не существует перехода 象分 工 %. Тогда также не может существовать и перехода (象分,s?)二口(%, s〃). Но поскольку 6? W $ н $ 工 s', то должен быть переход s?二 s〃,s〃 < что означает наличие и перехода s^) ±q ®t, s"), где I * j. Получается, что, с одной стороны, s, < s\ а с другой — 6? W 6〃 < s'. Следовательно, G f s' G f s,,но тогда 检・= т. е. kj = к/. Пришли к противоречию.
Обратно, из существования перехода ^.二.^. имеем переход (象分,6?)二q (%, б〃)и, следовательно, s?上 s〃. Так как 6? W $ и 6?二 б〃,то должен быть переход s 上 такой, что 6〃 < s'. Тогда, так как s, < s〃 W s'以 s? W s, существует состояние (q&・,6‘) 6 Sq, в которое есть переход с пометкой t из состояния (^., s).
Итак, получили вполне структурированную систему переходов автоматного типа WSA = (Sq,T, ―口,吟)с отношением порядка на множестве состояний <д, где s^ = (q乩,бо), s? < sq.
По построению система WSA имеет некоторое исполнение Ож,60)厶q (q&・,61) ^q (必%,62)Nq ТОГДН И ТОЛЬКО ТОГДЗ, когда система WTS〃d имеет исполнение sq ^ si ^ S2口
Теорема 1.2.8. Класс вполне структурированных систем переходов с сильной совместимостью по возрастанию и убыванию совпадает с классом вполне структурированных систем переходов автоматного типа.
Доказательство. Следует из утверждений 1.2.11 и 1.2.12.□
Примеры вполне структурированных системпомеченных переходов
В этом разделе мы рассмотрим несколько примеров формальных моделей, порождающих вполне структурированные системы переходов.
Сети Петри. Формализм сетей Петри [73, 6] является одним из самых известных и широко используемых средств для моделирования параллельных и распределённых систем.
Сеть представляет собой тройку (F,Г,F), где
Р — непустое конечное множество элементов сети, называемых местами;
Г — непустое конечное множество элементов сети, называемых переходами;
FCFxTUTxF — отношение инцидентности и для (F, Г, F) выполнены следующие условия:
F П Т = 0 (множества мест и переходов не пересекаются);
0) Л (Vx eFUT, Ei/eFUT: xFy V yFx)
(т. е. любой элемент сети инцидентен хотя бы одному элементу другого типа);
если для произвольного элемента сети х Е X обозначить через •力 множество его входных элементов {у I yFx}, а через %• — множество его выходных элементов {у | xFy}, то Vpi,p2 G Р :
(■夕1 = .02)л (讨=庆)=(⑵=。2),
(т. е. сеть не содержит пары мест, которые инцидентны одному и тому же множеству переходов).
Графическим представлением сети является двудольный ориентированный граф с двумя типами вершин. Вершины-места изображаются кружочками, вершины-переходы — барьерами. Из вершины х в вершину у ведёт дуга, если и только если xFy.
Сеть Петри — это набор N = (F, Г, F, W, Mq), где тройка (Р,Т,用—конечная сеть (множество X = Р U Т конечно), а W : F N \ {0} и Mq : Р т N — две функции, называемые соответственно кратностью дуг и начальной разметкой (N — множество натуральных чисел, включая 0). Первая сопоставляет каждой дуге число п > 0 (кратность дуги). Вторая функция сопоставляет каждому месту р е Р некоторое число М)(夕)G N (разметка места). В графическом представлении сети разметка места 夕 изображается помещением в вершину-кружок числа Mq(p) или, если число невелико, соответствующего числа точек (фишек).
Функционирование сети Петри описывается формальным образом с помощью множества последовательностей срабатываний и множества достижимых в сети разметок. Эти понятия определяются через правила срабатывания переходов сети.
Разметка сети N — это функция М : F N. Строго упорядочим некоторым фиксированным образом места сети N, т. е. Р =(夕 1,...,夕八).Тогда разметку М сети можно задать как вектор чисел М = (mi,...,mn) такой, что для любого г, 1 < г < <= 7И(з).
Введём функцию инцидентности
F:FxTUTxF^N, которая определяется как
尸(力,у) = п, если xFy А (ТУ(力,g) = п), и
尸(力,g) = 0, если -i(%Fg).
Каждому переходу t сопоставим два целочисленных вектора •歹⑴ и F*(t) длиной п = \Р\:
•尸⑴=(仇,…,%), где bi = F(pi,0
尸•⑴=(仇,…,%), где bi = F{t,pi).
Переход t может сработать при некоторой разметке М сети ^, если Vp е et : М(р)》F(p, t), т. е. каждое входное место 夕 перехода t имеет разметку, не меньшую, чем кратность дуги, соединяющей р nt. Это условие в векторной форме выглядит как
Рис. 1.5. Сеть Петри с местами 夕i,夕2,夕з и переходами 方i,方2
Срабатывание перехода t при разметке М порождает разметку М7 по следующему правилу:
Vp GW(夕)=М(р) — F(p, t) + F(t,p), т. е.
Mf = М -9F^ + F^t).
На множестве разметок введём отношение ——> непосредственного следования разметок:
М —>m,D$GT,.(M^.f⑴)Л(Mf = m-.f⑴+f.⑴).
Будем использовать уточняющее обозначение М М\ если Mf непосредственно следует после М в результате срабатывания перехода t.
Пример сети Петри представлен на рисунке 1.5. В этой сети множество мест F =(夕i,夕2,夕з), а множество переходов Т = ={土 1, 土2}・ Инцидентность мест и переходов указывается дугами. Начальная разметка Mq задаётся следующим образом: TWg(pi)= =1, М)(夕2)= 2, М)(夕з) = 0, или в векторной форме Mq = =(1,2,0). При разметке Mq могут сработать оба перехода ti п 友, так как Мо = (1,2,0)》•尸(①=(1,0,0), Мо》•尸伪)=(1,2,0). После срабатывания перехода 方2 разметка Мд = (1,2,0) сменяется на новую разметку Мг = (1,0, 1). Теперь при разметке Мг может сработать только переход ti, так как Мг = (1,0,1)》 》*F(ti) = (1,0,0), а М7 ^ •尸(力2)= (1,2,0). Чтобы переход 方2 мог стать активным, необходимо двойное срабатывание ti,
Зададим на множестве разметок сети Петри частичный порядок как покоординатное сравнение <п (см. опред. 1.1.4). При сравнении разметок сетей Петри далее вместо будем писать просто <. Частичный порядок < на множестве разметок сети является правильным квазипорядком (утверждение 1.1.5). Сети
Петри обладают важным свойством строгой монотонности'. если переход t является возбуждённым, т. е. может сработать при разметке Mi, то переход t также является возбуждённым и при разметке 物〉罔;при этом, если М\ М; и М2 М^, то 庇 > М]
Следовательно, справедлива следующая
Теорема 1.3.1. Сети Петри являются вполне структурированными системами переходов со строгой сильной совместимостью отношения <п с отношением переходов ——>.
Очевидно, что для сетей Петри отношение < на множестве разметок сети разрешимо (достаточно сравнить число фишек в каждом месте сети при двух данных разметках), а функция Slice вычислима. Таким образом, покрывающее дерево для сети Петри конечно и может быть эффективно построено, что в сочетании со свойством строгой сильной совместимости даёт разрешимость проблемы ограниченности для сетей Петри.
Сети Петри также имеют эффективный предбазис. Действительно, конечный базис для конуса PredQ^) можно построить следующим образом. Для перехода t е Г через tM обозначим минимальную разметку, из которой возможен переход t Через Mt обозначим разметку, которая получается после срабатывания перехода t из разметки tM. Тогда Pred^QM) = Pred^QM7), где Mz = lub(M, М^) — это наименьшая верхняя грань разметок М и Mt, т. е. для любого места р е Р разметка М\р)= =шах(М(р),М^(р)). Более того, PredtQ^) = TPred^M7). Разметка Predt(Mz) может быть легко построена. Отсюда получаем
PredQM) = T(U Pre也(1иЬ(7И,7ИВ)).
ter
Эта формула задаёт эффективное построение конечного базиса множества PredQ^) по конечному базису lub(M, М^) для всех t е Т.
Таким образом, сети Петри являются ярким примером вполне структурированных систем переходов со строгой сильной совместимостью, для которых имеем разрешимость проблем покрытия, поддержки управляющего состояния (и как следствие проблемы неизбежности), останова и ограниченности.
Рис. 1.6. Сеть Петри с обнуляющей дугой, ведущей от перехода 方2 к месту рз
Рассмотрим класс сетей Петри с обнуляющими дугами [27, 42], который получается расширением модели обыкновенных сетей Петри за счёт добавления специальных обнуляющих дуг. Обнуляющая дуга всегда направлена от перехода к месту. При срабатывании перехода с обнуляющей дугой из места, в которое направлена обнуляющая дуга, удаляются все фишки (если таковые имелись), т. е. это место обнуляется.
На рис. 1.6 представлена сеть Петри с обнуляющей дугой, идущей от перехода 方2 к месту 夕3. После срабатывания перехода 方2 из начальной разметки Мд = (1,2,3) порождается новая разметка Мг = (1,0,0), т. е. разметка с помощью перехода 方2 меняется по обычным правилам, за исключением того, что все фишки из места 夕3 удаляются (место 夕3 обнуляется).
Для сетей Петри с обнуляющими дугами мы также имеем эффективный предбазис, который строится аналогичным образом, и вычислимость функции Succ. Но в отличие от обыкновенных сетей Петри для сетей Петри с обнуляющими дугами не выполняется свойство строгой совместимости отношения с отношением переходов ——Мы имеем лишь обычную сильную совместимость (по возрастанию): если переход t является возбуждённым при разметке Mi, то переход t также является возбуждённым и при разметке М2 ^n Mi; при этом, если Mi М; и М2 М^, то М\ Мр Поэтому для сетей Петри с обнуляющими дугами справедлива только следующая
Теорема 1.3.2. Сети Петри с обнуляющими дугами являются вполне структурированными системами переходов с сильной совместимостью по возрастанию.
1.3.2. Системы с ненадёжными каналами. Рассмотрим класс конечных систем с ненадёжными неограниченными каналами связи [23, 34]. Системы, принадлежащие к этому классу, используются для моделирования многих реальных систем таких, как протоколы передачи данных АВР [33] и HDLC [59], в которых акцентируется внимание на успешной работе даже в случае ошибочной вставки или потери сообщений при передаче через плохой канал связи. Системы с ненадежными каналами строятся на основе FIFO-канальных систем. FIFO- канальная система имеет управляющую и канальную части. Канальная часть состоит из набора каналов, представляющих собой очереди, каждый из которых содержит последовательность сообщений. Сообщения принадлежат конечному алфавиту сообщений. Управляющая часть представляет собой конечную (т. е. с конечным множеством состояний) помеченную систему переходов. Обычно конечная часть моделирует общее поведение нескольких процессов, которые взаимодействуют через каналы. С каждым переходом управляющей части ассоциируется либо некоторое просматриваемое взаимодействие системы с внешней средой, либо операция над каналом. Операция над каналом может удалять сообщение из заголовка очереди-канала или добавлять сообщение в конец.
FIFO-канальная система рассматривается как система с ненадёжными каналами, если допускается, что каналы связи в любое время могут внезапно ошибочно порождать или терять сообщения, содержащиеся в них.
Дадим формальное определение FIFO-канальных систем и систем с ненадёжными каналами.
Для множества М мы используем М* для обозначения множества конечных строк из элементов множества М. Для х G М* обозначим 力(〃)"宓 элемент строки х. Для двух строк х, у Е М* обозначим х • у конкатенацию хну. Пустую строку будем обозначать е. Введём функцию
которая сопоставляет некоторому элементу из множества С строку из М*. Будем использовать запись w[c := х] для функции такой, что
w\c) = х и w\d) = w(d) для d ^ с.
Определение 1.3.1. FIFO-канальная система (FIFO-channels system) £ представляет собой набор из шести элементов (5, s0, А, С М, 5), где
S — конечное множество управляющих состояний;
б。G S — начальное управляющее состояние;
А — конечное множество действий;
С — конечное множество каналов;
М — конечное множество сообщений (видов сообщений);
b — конечное множество переходов, каждый из которых представляет собой набор вида (si,op, s^), где s\ и s^ — это управляющие состояния, а ор — метка одного из следующих видов:
-с!т, где с G С и т G М,
-с?т, где с е С и т е М,
-а, где а е А.
Интуитивно конечная управляющая часть системы £ = =(S, б。, А, С, Л1, Ь) — это обычная помеченная система переходов с множеством состояний S, начальным состоянием б。и правилами переходов Ь. Канальная часть представлена множеством каналов-очередей С, каждый из которых может содержать строку сообщений, принадлежащих множеству М. Множество А обозначает множество взаимодействий с внешней средой. Каждый переход из b осуществляет внешнее взаимодействие из А или некоторую (внутреннюю) операцию над каналами, где
переход вида (si, с!т, $2)меняет управляющее состояние si на состояние $2,добавляя при этом сообщение т в конец канала с;
переход вида (si, c?m, S2) меняет управляющее состояние $1 на состояние $2, удаляя при этом сообщение m из начала канала с;
переход вида (si,a, $2) меняет управляющее состояние s\ на состояние $2 без изменения содержимого каналов.
Рассмотрим FIFO-канальную систему как систему с потерями (Lossy Channel System). Для этого будем предполагать, что в любой момент времени возможна внезапная потеря сообщения из некоторого канала, т. е. добавим новую операцию потери т(& тп) такую, что
при переходе вида (б,т(о,тп),б) происходит удаление сообщения т из (ненадёжного) канала с без изменения управляющего состояния.
Операционное поведение системы с потерями определяется посредством формализации интуитивного поведения как системы помеченных переходов с бесконечным числом состояний.
Пусть £ = (S, б。, 4 С Л1, Ь) — это система с ненадёжными каналами. Глобальное состояние 7 системы £ представляет собой пару (s, w), где s е S и w : С М*. Начальное глобальное состояние 7о системы £ — это пара (s(),£). Определим отношение ——> как множество троек вида (7,0夕,У), где 7, Y — глобальные состояния, а метка
op G Ор = {c!m, с?т, а, т(& т) \ с е С, т е М, а е А}.
Будем писать 7 —У вместо (7,0夕”)6——Определим отношение ——> таким образом, что
если(6i,o!m,62)G Ь, то (si,w)($2,回。:=w(c) • m]),
т. e. управляющее состояние si меняется на состояние $2 и сообщение m добавляется в конец канала с;
если (б1,о?тп, 62) G Ь, то {si,w[c := т • w(c)])也5 (S2, w), т. e. управляющее состояние si меняется на состояние $2 и сообщение т удаляется из начала (заголовка) канала с; заметим, что если канал с пуст или его заголовок не содержит сообщения т, то данный переход не может быть выполнен;
если w(c) = х • т • у, где строки х и у могут быть пустыми, то (s, w) 丁®^ (s, w[c := х • у]), т. е. сообщение m теряется из содержимого ненадёжного канала с без изменения управляющего состояния;
если (si, а, $2)G Ь, то (si, w) -^ (贬^), т. е. управляющее состояние $1 меняется на состояние $2 после выполнения действия а.
В качестве примера системы с потерями рассмотрим широко известный протокол АВР (Alternating Bit Protocol — протокол с чередующимся битом) [33] как систему с ненадёжными каналами, а именно как систему с потерями. Протокол АВР имеет передатчик Sender и приёмник Receiver, которые взаимодействуют друг с другом через два канала-очереди см и с^. Канал см используется для пересылки сообщений от передатчика Sender к приёмнику Receiver, а канал。厶—для передачи подтверждений от Receiver к Sender. Оба канала связи ненадёжные в том смысле, что они могут терять сообщения (без изменения порядка остальных сообщений, находящихся в очереди).
Назначение протокола АВР состоит в передаче сообщений от Sender к Receiver в правильной последовательности, несмотря на тот факт, что каналы могут терять сообщения. Искажение сообщения при передаче также может быть рассмотрено как потеря сообщения (так как некоторые внутренние механизмы протокола будут определять и отвергать (отбрасывать) полученные испорченные сообщения).
Работа (поведение) протокола АВР может быть представлена следующим образом.
Передатчик Sender считывает сообщение, которое ожидает своей очереди для отправки в приёмник Receiver. Затем Sender для контроля передачи добавляет в это сообщение чередующийся бит (к первому сообщению прикрепляется 0, ко второму — 1, к третьему — 0, к четвертому — 1 и т. д.) и передаёт уже изменённое сообщение через канал см в Receiver, после чего ожидает подтверждения (о приёме сообщения) от Receiver с тем же самым чередующимся битом. Когда Sender получает подтверждение приема сообщения, он сравнивает чередующийся бит в отосланном сообщении с чередующимся битом, который пришёл с подтверждением. Если оба чередующихся бита одинаковы, Sender приступает к пересылке следующего сообщения со следующим (инвертированным) чередующимся битом, иначе он повторяет ранее отосланное сообщение. Если подтверждение не пришло через некоторый определённый промежуток времени, то передатчик Sender также повторяет сообщение. Повторная
передача сообщения происходит до тех пор, пока не будет получено соответствующее подтверждение.
Приёмник Receiver получает сообщение с добавленным чередующимся битом из канала см • Если сообщение содержит ожидаемый чередующийся бит, то это сообщение принимается и Receiver посылает передатчику Sender подтверждение приёма сообщения через канал。厶.Подтверждение содержит чередующийся бит последнего принятого сообщения. После этого Receiver готов принять новое сообщение с инвертированным чередующимся битом. Сообщение, которое содержит противоположный ожидаемому чередующийся бит, удаляется без подтверждения приёма.
Рассмотрим модель протокола АВР, которая приведена на рис. 1.7. В модели используются два бесконечных ненадёжных канала см и са, через которые передаются только чередующиеся биты, т. е. действительное содержание сообщений во внимание не принимается. Sender и Receiver представлены системами помеченных переходов. Конечная управляющая часть системы с ненадёжными каналами реализуется комбинацией этих двух систем переходов.
Следовательно, модель протокола АВР представляет собой систему с потерями (5, so, Л, С, М, 5), где
S — множество пар вида (〃,/), 1 W W 4,
so — состояние (1, 1),
А — множество {Snd, Rev}, где Snd представляет получение передатчиком Sender из внешней среды нового сообщения для отправки в Receiver, a Rev — передача приёмником Receiver полученного от Sender сообщения во внешнюю среду,
С — множество {см, с^},
М — множество {0, 1}, т. е. сообщения представляют собой только чередующиеся биты,
b — множество правил переходов, состоящее из наборов вида ((61,门),0°,(62,г2)), где либо ri = Г2 и (61,ор,62)- это переход в передатчике Sender, либо si = S2 и (门,。夕,广2)— переход в приёмнике Receiver.
Петли с пометками см!0, см^ и 。厶!0,。厶!1 используются для моделирования многократного повторения соответственно сообщений и подтверждений (в случае их потери при передаче). А петли с пометками см?0, см?1 и 。厶?0,。厶?1 используются
Рис. 1.7. Передатчик Sender и приёмник Receiver протокола с чередующимся битом АВР
для удаления из каналов соответственно лишних копий сообщений, которые могут накапливаться, когда при передаче теряются подтверждения об их приёме, и лишних копий подтверждений, которые также могут накапливаться, если новое сообщение от Sender не проходит.
Пусть £ = (S, б。, 4 С Л1, Ь) — произвольная система с потерями. Определим на множестве глобальных состояний Г = ={(s, w) I 6 G S, w: С М*} системы £ отношение порядка W следующим образом:
(б, w) W (У,疗)s = s/八 w(c) « гУ© Vc G С
Условие w(c) « 疗(。)Vc е С будем также обозначать w
Из утверждений 1.1.5 и 1.1.7 следует, что отношение W на множестве Г является правильным квазипорядком.
Для систем с потерями выполняется свойство транзитивной совместимости (по возрастанию) отношения порядка W с отношением переходов ——>:если возможен переход с пометкой ор е Ор из некоторого глобального состояния 71, то этот же переход ор возможен и при глобальном состоянии 72 占 71 либо сразу, либо после серии ошибок, т. е. потерь сообщений из каналов; при этом, если 71* и 72 ——>т т72,Vi < п
72 占 7ь то 72 占 71-
Действительно, при внутреннем переходе для некоторого канала происходит либо добавление, либо удаление сообщения
(если происходит действие а 6 А, то содержимое каналов не меняется). В случае добавления или внезапной потери некоторого сообщения свойство совместимости очевидно выполняется. Если из заголовка канала извлекается сообщение по правилам, возникают трудности. Возможность совершить переход с пометкой с?т из меньшего глобального состояния совсем не означает, что из большего глобального состояния будет существовать переход с такой же пометкой, так как мы имеем дело с отношением вложения содержимого каналов. Заголовок канала с в большем состоянии может не содержать сообщения т, которое обязательно будет находиться в канале. Переход с?т будет активным лишь после потери ряда сообщений, находящихся в канале перед т, что соответствует свойству транзитивной совместимости.
Следовательно, выполняются все условия, необходимые для справедливости следующей теоремы.
Теорема 1.3.3. Системы с потерями (Lossy Channel Systems) являются вполне структурированными системами переходов с транзитивной совместимостью по возрастанию.
Очевидно, что для систем с потерями отношение W на множестве Г разрешимо. Также мы имеем вычислимость функции Succ.
Системы с потерями имеют эффективный транзитивный предбазис. Покажем построение конечного базиса множества TrPredo0(T7)для каждой метки перехода ор е Ор.
Для op = elm и 7 = (s, w), где w = wf[c := w\c) • т\, построим конечное множество Г7 глобальных состояний такое, что каждое состояние из этого множества имеет вид Y, где Y(吼⑷=7- Тогда
Т = TrPredcimQ7)- Более того, в данном случае [Р = =TrPredcimQ7)= PredcimQ7), поскольку для любого глобального состояния 7/ е TrPredcimQ7)существует переход / c!ш 〃尸个 7 —е
Для op = с?т и 7 = (s, w) построим конечное множество Г7 глобальных состояний )' вида (s\ 加), где wz = = w[c := m • w(c)], и 7Z = (s\ wz) ^5 (s, w) = 7. Тогда T = TrPredc?mQ7), где「— множество непосредственных
предшественников состояния 7 для метки перехода ор = =с?т. Из любого состояния)' е [Г' после ошибочной потери конечного числа сообщений из канала с, находящихся в канале перед сообщением т, можно произвести переход 7 —7 е
Для ор = а, а е А, и у = (s, w) множество глобальныех состояний 1\ для которого [Г,= TrPreda(T)) = Preda(T)), содержит в себе состояния вида ), = (s\w), где ),= =(s', w) —(s, w) = 7.
Для ор = т(& тп) и 7 = (s, w[c :=力.g]), где строки х и у могут быть пустыми, построим конечное множество Р, состоящее из глобальных состояний вида)' = (s,w\)'=
=(б, к/)(s, w) = 7, и wz = w[c := х • т • у]. При
построении Г7 рассматриваются все возможные варианты вставки сообщения т в строку w(c) = х • у. Множество Г7 будет конечным, так как w(c) представляет собой конечную строку, т. е. канал с в состоянии 7 содержит конечный набор сообщений. Тогда ]Vf = TrPredT(c?m)Q7)= =PredT(c?m)Q7),так как если сообщение m может быть потеряно из канала с в меньшем глобальном состоянии, то это же сообщение может быть потеряно из канала сив большем состоянии, т. е. \Л/ е TrPredT(cm)Q7)существует переход у 七少7〃金 怀.
Таким образом, системы с потерями являются примером вполне структурированных систем переходов с транзитивной совместимостью, для которых разрешимы проблемы достижимости управляющего состояния, проблема покрытия, поддержки управляющего состояния, неизбежности и останова.
Заметим, что FIFO-канальные системы легко моделируют счётчиковые машины Минского (см. следующую главу) и, следовательно, равномощны машинам Тьюринга. Поэтому для обыкновенных FIFO-канальных систем являются неразрешимыми, например, задачи достижимости управляющего состояния и останова. Более того, для FIFO-канальных систем не выполняется условие совместимости правильного квазипорядка W с отношением переходов ——
Рассмотрим теперь FIFO-канальную систему как систему с ошибочными вставками (Channel System with Insertion Errors). Переопределим операцию т(с, m) с точностью до наоборот и будем называть её операцией ошибочной вставки, т. е. предполагается, что в любой момент времени возможна внезапная вставка произвольного допустимого сообщения в некоторый канал.
Таким образом,
при переходе вида (б,т(о,тп),б) происходит вставка сообщения т в канал с без изменения управляющего состояния.
В семантике системы переходов ошибочная вставка описывается следующим образом:
если w(c) = x^y, где строки х и у могут быть пустыми, то w) т^^' (s, w[c := x^m^y\), т. е. сообщение m вставляется в содержимое канала с без изменения управляющего состояния.
Заметим, что для систем с ошибочными вставками не существует тупикового глобального состояния, так как всегда возможен переход, ошибочно вставляющий сообщение, который переводит систему в другое глобальное состояние. Следовательно, всегда существует бесконечное и неограниченное исполнение такой системы.
Теорема 1.3.4. Системы с ошибочными вставками (Channel System with Insertion Errors) являются вполне структурированными системами переходов с транзитивной совместимостью по убыванию.
Доказательство. Можем легко проверить, что для систем с ошибочными вставками
выполняется свойство транзитивной совместимости по убыванию правильного квазипорядка W с отношением переходов ——> т: если возможен переход с пометкой ор е Ор из некоторого глобального состояния 71, то этот же переход ор возможен и при глобальном состоянии 72 W 71 либо сразу, либо после серии ошибочных вставок сообщений в каналы; при этом, если 7171 и 72 —> 72 —…W W 71, т。
男wd・口
Поскольку для каждого СОСТОЯНИЯ 6 е S можно вычислить множество последующих состояний, т. е. вычислима функция Slice, для систем с ошибочными вставками мы имеем разрешимость задачи субпокрытия.
Пусть FIFO-канальная система является системой с ненадёжными каналами, для которой допускается, что каналы могут внезапно и терять, и ошибочно порождать сообщения. Тогда, очевидно, справедлива следующая
Теорема 1.3.5. Системы с ошибочными вставками и потерями являются вполне структурированными системами переходов с транзитивной совместимостью по возрастанию и убыванию.
Доказательство. Легко проверить, что для таких систем с ненадёжными каналами выполняется и свойство транзитивной совместимости по возрастанию, и свойство транзитивной совместимости по убыванию. □
Для систем с ошибочными вставками и потерями имеем тривиальную разрешимость задач достижимости глобального состояния (так как множество достижимых состояний совпадает с множеством всех допустимых глобальных состояний), ограниченности, останова и достижимости тупика (так как всегда существует неограниченное бесконечное исполнение).
1.3.3. Системы переходов, независимых от данных. Изучение природы вычислительных процессов, в том числе параллельных и распределённых, привело к появлению и широкому применению для этих целей алгебраических подходов [68, 57, 53, 69].
В алгебрах процессов, каковыми являются, например, CCS (Calculus of Communicating Systems — исчисление взаимодействующих систем) [69] и CSP (Communicating Sequential Processes —взаимодействующие последовательные процессы) [57], конструктивный подход играет крайне важную роль: процесс в них описывается указанием того, как он построен из меньших процессов.
В этом разделе представлен фрагмент алгебры процессов, определяемой в стиле CSP Хоара и CCS Милнера, позволяющий
строить формальные модели (параллельных и распределённых систем), которые могут быть рассмотрены как независимые от данных системы помеченных переходов, а более конкретно как вполне структурированные системы переходов с сильной совместимостью по возрастанию и убыванию (т. е. автоматного типа).
Более того, рассматривается конкретная реализация этого класса систем переходов, формализм для моделирования распределённых систем, позволяющий отслеживать перемещение данных различного типа между компонентами системы, — взаимодействующие раскрашивающие процессы (Communicating Colouring Processes — ССР) [62, 8].
В рамках ССР возможно построение моделей распределённых систем, где поведение каждого компонента описывается последовательным процессом и между ними организовано взаимодействие, направленное на обмен и передачу пакетов информации. В данной модели игнорируются значения передаваемых данных и принимается в расчёт только лишь тип данных, определяемый, возможно, типом источника данных и уровнем секретности. Фокусируется внимание на возможности отслеживать перемещение данных различного типа между компонентами системы. В этом аспекте могут рассматриваться вопросы о доставке пакетов данных до адресата и о недопущении передачи конфиденциальных данных в открытую небезопасную среду.
Переход из одного допустимого состояния компонента распределённой системы в другое осуществляется посредством исполнения действия одного из следующих типов: отправка или приём сообщения в виде пакета данных из одного компонента в другой или же во внешнюю среду, формирование пакетов данных из других информационных пакетов (включая добавление и извлечение данных определённого типа).
Модель распределённой системы, реализованная в рамках формализма ССР, представляет собой параллельную композицию взаимодействующих последовательных процессов, синхронизирующихся между собой посредством взаимодействия через общие переменные (каналы). Каждое действие процесса — это либо передача, либо приём значения некоторого выражения над переменными. Результатом вычисления такого выражения является мультимножество над типами (цветами) данных. Совершение действия ССР приводит к изменению значения (раскраски)
переменной. Поэтому работа процессов интерпретируется как раскрашивание множеств переменных. В терминах раскрашивания могут быть адекватно выражены, например, свойства систем, связанные с информационной безопасностью.
Конечные автоматы, или конечные машины (Finite State Machines —FSM), широко используются для моделирования систем, где управляющий аспект является доминирующим. Конечные автоматы графически изображаются в виде помеченных ориентированных графов, где узлы представляют собой состояния, а дуги, помеченные метками действий, являются переходами по состояниям. Взаимодействующие автоматы [25] — это расширение конечных автоматов с помощью параллелизма и взаимодействия между параллельными компонентами. Параллелизм достигается организацией конечных автоматов в параллельную композицию, где все автоматы работают одновременно. Параллельные автоматы могут синхронизироваться посредством переходов, имеющих одинаковые метки. Но взаимодействующие автоматы используются только тогда, когда принимается в расчёт лишь факт взаимодействия компонентов, например факт передачи пакета данных без описания его типа или содержимого.
С другой стороны, существует много формализмов таких, как машины Тьюринга и счётчиковые машины [70], сети Петри [73], системы с ненадёжными каналами (Lossy Channel Systems) [23], которые имеют семантическое расширение и производят манипуляции с данными. Модель в рамках этих формализмов состоит из системы переходов с конечным числом управляющих состояний (управляющая часть), работающая с потенциально бесконечным множеством D значений данных. Состояние такой системы может быть представлено в виде пары (q,d), где q — управляющее состояние, a d е О. Переход в управляющей части имеет метку и операцию над множеством D. Переход возможен лишь в том случае, если будет истинен соответствующий этому переходу некоторый предикат над D (т. е. переход зависит как от управляющих состояний, так и от данных, с которыми производятся манипуляции).
Формализм ССР принимает во внимание факт передачи данных, а также позволяет отслеживать перемещение данных различного типа между компонентами системы. Но переход из одного состояния в другое не зависит от оперируемых данных,
а определяется только управляющими состояниями. Таким образом, формализм ССР занимает промежуточное положение среди формализмов, указанных выше.
Взаимодействующие процессы, независимые от данных. Опишем фрагмент алгебры процессов, определяемой в стиле CSP Хоара и CCS Милнера, позволяющий строить формальные модели, которые могут быть рассмотрены как независимые от данных системы помеченных переходов.
Предполагается наличие следующих множеств:
Pr = {X, У, Z, Xi,...} — множество имён процессов;
Vаг = {力,у, 2, %i,...} — конечное множество переменных;
Chi = {v, vi, V2, • • •} — конечное множество каналов;
Exp = {е, ci, &2, • • •} — конечное множество выражений над множеством переменных Var\
Actyar = {力!е,...,力?g,...} — конечное множество простых действий процессов;
Actchi = {(о!е, о?%), (°1!е,。1?力),...} — конечное множество взаимодействий между процессами (передача данных через каналы о,s,…);
D = {d,山,壮2,…} — бесконечное множество допустимых значений переменных.
Приводимое ниже определение описывает абстрактный синтаксис выражений (для) процессов.
Выражения процессов (или процессы) Е, Е\ …задаются следующей грамматикой:
Е,目::=О I X е /V I v?x.E I v\e.E \ Е + Ef \ Е \\ Ef.
Дадим теперь некоторое интуитивное представление смысла приведённых выше конструкций.
0 представляет процесс, который не является активным, т. е. никакое действие не может быть выполнено.
Процесс vlx.E совершает действие v?x, а затем продолжается как процесс Е. Действие v?x означает копирование (присвоение) в переменную х значения из о, где в данном случае о может быть как обычной переменной, так и синхронизирующим каналом передачи данных, т. е. V G Var U Chi.
Аналогично после совершения действия о!е процесс v\e.E становится процессом Е. Действие о!е представляет собой копирование в о значения выражения е, где в данном случае v 6 Var U Chi. Вместо краткой записи выражения е будет также использоваться и полная форма вида е(力 1, ♦ ♦ ♦,力п) •
Для двух данных процессов Е h Е‘ оператор суммы даёт процесс Е + Е\ который ведёт себя либо как процесс Е, либо как
Для двух данных процессов Е ь Е‘ параллельная композиция даёт процесс Е || Е\ способный выполнять действия Е ь Е‘ параллельно, т. е. либо произвольно чередуя их, либо синхронизируя работу (в случае передачи данных по каналу).
Пассивный процесс 0 может рассматриваться как пустая сумма или же как пустая параллельная композиция.
Процессом является выражение процесса, переменные которого определены конечным набором рекурсивных уравнений (процессов).
Декларацией процесса называется совокупность А рекурсивных уравнений процессов
А = {% =f Ег I 1< г < п},
где п — натуральное число, переменные Х〃 все различны и где выражения 瓦 используют только переменные, принадлежащие множеству Р^О 理 {Xi, Х2,...,Х^}. Более того, если выражение Ei строится с помощью оператора параллельной композиции II,запретим использование переменной Х〃 в этом выражении, а также во всех других выражениях процессов, участвующих в формировании (определении) процесса Х〃. Другими
словами, если в описании процесса Х〃 используется оператор параллельной композиции ||, то построение процесса должно удовлетворять правилу, что при исполнении процесса Х〃 он не должен ни в какой ситуации вызывать сам себя, т. е. запрещаются любого рода рекурсивные вызовы процессом Х〃 самого себя.
Переменная Xi называется головной переменной и служит в качестве начального состояния процесса, если нет других уточнений.
Как это принято в алгебре процессов, определим поведение процессов посредством структурной операционной семантики, представленной в виде системы переходов.
Каждая декларация процессов А задаёт систему помеченных переходов: управляющими состояниями в ней являются выражения процессов (в данной семантике их конечное число), построенные на множестве Рг(А), множество меток задаётся как Act = Actvar U Actchi, и отношение переходов определяется с помощью следующих правил вывода.
а.Е^Е
Е Е,Е Е,х = Ее Ах = Ее А
Е Е,
Е Е,
х = Ее А
х = Ее А
Е3 Л Е,
e{旦:2 ё /}乌制
Е^Е1E\\F \\FЕ^Е1E\\F \\Fа е /"С力『ата е /"С力『атЕ II F 3匕?)Ef II FfЕ II F 3匕?)Ef II Ffv G Chi, x G Var, e G Expv G Chi, x G Var, e G Exp
Е^Е1
E\\F \\F
Е^Е1
E\\F \\F
а е /"С力『ат
а е /"С力『ат
Е II F 3匕?)Ef II Ff
Е II F 3匕?)Ef II Ff
v G Chi, x G Var, e G Exp
v G Chi, x G Var, e G Exp
Последнее правило означает одновременное взаимодействие между процессами, связанное с передачей значения выражения е в переменную х через канал о, т. е. после срабатывания перехода с пометкой а = (о!е,。?力)переменная х становится равной значению выражения е. Если есть процесс вида v\e.E (или соот.。?力.石),где о G Chi, е е Ехр, он может перейти в процесс Е тогда и только тогда, когда в параллельной композиции будет процесс vlx.F (coot. v\e.F\ который при одновременном срабатывании перейдёт в F.
3 Е. В. Кузьмин, В. А. Соколов
Необходимо отметить, что в случае обычных переменных х,у е Var процессы х\у.Е и у?х.Е будут по сути совершать одно и то же действие, а именно присвоение переменной х значения переменной у.
Рассмотрим систему помеченных переходов, порождаемую декларацией процессов А, как вполне структурированную систему переходов с совместимостью по возрастанию и убыванию S = (S,T, т,бо), где Г = Act. Для этого необходимо на А наложить дополнительные ограничения. Положим, что на множестве D задан правильный квазипорядок <. Далее, будем рассматривать только те выражения е(力i,...,力八)е Exp, которые представляют собой монотонную функцию по своим переменным относительно правильного квазипорядка <, т. е. для любых двух векторов значений переменных (山,…,d八)< (d|,…,為)должно выполняться e(di,…,d八)< e(d|,…,為).
Тогда состояние s системы S будет представлять собой пару (q, J), где q G Q — это выражение процессов, a J=(山,...,点)— вектор значений всех переменных (при условии, что переменные некоторым образом упорядочены), к = |卜〃丁|. Начальное состояние б。есть (qo,办),где 团 соответствует выражению процесса X], a Jo — вектор начальных значений переменных. Из определения декларации процессов А следует, что множество Q конечно. Но множество S системы S бесконечное, так как векторов значений переменных может быть бесконечно много. Более того, на множестве S можно задать правильный квазипорядок Ws так, что
(〃不 <5 W,Q q = qf и d^df.
Покажем, что отношение & сильно совместимо по возрастанию и по убыванию с отношением переходов т.
Из монотонности функций е е Ехр и независимости отношения переходов т от данных (недетерминизм переходов) следует, что для любых двух состояний
(qi, d],..., dQ W s(qi, d],..., d&)
и перехода
(qi, d],..., d&) ~(q2, d],..., @ ,..., d&),
где 或=e(di,…,点),выражение е (как и индекс i) определяется переходом а е Act, существует переход
(qi, "1, ♦ ♦ ♦, dj(42, "i, ♦ ♦ ♦, d° ,..., d&),
где 4〃 = e(d|,..., %), причём
(q?, dI,..., d°,..., d>k) Ws (q2 ‘ d、,• • •, d° ,..., d&),
так как Vj (1 < j < fc):
dj W % и 或=e(d\,...,点)W 力〃 =e圜,...,或).
Аналогичным образом по тем же соображениям для любых двух состояний
(qi,山,...,dQ Ws (%, d],..., dQ
и перехода
(qi, "1, ♦ ♦ ♦, dj(q2, "i, ♦ ♦ ♦,d&),
где 4〃 = e(d|,…,d^, a e Act, существует переход
(%, d],..., dk) (42, "1, ♦ ♦ ♦, "e , ♦ ♦ ♦, dj,
где 或=e(di,点),причём
(q?, d],..., dj,..., d>k) W s (q2 ‘ d\,..., d° ,..., d&),
так как Vj (1 < j < fc) : dj W %, и 或 < dr-r.
Взаимодействующие раскрашивающие процессы. Рассмотрим формализм, который представляет собой конкретную реализацию взаимодействующих процессов, независимых от данных — взаимодействующие раскрашивающие процессы (Communicating Colouring Processes — ССР).
Для этого определим новое множество X типов (или цветов) данных. Опишем тип переменных из Vаг как мультимножество над X. Без нарушения условия монотонности зададим допустимые для данного формализма выражения е(хь ..., хп). Итак, выражение е(力 i,…,力八)в рамках ССР может быть одного из следующих видов:
e+(力 1,%2)=力1 + 力 2;
бu(力 1,%2)=% 1 U力2;
е㊀(力i)=力1 ㊀ тп, где m е М(Х);
s(力 1) = Xi П m, где т е М②);
е\(力 1)=力i\C, где CUX;
е/(力 1)=力"С, где CUX.
Выражения вида е+{у, г) = у + z или е^{у, г) = g U 2 моделируют формирование (построение) нового пакета данных из данных других пакетов, находящихся в переменных у и 2, который, например, с помощью действия х\е помещается в переменную х.
Выражения е\ (力)=х\С, £/(%) = х/С или е㊀(力)=х Q т в сочетании с действием 力!е(力)могут интерпретироваться как извлечение данных из пакета переменной х.
Выражения о!е(力 1,力2)以。?力 означают отправку и приём пакета данных через канал о соответственно.
Оператор П может быть использован для формирования пакета данных определённого формата. Например, последовательность действий г!(хПт), xl(xQm), o!n означает передачу пакета данных формата т через канал о; оператор П ограничивает размер передаваемых за один раз данных.
Таким образом, состояние ССР представляет собой набор (^, mi,..., mn), где q — это локальное состояние (определяемое декларацией процессов А), представляющее собой выражение процессов, a mi,...,тп — мультимножества, являющиеся содержимым соответствующих переменных.
Раскраска ССР — это отображение М : Var М②),где М②)—это множество всех конечных мультимножеств над X. Определим на множестве переменных Var некоторый порядок, т. е. Var =(力 1,...,力八),тогда раскраска М — это вектор из мультимножеств М = (mi,..., mn), где Vi (1 < г < n) = =М(工i), n = |Var|. Для некоторого подмножества Var1 = = {力Е],...,力注}, Var1 C Var, обозначим M(Varf) множество раскрасок (разметок) {М^х^,..., №(%)}• Тогда состояние ССР может быть представлено как (^, М).
Рис. 1.8. Схема взаимодействия компонентов 41 и 厶2
Рис. 1.9. Пример взаимодействующих раскрашивающих процессов 4 =411142
Исполнение ССР — это последовательность состояний, начинающаяся в начальном состоянии (^о, ^о), ГД^ 4о представляет собой начальное выражение процесса X], которая строится в соответствии с правилами переходов.
Каждое срабатывание перехода q -^ qf переводит ССР из состояния (^, М) в некоторое последующее состояние (q\ М), где раскраска Mf вычисляется в соответствии с выражением, ассоциированным с меткой перехода t
Рассмотрим ССР А, представленный на рис. 1.9 в виде параллельно работающих автоматов (взаимодействующих раскрашивающих автоматов), где X = {a, b}, Chi = {о}, Vаг = = {。1, °2, °з} U {力,4, n}; 。1,。2, °з представляют собой каналы, через которые происходит взаимодействие с внешней средой, а через канал о происходит взаимодействие между процессами 4 и 4, Act = {s?g, v^7y,力!(力 + g), (o!%,o?n), 1?3И^\{а})}- Компонент Ai принимает и накапливает данные двух типов а и b из каналов v\ и。2; затем А] отправляет данные в фильтр 厶2, который не пропускает данные типа а во внешнюю среду (см. рис. 1.8).
4 = 4 114
4 = s?g.尚 + ^у •尚,尚=%!(% + g) • (。!力• A + s?g.尚),厶2 = viz .v3l{z\{a}).厶2
Последовательность переходов
(qo,加)吧(s,心‘!也)(生,心吗
из начального состояния (qo,q$) с начальной раскраской переменных ({а}, {Ь}, 0, 0, 0, 0) производит следующую последовательность раскрасок:
({а}, {&}, 0,0, 0,0) - ({〃},{>, 0, 0, {Ь}, О)-
т ({а}’{Ь}‘ О’{Ь}‘{Ь}‘ О) — ({а}’{Ь}‘。’{&}, {а},0) т
—({“},{Ь},。, {“, Ь}, {“}, 0) — ({а}, {Ь}, 0, {а, Ь}, {а}, {а, Ь}) т
—({“},{Ь},{Ь},{“,Ь}, {“}, {“, Ь})・
В зависимости от используемых операторов взаимодействующие раскрашивающие процессы можно рассматривать как системы переходов с конечным или бесконечным числом состояний. Покажем, что во втором случае ССР является вполне структурированной системой переходов.
Рассмотрим ССР как систему помеченных переходов S = =(S,T, т,бо). Определим естественным образом частичный порядок W на множестве состояний S системы S.
Определение 1.3.2. Пусть (^, М) и (q\ М) — это состояния ССР. Положим (q, М) W (q‘,М) тогда и только тогда, когда q = q‘ и М W М\ где М Mr <^> Vx G Var: М(х) С М<х).
□□Утверждение 1.3.1. Отношение W на множестве состояний S является правильным квазипорядком.
□
□
Доказательство. Следует из утверждений 1.1.5 и 1.1.6.
Теорема 1.3.6. Пусть S = (S, Т, т,бо) — взаимодействующие раскрашивающие процессы, W — правильный квазипорядок на множестве состояний S. Тогда (S, W) есть вполне структурированная система переходов с сильной совместимостью по возрастанию и убыванию.
Доказательство. Пусть (^, М), (q/,W) — состояния ССР. По определению 1.3.2 (^, М) W (q/,W) тогда и только тогда, когда q = qf and М W М\ Отсюда для всех состояний (q, М) W (q‘,Mf\.
(q, 7h)二(42,М) ^^ (匕 W)上(42,鸠).
Легко проверить, что для всех операторов, которые используются в выражениях е(力i,%2)G Exp , выполняются следующие условия:
(ГЩ,ГП2)W (т\т» ^> ор(гщ, т?) W ор(т\ т», ор е {□,+};
mi W 7nl 。夕(7711,加2)W О夕(тп|, g), Op G {П,㊀};
加1 W 加[ => op{mi,C) ^ op{m\,C\ op e {\,/},
m^ — мультимножества, CCS.
Следовательно, для всех состояний (q, М) W (q‘,Mz) и перехода q L q? имеем (q?, M) W(42,叱),гДе M и 叱 вычисляются в соответствии с выражением е(力 1,力2),которое используется в действии t, из М и М1 соответственно, т. е. выполняется условие монотонности выражений е(力 1,力2),использующихся в ССР. □
Утверждение 1.3.2. Пусть система (S, W) — это ССР с правильным квазипорядком на множестве состояний S. Тогда для каждых состояния s и действия t множество min(PredtQ5)) вычислило.
Доказательство. Построим множество °t минимальных состояний, при которых переход с пометкой t может сработать. Для любого локального состояния q, из которого существует переход 九 состояние (q, 0,..., 0) принадлежит множеству °t, т. е. °t = ={(q, 0,…,0) I 寺A q 工 d}.
Обозначим через t° множество состояний, которые получаются в результате срабатывания перехода t на состояниях из множества °t.
Рассмотрим множество fs П [方°, состоящее из таких состояний У, что sf может быть получена в результате срабатывания перехода t и s < У. Это множество является направленным вверх конусом и в силу правильности отношения < имеет конечный базис, который обозначим lub(s,廿).
Конечный базис lub(s,廿)состоит из одного состояния и может быть эффективно построен следующим образом. Рассмотрим состояния (q, mi,…,тп八)G 廿,6 = (^, mj,..., т^. Для того чтобы пересечение конусов fs G [廿 не было пустым, необходимо выполнение условия q = qf. Тогда
lub(s,俨)=(^, mj U mi,..., т!п U mn).
Пусть теперь некоторое состояние sf G Pred^Q5)- Тогда возможно срабатывание перехода 九 которое переводит sf в состояние 6〃 е fs. Отсюда следует, что s〃 е [廿.С другой стороны, для любого состояния 6〃 такого, что 6〃 G fs п 6〃 G Т廿 можно построить Pred力(б〃),так как каждое действие t изменяет значение только одной переменной с помощью простого выражения е G Ехр. Получаем
PredtQs) = PredtQlub(s, t°)) = [Pred 力(lub(s,产)).
Эта формула задаёт эффективное построение конечного базиса множества Pred^fs) по конечному базису lub(s, t°).□
Таким образом, мы получили для взаимодействующих раскрашивающих процессов разрешимость следующих проблем:
проблема покрытия, состоящая в том, чтобы для двух состояний (q, М) и (q‘,М) определить, возможно ли, начиная исполнение из (q, М), покрыть состояние (q\ М\ т. е. может ли быть достигнуто покрывающее состояние
проблема субпокрытия, состоящая в том, чтобы для двух состояний (q, М) и (q‘,М7) определить, возможно ли, начиная исполнение из (q, М), попасть в состояние, которое покрывается состоянием (q\ М\ т. е. может ли быть достигнуто покрываемое состояние (q〃,М〃) W (q/,W);
проблема достижимости, т. е. определить, достижимо ли из состояния 6 данное множество Q управляющих (локальных) состояний;
проблема неизбежности, т. е. по данному множеству Q локальных состояний и начальному состоянию б。,определить, верно ли, что всякое исполнение приводит к некоторому локальному состоянию из Q (частным случаем является проблема останова', определить, верно ли, что всякое исполнение завершается, т. е. приводит к некоторому финальному состоянию).
Следовательно, для взаимодействующих раскрашивающих процессов имеем, например, разрешимость проблемы передачи данных определённого цвета во внешнюю среду через некоторый канал.
Пример. Представленный на рисунке 1.10 пример взаимодействующих раскрашивающих процессов демонстрирует, помимо возможности моделирования взаимодействия между сотрудниками, секретарём и начальником, возможность отслеживания перемещения данных различных типов.
Действия начальника:
wi — сформировать пакет заданий для сотрудников (а, Ь, с — типы заданий);
W2 — отдать задания секретарю;
W3, W4 — получить решённое задание.
Действия секретаря:
W5 — получить от начальника пакет заданий;
w^, W7, wg — отдать сотруднику пакет, состоящий не более чем из трёх различных по типу заданий;
wg — получить от сотрудника решение;
wio — отдать решение начальнику;
wh, W12 — получить от сотрудника оставшиеся задания;
W13, wu — получить от начальника новые задания.
Действия первого сотрудника:
观45 — получить пакет заданий;
观4б — взять из пакета своё задание (типа а);
Сотрудник 1Сотрудник 1Сотрудник 2Сотрудник 2Сотрудник 3Сотрудник 3W1, 方!{a, b, с}W1, 方!{a, b, с}恥, v\x恥, v\x必,0?/必,0?/5, g!(g+/)5, g!(g+/)СекретарьСекретарьНачальникНачальник
Сотрудник 1
Сотрудник 1
Сотрудник 2
Сотрудник 2
Сотрудник 3
Сотрудник 3
W1, 方!{a, b, с}
W1, 方!{a, b, с}
恥, v\x
恥, v\x
必,
0?/
必,
0?/
5, g!(g+/)
5, g!(g+/)
Секретарь
Секретарь
Начальник
Начальник
Рис. 1.10. Пример взаимодействующих раскрашивающих процессов(в виде взаимодействующих раскрашивающих автоматов)
wn — отдать пакет с оставшимися заданиями (либо другому сотруднику, либо секретарю);
wig — отдать секретарю решённое задание.
Каналы:
V — используется для обмена данными между начальником и секретарём;
V’ — используется для обмена заданиями между сотрудниками и секретарём;
о〃 — используется для передачи решённых задач от сотрудников к секретарю.
Глава 2
СЧЕТЧИКОВЫЕ МАШИНЫ
Введение
В этой главе рассматриваются абстрактные счётчиковые машины в качестве общего средства для демонстрации алгоритмической неразрешимости ряда проблем для вполне структурированных систем переходов, способных отображать (моделировать) поведение этих машин.
Здесь обобщаются результаты, связанные с неразрешимыми свойствами формальных моделей систем с потерями (например, FIFO-канальные системы с потерями, сети Петри с обнуляющими дугами), посредством счётчиковых машин с потерями (lossy counter machines — LCM), у которых значения счётчиков могут внезапно уменьшаться.
Наряду со счётчиковыми машинами с потерями с той же целью рассматриваются и счётчиковые машины с ошибками, в рамках которых при тестировании счётчиков на нуль допускается неверное определение нуля. Такие машины легко моделируются, например, сетями Петри.
В разделе 2.4 исследуются неразрешимые свойства недетерминированных счётчиковых машин, представляющих собой вполне структурированные системы переходов автоматного типа, где каждый переход определяется недетерминированно в соответствии с управляющими состояниями и независимо от манипулируемых данных. Посредством недетерминированных счётчиковых машин демонстрируются неразрешимые проблемы взаимодействующих раскрашивающих процессов.
Неразрешимость проблем доказывается методом сведения, который состоит в том, что устанавливается такая связь между решённой и решаемой проблемой, при которой допущение о разрешимости решаемой проблемы приводит к разрешимости проблемы, о которой известно, что она неразрешима.
Счетчиковые машины Минского
Счётчиковая машина Минского М— это набор ({团,…,q^}, {力i,...,力加}, {б。,..., b八—1}), где Xi — счётчик, q〃 — состояние, qo — начальное состояние, qn — финальное (заключительное) состояние, Ь〃 — правило перехода для (0 < г < п — 1).
Состояния qi, 0 < г < п — 1, подразделяются на два типа. Состояния первого типа имеют правила переходов вида:
也:Xj :=叼• + 1; goto 象,
где l^j^m, O^k^n. Для состояний второго типа имеем:
仇:if Xj > 0 then (%/ :=勺• 一 1; goto 象)else goto 象/.
Конфигурация машины Минского представляет собой набор (伉,з,…,。加),где qi — состояние машины, ci,..., ст — натуральные числа, являющиеся значениями соответствующих счётчиков. Размер конфигурации определяется как
т
size{{q, 3,...,))=£
Исполнение счётчиковой машины — это последовательность конфигураций б。т si т 62 T • • • с начальной конфигурацией б。, индуктивно определяемая в соответствии с правилами переходов. Необходимо отметить, что исполнение машины является детерминированным, так как каждое состояние имеет не более одного правила переходов. Машина Минского останавливается, если исполнение содержит конфигурацию с состоянием q八,т. е. достигает финального состояния. Поскольку машина Минского уже всего с двумя счётчиками может моделировать машину Тьюринга, проблема (останова) достижения финального состояния из некоторой начальной конфигурации (40,3,02) для двухсчётчико- вой машины Минского является неразрешимой [15].
Говорят, что машина Минского ограничена при некоторой начальной конфигурации тогда и только тогда, когда существует натуральное число d такое, что на протяжении всего исполнения машины из начальной конфигурации выполняется условие х\ + + ... + хт < с\ т. е. в любой момент времени сумма значений счётчиков не превосходит с\
Теорема 2.1.1. Для трёхсчётчиковых машин Минского проблема ограниченности неразрешима.
Доказательство. Доказательство осуществляется сведением проблемы останова для машины Минского с двумя счётчиками к проблеме ограниченности машины Минского с тремя счётчиками. Рассмотрим некоторую машину Минского 2сМ = =({qo,...,^}, {力i,g}, {瓦,...,6吋1}). Преобразуем 2сМ в машину Минского ЗсМ с тремя счётчиками. Добавим новый счётчик 力з. И для каждого состояния 0 < г < п — 1, добавим состояния q] q〈, правила переходов 5-, Ь〈 и изменим ^ следующим образом.
Для состояния первого типа имеем:
(心)伉:Xj :=叼• + 1; goto %; (*)《:力з := % + 1; goto qk.
Для состояния второго типа:
(仇)qi: if Xj > 0 then (勺:=xj — 1; goto《)else goto q<;
(*)《:力3 :=力3 + 1; goto 象;(b<)成:力з :=力з + 1; goto 九
Машина Минского 2сМ имеет конечное исполнение тогда и только тогда, когда машина Минского ЗсМ ограничена, так как счётчик 力з, использующийся для подсчёта количества шагов исполнения машины 2сМ, ограничен только в случае конечного исполнения.□
Говорят, что машина Минского М тотально ограничена, если и только если она ограничена для всех возможных начальных конфигураций.
Теорема 2.1.2. Для трёхсчётчиковых машин Минского тотальная ограниченность неразрешима.
Доказательство. Доказательство проводится сведением рассмотренной выше проблемы ограниченности машины Минского с тремя счётчиками и начальной конфигурацией (q(),0,0,0) к проблеме тотальной ограниченности.
Рассмотрим произвольную трёхсчётчиковую машину Минского М = ({①,...,4八},{% 1,力2,%з],{历,…,6吋1}). Преобразуем М в машину Минского М7 следующим образом. Добавим новые состояния ^q, ^, ^2 и правила переходов bj, b|, Ь$:
(bj) qj:if 力1〉0 then(力i := — 1;goto qj)elsegoto《;
(*)《:if %2〉° then(力2 :=力2 — 1;goto《)elsegoto 必
(50 必:if %з〉0 then(% := % — 1;goto 必)elsegoto Ромашина Минского M ограничена тогда и толькотогда, когда
счётчиковая машина Минского (с начальным состоянием q$) W ({必《,必",…,q几}, {%1,%2,%3}, {%讣,必历,…,6八一1}) тотально ограничена, так как правила переходов bj, *, b$ обнуляют любые начальные значения счётчиков и переводят М7 в состояние 伙).□
Проблема достижимости состоит в обнаружении алгоритма, с помощью которого для любой счётчиковой машины Минского М и для любого вектора значений счётчиков с = (3,...,0加) можно выяснить выполнимость условия с е R(M), где 7?(М)— множество достижимых векторов значений счётчиков из начальной конфигурации.
С использованием конструкций из доказательств предыдущих двух теорем легко доказывается следующее утверждение о достижимости нулевого вектора значений счётчиков.
Теорема 2.1.3. Для трёхсчётчиковых машин Минского проблема достижимости вектора из нулевых значений счётчиков неразрешима.
Доказательство. Доказательство проводится сведением проблемы останова для машины Минского с двумя счётчиками к данной проблеме достижимости нулевой конфигурации машины Минского с тремя счётчиками. Рассмотрим некоторую машину Минского 2сМ = ({团,...,4八}, {хьх2}, {50, • • • ^п-1})« Преобразуем 2сМ в машину Минского ЗсМ с тремя счётчиками таким же образом, как и в доказательстве теоремы 2.1.1. Добавим новый счётчик 力з. И для каждого состояния 伉 добавим состояния 《,q〈,правила переходов 5-, Ь< и изменим 也 следующим образом (О < г < п — 1). Для состояния первого типа имеем:
(仇)伉:Xj :=勺• + 1; goto 4; (*)《:力з :=力3 + 1; goto qk.
Для состояния второго типа:
(Ь/ qi: if Xj > 0 then ("• := хj — 1; goto《)else goto q〈;
(*)《:力3 := % + 1; goto 象;(b<)成:力з := % + 1; goto 成.
Далее для финального состояния qn добавим ещё три состояния 風,風,q}, где q* — новое финальное состояние и правила переходов 爲,常,甯:
(*) 4八:if 力1〉0 then (力i := %i — 1; goto q八)else goto ^;
(常)風:if 力2>0 then (%2 :=%2 - 1; goto 風)else goto 風;
(鑑)風:if %з〉。then (力3 :=力3 — 1; goto 風)else goto q彳.
Из построений видно, что машина Минского ЗсМ достигает вектора из нулевых значений счётчиков (0, 0, 0) лишь в финальном состоянии q彳,причём тогда и только тогда, когда машина Минского 2сМ имеет конечное исполнение, т. е. останавливается, так как счётчик 力з, использующийся для подсчёта количества шагов исполнения машины 2сМ, обнуляется (впрочем, как и счётчики 力 1 и 力2)лишь в случае достижения машиной ЗсМ финального состояния q*.□
Докажем теперь неразрешимость задачи достижимости для остальных случаев.
Теорема 2.1.4. Для трёхсчётчиковых машин Минского проблема достижимости произвольного ненулевого вектора значений счётчиков(3,。2,。3)неразрешима.
Доказательство. Доказательство также проводится сведением проблемы останова для машины Минского с двумя счётчиками к данной проблеме достижимости. Рассмотрим произвольную двухсчётчиковую машину Минского
2СМ = ({",…,4八}, {力 i,g},{bo,…,6八一1}).
Преобразуем 2сМ в машину Минского ЗсМ с тремя счётчиками следующим образом. Добавим новый счётчик 力з, два состояния q八+1,陪2 и правила переходов 5п+ь Ь»:
qn: if 力1〉0 then (力i := %i — 1; goto q八)else goto q八+i;
q八+1: if 力2〉° then (力2 :=力2 — 1; goto 4八+1) else goto qn^.
Затем введём ещё несколько последовательностей команд следующего вида:
^п+2-力 1 :=力1 +。1; goto J;
J:力2 :=力2 +。2; goto q〃;
q〃:力3 :=力3 + °3; got。q/;
где qf — это новое финальное состояние, а выражение вида Xj := Xj + Cj (1 < j < 3) интерпретируется как последовательность из Cj команд Xj := Xj + 1.
Машина Минского ЗсМ из начальной конфигурации (qo, 4,厶 0) достигает вектора значений счётчиков (з,望,°з) (сз > 0) лишь в финальном состоянии q『,причём тогда и только тогда, когда машина Минского 2сМ останавливается. □
Далее на основе счётчиковых машин Минского введением недетерминизма переходов и отношения потери значений счётчиков мы будем строить более слабые по выразительной способности счётчиковые машины.
Счётчиковые машины с потерями
В этом разделе рассматриваются счётчиковые машины с потерями (lossy counter machines) [66], т. е. машины со счётчиками, значения которых могут уменьшаться самопроизвольно в любое время. Эти машины слабее по выразительной мощности, чем машины Тьюринга, и могут быть заданы (моделироваться) многими формальными системами, но в то же время счётчиковые машины с потерями имеют интересные свойства, которые по-прежнему остаются неразрешимыми.
Счётчиковые машины с потерями были введены [66] в качестве общего средства для демонстрации неразрешимости ряда проблем для систем с потерями, например проблемы верификации систем с ненадёжными каналами (lossy FIFO-channel systems) [22-24], задачи проверки модели для сетей Петри с потерями [29], некоторых проблем для сетей Петри с обнуляющими дугами [41, 42] и параметрических проблем таких, как справедливость для протоколов передачи данных.
Напомним (см. пункт 1.3.2), что системы с потерями используются в основном для моделирования передачи данных через ненадёжные каналы связи. Ярким примером являются FIFO- канальные системы с потерями (lossy FIFO-channel systems). Эти системы представляют собой конечные процессы, взаимодействующие между собой посредством передачи данных через ненадёжные каналы-очереди (буферы) неограниченной длины. Иначе системы с ненадёжными очередями можно рассматривать как обычные FIFO-канальные системы (FIFO-channel systems),
которые могут внезапно терять сообщения, находящиеся в очередях. Поскольку обычные FIFO-канальные системы равномощны машинам Тьюринга, то автоматический анализ таких систем проводится только в специальных (ограниченных) случаях [28]. Системы с потерями слабее по выразительной способности, чем машины Тьюринга, так как задача достижимости управляющего состояния и некоторые свойства безопасности (safety properties) являются разрешимыми для них [23]. Однако же такие свойства живости (liveness properties), как «проблема рекуррентного состояния», неразрешимы даже для FIFO-канальных систем с потерями [24].
Итак, определим отношение потери [66], которое описывает самопроизвольное изменение конфигураций счётчиковой машины с потерями.
Обозначим f (от «sum») отношение на конфигурациях счётчиковой машины, которое определяется следующим образом:
(q, 3,..., cm) ~^s (q ,。1, • • •, cm) < >
(
mm 、
V ^2 a〉^2《).i=l '
Это отношение означает, что либо никаких изменений не происходит, либо сумма значений всех счётчиков уменьшается. Пусть id — отношение тождества. Отношение (от «lossy») является отношением потери тогда и только тогда, когда
〃d U ~~>s •
Счётчиковая машина с потерями (LCM — lossy counter machine) [66] определяется на основе обычной счётчиковой машины Минского М добавлением отношения потери Пусть т — обычное отношение переходов на множестве конфигураций машины М. Отношение переходов с потерей 今 для LCM определяется как
$1 今 $23<S^, 6: : б] у б| — 6: Т 贬
Произвольная счётчиковая машина с потерями — это счётчиковая машина с потерями, имеющая некоторое (неуточнённое) отношение потери.
Следующие отношения являются отношениями потери.
Отношение id — отношение потери. Таким образом, произвольная машина LCM включает в себя обычную счётчиковую машину Минского.
Классическое отношение потери определяется как
(q, 3,..., ст) —(q ,,..., cm) < > q = q A V〃 : a》
Здесь значения счётчиков могут уменьшаться любым возможным способом, но состояние q не изменяется. Отношение называется субклассическим отношением потери тогда и только тогда, когда id С С
Полагаем, что до и\или после каждого вычислительного шага значение некоторого счётчика может уменьшаться не более чем на с е N. Тогда отношение ограниченной потери「⑺ определяется как
(q, 3, ♦ ♦ ♦, cm) ~(q'。1, ♦ ♦ ♦,< >
q = qf /\\/i: Ci c^ max© & — o).
Необходимо отметить, что —/(冗)является субклассическим отношением потери так же, как и следующее.
Предположим, что при проверке счётчика на ноль счётчик внезапно может обнуляться. Тогда отношение обнуления 7 (от «reset») определяется следующим образом:
(q, 3,..., cm) f (必 &,... 4) q = q‘ m либо Ci = c- для всех i, либо Ei: c^ = 0 и существует правило переходов (心)q: if &〉0 then (◎ := Xi — 1; goto q〃) else goto q,,r.
Важным примером счётчиковой машины с потерями является счётчиковая машина с обнулениями (RCM — reset counter machine). Предполагается, что в состоянии второго типа машины Минского при проверке на ноль счётчик может внезапно обнуляться. И тогда счётчиковая машина с обнулениями гсМ для состояний qi второго типа имеет следующее правило переходов:
仇:if Xj > 0 then (xj := xj — 1; goto 象)[]Xj := 0; goto q^, где [] — оператор недетерминированного выбора.
Отметим, что счётчиковые машины с обнулениями легко моделируются сетями Петри с обнуляющими дугами.
Для любой произвольной n-счётчиковой машины с потерями и любой конфигурации s обозначим runs^s) множество исполнений, начинающихся в конфигурации s. Пусть runs^^s)— множество бесконечных исполнений из s. Тогда некоторое исполнение г G runs^^s) является ограниченным, если и только если существует cz е N такое, что для любой конфигурации (q, О],..., С772) G г выполняется условие О] + ... + ст W
Пусть runsR(s) — это ограниченный бесконечный путь из s. Произвольная счётчиковая машина с потерями М является
ограниченной входом У^> в каждом исполнении, начинающемся из любой конфигурации, размер всех достижимых конфигураций ограничен размером конфигурации, из которой это исполнение начинается:
Vs: Vr 6 runs^s): \/У 6 г: sizers1) < s没e(s);
строго циклической каждое бесконечное исполнение из любой конфигурации проходит через начальное состояние ^о бесконечно часто:
Vq е Q,3,…,。加 е N:
Vr G гипзш^,С1,...,ст^: m(qo,d,...,。工)G г;
ограниченно строго циклической У^> каждое ограниченное бесконечное исполнение из любой конфигурации проходит через начальное состояние 伙)бесконечно часто:
Vq е Q,3,…,。加 е N:
Vr G runs^{q,Ci,... ,cm)): m(qo,d,...,。工)G 兀
Если машина М строго циклическая, тогда она также и ограниченно строго циклическая. Если М ограниченная входом и ограниченно строго циклическая, то она также и строго циклическая.
Далее в этом разделе для счётчиковых машин с потерями в общем виде мы покажем неразрешимость проблем ограниченности и рекуррентного состояния.
Проблема ограниченности в данном случае состоит в проверке того, являются ли все исполнения из начальной конфигурации счётчиковой машины ограниченными.
Проблема рекуррентного состояния', для некоторого управляющего состояния счётчиковой машины с потерями определить, существует ли бесконечное исполнение из начальной конфигурации, бесконечно часто проходящее через это управляющее состояние.
Рассмотрим задачу рекуррентного состояния в несколько ином виде и докажем, что для произвольной строго циклической, ограниченной входом пятисчётчиковой машины с потерями с начальным состоянием q()проблема существования таких ci,... ...,С5 е N и ^ е Q, что машина имеет бесконечное исполнение из конфигурации (q, 3,..., С5), является неразрешимой.
Лемма 2.2.1. Пусть 2сМ — это машина Минского с двумя счётчиками. Задача ЗпСМ, существует ли такое 九 е N, что исполнение машины 2сМ из конфигурации (^о,п,0) останавливается, является неразрешимой.
Доказательство. Проблема останова для машины Минского и произвольной начальной конфигурации легко сводится к данной задаче. □
Лемма 2.2.2. Пусть 4cM — это ограниченно строго циклическая машина Минского с четырьмя счётчиками и начальным, состоянием 伙).Задача 3aBSC-CM^, существуют ли такие ci,..., С4 е N, что машина 4оТИ имеет бесконечное ограниченное исполнение, начинающееся 6 конфигурации (伙),з,…,負), является неразрешимой.
Доказательство. Доказательство проводится сведением задачи ЗпСМ к данной задаче 3aBSC-CM^.
Пусть 2сМ — двухсчётчиковая машина с начальным состоянием q(). Построим из 2сМ трёхсчётчиковую машину ЗсМ такую, что после исполнения каждой команды происходит увеличение третьего счётчика 力3 на 1. Каждое правило переходов
Xj := Xj + 1; goto q‘,
где / = 1,2, заменяем на
Xj :=叼• + 1; goto 42; 42:力3 :=力3 + 1; got。J;
где 42 — новое состояние. А каждое правило переходов вида
if Xj > 0 then (力/ :=力/ —】;g°t。才)&se goto q〃; заменяем на (q?, 4з — новые состояния, 1 < J < 2)
if Xj > 0 then (叼:=叼—1; goto 该)else goto 备;
该:力з :=力3 + 1; goto d;
4з:力з :=力3 + 1; got。q〃・
Затем построим четырёхсчётчиковую машину 4сМ с начальным состоянием q$ следующим образом. Сначала установим значение счётчика х\ равным значению счётчика 力4 и обнулим счётчики 力2 н 力з (力 1 := 力4;力2 := 0;力3 :=。;)・ Затем пристроим машину ЗсМ. Наконец, заменим финальное состояние q『машины ЗсМ состоянием 必 т. е. в каждом правиле переходов заменяем goto q『на goto qj. Машина 4сМ является ограниченно строго циклической, так как счётчик 力3 каждый раз увеличивается после срабатывания той или иной команды и получает значение ноль только в начальном состоянии q^.
今 Если для машины 2сМ существует такая конфигурация (qo,zi,O), что исполнение из этой конфигурации достигает финального состояния q『,то это исполнение имеет конечную длину и поэтому ограничено. Тогда 4сМ имеет бесконечное ограниченное циклическое исполнение, начинающееся в конфигурации (q$, 0, 0, 0,九)(или (^,ci,c2,c3,n) для любых ci,c2,c3 G N).
U Пусть для машины 4сМ существуют такие 3,…,04 е G N, что 4сМ имеет бесконечное ограниченное исполнение из (必 з,..., а). По построению 4сМ также существует бесконечное ограниченное исполнение из конфигурации @,0,0,0,負). Так как 4сМ является ограниченно строго циклической машиной, это исполнение должно пройти через состояние qj ещё раз. Это возможно, только если исполнение машины 2сМ достигает финального состояния q『.Тогда 2сМ имеет конечное (останавливающееся) исполнение из конфигурации (q。,%。). □
Теорема 2.2.1. Пусть ЫсМ — это произвольная (т. е. с любым отношением потери) строго циклическая, ограниченная входом пятисчётчиковая машина с потерями с начальным состоянием 笫 Тогда задача E(q, q)LCM^, существуют ли такие з,...,% е N и состояние q R Q, что машина ЫсМ имеет бесконечное исполнение из конфигурации (q, 3,…,書), является неразрешимой.
Доказательство. Доказательство проводится сведением задачи 3aBSC-CM^ к данной задаче E(q, q)LCM^ для любого отношения потери
Из произвольной ограниченно строго циклической четырёх- счётчиковой машины 4сМ построим строго циклическую, ограниченную входом пятисчётчиковую машину ЫсМ с потерями с отношением потери следующим образом. Добавим новый «ёмкостный» счётчик 力5. Каждое правило переходов изменим таким образом, что сумма всех счётчиков в конфигурации никогда не увеличивается, точнее, сумма счётчиков может увеличиваться на 1, но только если на предыдущем шаге она была уменьшена на 1. Каждое правило переходов машины 4сМ вида
Xj :=力^ + 1; goto 必 где 1 < j < 4, заменим на
if 力5〉0 then (力5 :=力5 — 1; goto 该)else goto q『;
该:Xj :=叼• + 1; goto 心
где q『—финальное состояние, q? — новое состояние. Каждое правило переходов вида
if Xj > 0 then (力/ :=力/ —】;g°t。才)&se goto q〃;
заменим на
if Xj > 0 then (力/ := xj — 1; goto 该)else goto q〃;
该:力5 :=力5 + 1; got。J;
где 42 — новое состояние.
Машина 51сМ является ограниченно строго циклической, так как 4сМ ограниченно строго циклическая. Машина 51сМ также является и ограниченной входом, так как каждое исполнение из конфигурации (q, 3,…,05) ограничено суммой 3 + 望 + М +。4 + +。5・ Таким образом, ЫсМ строго циклическая.
今 Пусть для четырёхсчётчиковой машины 4сМ существуют ci, С2, С3, С4, с е N такие, что существует бесконечное исполнение из (40,3,02,03,04), проходящее бесконечно часто через qo и всегда удовлетворяющее условию 力i + %2 + %з + %4 W с. Поскольку id J т, существует также бесконечное исполнение машины ЫсМ из конфигурации (40,3,02,03,04,0—01—02—03—04), проходящее бесконечно часто через q()и всегда удовлетворяющее условию 力1 + 力2 + %3 + %4 + %5 W。・
и Если для ЫсМ существуют ci,..., С5 е N и ^ е Q такие, что существует бесконечное исполнение, начинающееся в (q, 3,。2,。3,。4,。5), то это исполнение ограничено, так как всегда удовлетворяет условию
Х1 + Х2 + х3 + Х4 + Х5 < С1 + С2 + с3 + С4 +。5・
По построению машины 51сМ сумма всех счётчиков может увеличиваться на 1, если на предыдущем шаге она была уменьшена на 1. Из определения отношения потери имеем, что если потеря происходит (т. е. значения счётчиков внезапно изменяются), то сумма счётчиков уменьшается. Следовательно, потеря может происходить не более чем 3 + 望 +。3 +。4 +。5 раз в данном бесконечном исполнении, и сумма счётчиков。:= 3 + 望 + 禽 + +。4 +。5 ограничена. Таким образом, существует бесконечный «суффикс» этого исполнения, где потери не происходит. Значит, существуют qf е Q, ср ..., с^ G N такие, что это бесконечное исполнение-суффикс, не имеющее потерь, начинается в конфигурации (д',《,...,og). Следовательно, существует бесконечное ограниченное исполнение машины 4сМ из (必《,…,&). Так как 4сМ ограниченно строго циклическая, это исполнение проходит через q(). Таким образом, существуют о*..,國 е N такие, что существует бесконечное ограниченное исполнение машины 4сМ, которое начинается в конфигурации (伙),Ср ... ,с^. □
Важно отметить, что задача является неразрешимой для любого отношения потери. Данная задача может быть представлена в другом виде.
Теорема 2.2.2. Пусть ЫсМ — это произвольная строго циклическая, ограниченная входом, пятисчётчиковая машина с потерями. Тогда задача 3aLCM^f существуют ли такие числа з,…,% е N, что счётчиковая машина ЫсМ имеет бесконечное исполнение из конфигурации (q(), ci,..., 05), является неразрешимой.
Доказательство. Следует непосредственно из теоремы 2.2.1, так как 51сМ строго циклическая. □
Следствие 2.2.1. Проблема рекуррентного состояния для счётчиковых машин с обнулениями является неразрешимой.
Теперь обратимся к задаче ограниченности.
Теорема 2.2.3. Проблема ограниченности для четырёхсчётчиковых машин с потерями неразрешима.
Доказательство. Доказательство осуществляется сведением проблемы ограниченности для трёхсчётчиковой машины Минского с нулевой начальной конфигурацией к данной проблеме ограниченности четырёхсчётчиковой машины с потерями.
Преобразуем произвольную машину Минского ЗсМ в машину Минского 4сМ с четырьмя счётчиками (и с несколько изменённым набором правил переходов) следующим образом. Добавим новый «ёмкостный» счётчик К. Заменим в каждом правиле перехода команду
Xi :=力広一1
на последовательность команд
Xi := Xi — i, К := К + I
и Xi := Xi + 1 на «управляемое приращение» (г = 1,2, 3):
if К〉0 then (К := К 一 1; • := • + 1) else goto
Наконец, добавим четыре новых состояния q八+i, q八+2, 4八+3, 4八+4 и соответствующие им правила переходов b八+1, b八十2, b八+з, b八十4:
q八+1 : if 力1〉0 then (力 1 := %i — 1; К := К + 1; goto q八+1) else goto 陪2,
拆+2 : if 力2〉° then (力2 :=力2 — 1; К := К + 1; goto ^n+2) else goto 陪3,
q八+3 : if %з〉0 then (力3 :=启 一 1; К := К + 1; goto ^n+3) else goto q八+4,
q八+4: К := K+ 1; goto q^
В машине 4cM только правило перехода b八+4 изменяет (увеличивает на единицу) сумму счётчиков 力i + %2 + %з + К.
Счётчиковая машина 4сМ с начальной конфигурацией (q(),0,0,0,0) ограничена тогда и только тогда, когда ограничена машина Минского ЗсМ с начальной конфигурацией
(qo,O,O,O) (наличие у машины Минского ЗсМ бесконечного неограниченного исполнения означает наличие бесконечного неограниченного исполнения и у машины 4сМ, так как значение счётчика К (изначально К = 0) бесконечно возрастает из-за прохождения бесконечного числа раз через состояние q八+4, где правило перехода b八十4 увеличивает значение К на 1).
Зададим на множестве конфигураций счётчиковой машины Минского 4сМ некоторое произвольное отношение потери
Таким образом, мы получили счётчиковую машину с потерями 14cM. В машине Z4cM по-прежнему только правило 5п+4 увеличивает сумму счётчиков 力i + %2 + %з + К, в то время как все остальные правила переходов (с учётом потерь) уменьшают или оставляют без изменения эту сумму.
Машина Z4cM с начальной конфигурацией (q(),0,0,0,0) ограничена тогда и только тогда, когда ограничена машина 4сМ с начальной конфигурацией (q(),0,0,0,0). Действительно, если существует некоторое неограниченное исполнение машины 1АсМ, то оно бесконечно часто проходит через состояние q八+4, так же как и через состояния q八+з, q八十2, 4八+1, 4о・ После прохождения этих состояний и попадания в состояние ^о машина Z4cM достигает конфигурации, где х^ = 0, а значение счётчика К может быть больше на 1 по сравнению с его предыдущим значением в этом состоянии или же меньше на некоторую допустимую константу. Для того чтобы в исполнении из состояния qo в это же самое состояние qo сумма значений счётчиков 力i + %2 + %з + К возрастала на 1, необходимо, чтобы в этом исполнении не было потерь. Следовательно, если существует неограниченное исполнение машины Z4cM, то у Z4cM существует и неограниченное исполнение без потерь, которое в точности совпадает с исполнением машины Минского 4сМ. □
Теорема 2.2.4. Для четырёхсчётчиковых машин с потерями проблема тотальной ограниченности неразрешима.
Доказательство. С помощью построений из доказательства теоремы 2.1.2 проблема ограниченности для счётчиковых машин с потерями легко сводится к данной проблеме тотальной ограниченности. □
Следствие 2.2.2. Проблемы ограниченности и тотальной ограниченности для счётчиковых машин с обнулениями неразрешимы.
Счётчиковые машины с обнулениямии ошибками проверки на нуль
Построим новую счётчиковую машину, для которой при проверке на нуль счётчик может внезапно обнуляться или происходит неверное распознавание нуля (т. е. положительное значение счётчика может быть принято машиной за нулевое). Такую машину будем называть счётчиковой машиной с обнулениями и ошибками проверки на нуль или же просто счётчиковой машиной с ошибками. Определение счётчиковой машины с ошибками можно переписать в следующем виде.
Счётчиковая машина с обнулениями и ошибками проверки на нуль представляет собой набор (Q, {力i,...,力加}, т, Т), где
• Xi — счётчик;
• Q = {qo, •…,4八}——конечное множество состояний;
• qo — начальное состояние, qn — финальное;
• Т — конечное множество меток действий, соответствующих выражениям над счётчиками;
• т U Q\{Qn} хТ х Q — отношение переходов; запись q 工 J используется для обозначения правила перехода (〃九才).
Переход из одной конфигурации в другую может быть одного из следующих видов (при q 二 J):
(q,。1, • • •,。3 • • •, cm) ~(q〈 cj,..., c^ H- 1,..., cm), еслп t соответствует выражению 力広:=力広 + 1;
(q,。1,♦ ♦ ♦, а,♦ ♦ ♦, ^т) (q , с^,..., с^ — 1,...,。771), переход возможен лишь в случае Ci > 0;
(q,...,...,。加)工ci,..., 0,..., cm), если t соответ
ствует выражению Xi := 0;
(q,。1, ♦ ♦ ♦, а, ♦ ♦ ♦, ^т)(q , с^,..., с^,...,。771), если t соответ
ствует выражению Xi :=力
Отметим, что счётчиковые машины с ошибками легко моделируются сетями Петри с обнуляющими дугами, а если исключить переходы с выражениями вида Xi := 0, то и обыкновенными сетями Петри. Следовательно, в зависимости от используемых операций над счётчиками счётчиковые машины с ошибками можно рассматривать как вполне структурированные системы переходов с сильной или со строгой сильной совместимостью.
Из предыдущего раздела следует, что для счётчиковых машин с ошибками задачи достижимости рекуррентного состояния и ограниченности неразрешимы, так как счётчиковые машины с ошибками, например, включают в себя счётчиковые машины с обнулениями и машины, значения счётчиков которых могут самопроизвольно уменьшаться на единицу.
Пусть задан класс счётчиковых машин с ошибками, которые имеют одно и то же множество счётчиков.
Проблема включения состоит в определении существования алгоритма, устанавливающего для любых двух счётчиковых машин с ошибками гсМ\ и гсМ^ из этого класса, имеет ли место соотношение
R(rcMi) С R{rcM^,
где R(rcMi) — множество достижимых векторов значений счётчиков из начальной конфигурации для машины гоМ (г = 1,2). В случае проблемы эквивалентности соотношение имеет вид
R(rcM\) = R{rcM^).
Обе проблемы не являются разрешимыми для счётчиковых машин с ошибками. Доказательства проводятся сведением неразрешимой 10-й проблемы Гильберта к рассматриваемым проблемам (доказательства проводятся по аналогии с доказательствами неразрешимости указанных проблем для сетей Петри, которые были проведены Рабином и Хаком [51, 52]; содержание доказательств можно также найти в [6, 73]).
Неразрешимость 10-й проблемы Гильберта была установлена Матиясевичем [14]. Эта проблема формулируется следующим образом: существует ли алгоритм, с помощью которого можно выяснить, имеет ли полином Р(力i,力2, ,力八)с целыми коэффициентами целое решение, т. е. существует ли вектор целых чисел (ci, С2,..., сп) такой, что P(ci,C2,..., сп) = 0? Уравнение
F(xi, Х2,..., хп) = 0 называется диофантовым. В общем оно представляет собой сумму членов:
Р (力 1 ,...,力八)=〉:4 (力 1 , ♦ ♦ ♦,力Tl),
i
где 4(力 1,力2, • • •,力八)=出.力si •力$2 • ... • xSh •
Доказательство неразрешимости задачи эквивалентности для счётчиковых машин с ошибками состоит из трёх частей. Сначала 10-я проблема Гильберта сводится к задаче включения графов полиномов. Затем задача включения графов полиномов сводится к задаче включения для счётчиковых машин с ошибками. Наконец, задача включения для счётчиковых машин с ошибками сводится к задаче эквивалентности для счётчиковых машин с ошибками. Это показывает, что 10-я проблема Гильберта, известная как неразрешимая, сводится к задаче эквивалентности, которая поэтому также должна быть неразрешимой.
Граф G(P) диофантова полинома Р(力 i,...,力八)с неотрицательными коэффициентами — это множество
G(P) = {(%1,…,力八,g) I у < P(力1,…,%八)A。W…,力八,g}・
Задача включения графов полиномов заключается в определении для двух диофантовых полиномов А и В, выполняется ли G{A)QG{Bl
Теорема 2.3.1. Задача включения графов полиномов является неразрешимой.
Доказательство этого утверждения взято из [73] и проводится сведением 10-й проблемы Гильберта к задаче включения графов полиномов.
Ограничим доказательство задачами с целыми неотрицательными решениями. Если вектор (力i,...,力八) — это решение для Р(力 1,...,力八)=0 с x^ < 0, то (力 1,...,—力储...,力八)—решение для Р(力 1,...,—力з ...,力八)=0. Следовательно, для определения того, является ли (力i,...,力八)решением произвольного полинома, необходимо только проверить каждый из 2П полиномов, получающихся в результате изменения знака у некоторого подмножества переменных для неотрицательного решения.
Аналогично, поскольку 卩2(力1,...,力八) = 0 тогда и только тогда, когда Р(力i,...,力八)=0, необходимо рассматривать только те полиномы, значения которых неотрицательны.
Сейчас мы можем разбить любой полином Р(х\, Х2,..., хп) на два полинома Qi (力i,…,力八)и Qz(%i,力八)такие, что
P(力1 , • • •,力八)=Q1 (力1 , • • •,力八)一Q2 (力1,• • •,力八),
помещая все члены с положительными коэффициентами в Qi, а все члены с отрицательными коэффициентами - в Q^. Так как P(力1,…,力八))0, имеем, что Qi(力i,…,力八))Q2(力1,…,%八)m Р(力 1,...,力八) =0 тогда и только тогда, когда Qi (力 i,...,力八) = =Q?(力 1, • • • , ^n)'
Рассмотрим два графа полиномов:
G(Qi) = {(力 1,…,力八,g) I у < Qi(xb ... ,xn)},
G(Q? + 1) = {(力 i,・・・,力 n ,g)|gW 1 + Q2 (力1, ♦ ♦ ♦, ^n)}♦
Теперь G(Qz + D U G(Qi) тогда и только тогда, когда для всех неотрицательных х\,... ,хп и у из у 1 +Q2(%1,…,力八)следует, что у < Qi(力 1,...,力八).Это справедливо тогда и только тогда, когда не существует х\,... ,хп и у таких, что
Q1(力1,…,力八)< g W 1 + Q2E,…,力J
Но, как указывалось ранее, Qi》Q2, поэтому
Qi (力1,…,力八)< g W 1 + Q2(力1,…,力八)W 1 + Qi (力1,…,力八),
а поскольку все величины целые,
у = 1+Qz(力 i,・・・,力 п) = 1 + Qi (力1,• • •,力八),
что справедливо тогда и только тогда, когда Qi = Q2. Таким образом, мы убедились в том, что G(Qz + 1) U G(Qi) тогда и только тогда, когда не существует таких 力 1,...,力八,для которых Р(力1 , • • •,力Ti) = 0.
Итак, для определения того, что уравнение Р(力 1,...,力八)= =0 имеет решение, необходимо показать, что не выполняется G(Q2+1)UG(Q1).口
Для сведения проблемы включения графов полиномов к проблемам включения и эквивалентности для счётчиковых машин с ошибками мы будем использовать счётчиковые машины с ошибками в качестве абстрактных машин, «слабо вычисляющих» полиномы. Машина слабо вычисляет некоторый полином Р(力 1,...,力八),если для произвольного начального вектора чисел (。1,…,。八)результатом на «выходе» машины может быть любое число d такое, что 0 < с7 < 口白,...,о八).Это означает, что машина недетерминирована в том смысле, что вместо единственного результата, однозначно определяемого входным вектором {с\,... ,сп), она может выдать любое из чисел, не превышающих значения полинома Р(з,…,о八). Недетерминированность результата работы отражает недетерминированность функционирования счётчиковой машины с ошибками.
Необходимо показать, что счётчиковые машины с ошибками могут слабо вычислять значение диофантова полинома 口力 1,力2,…,力 J Ограничим полином F до неотрицательных значений полинома, неотрицательных коэффициентов и неотрицательных значений переменных. Это позволяет нам представить значения переменных и значение полинома значениями счётчиков машины с обнулениями. Входные значения переменных 力 1,力2, ,力八 задаются начальной конфигурацией машины. Выходная переменная у будет использоваться для хранения значения полинома, где у < Р{х\,х^,..., хп). Вычисление полинома начинается в начальной конфигурации счётчиковой машины с ошибками (qo, %i,...,力八,0,..., 0) и заканчивается в финальной конфигурации (", д,...,力八,у,..., о), где у < Р(хьх2,... ,хп), т. е. машина попадает в состояние, из которого нет переходов.
Сейчас мы хотим показать, что можно построить счётчико- вую машину с ошибками, слабо вычисляющую функцию умножения (двух чисел). На её основе мы можем построить составную машину, которая слабо вычисляет значение каждого члена путём последовательной композиции машин умножения и затем суммирует результаты.
Машина умножения реализуется с помощью счётчиковых машин с обнулениями следующим образом:
qo: if %1〉0 then (力i := %i — 1; goto %)[](力i :=力i; goto q『) % : if 力2〉° then (力2 :=力2 — 1; goto 该)[](力2 :=力2; goto аз) 42:(2 := 2 + 1; 4 := 4 + 1; goto %)
4з: if 2〉0 then (2 := 2 — 1;力2 :=力2 + 1; goto 4з)[] (2 := 2; goto 团)
При начальной конфигурации (伙),力卜 д, °, °) в самом лучшем случае эта машина вычисляет значение у =力1 •力2, в остальных случаях у < х\ -力2・
Машина сложения реализуется следующим образом:
qo: if 力1〉0 then (力1 := %i — 1; у := у + 1; goto 如)[]
(力 1 :=力i; goto %)
% : if 力2〉° then (力2 :=力2 — 1; 4 := 4 + 1; goto %)[] (%2 :=%2; goto ")
Из начальной конфигурации (^о, жь ж2,0) в лучшем случае машина достигает конфигурацию (q/,0,0,g), где у = х\ + ^2, в остальных случаях (q/,01,02, 4), где у < 力1+%2,01 W 力 1,02 W 力2.
Счётчиковая машина с ошибками М^, слабо вычисляющая некоторый одночлен
Pi = 电.力S] ♦力$2 ♦ . . . ♦力$九
диофантова уравнения, представляет собой последовательную комбинацию машин умножения
Ml(ai,xSl,y\,z\ M^y\,xS2,y^z\ ...,叫(沫_卜 %小,矿,2),
результат вычислений уг Pi = ai • xS1 • xS2 • ... • xSh.
Далее счётчиковая машина с ошибками М, слабо вычисляющая полином
Р(力1 , • • •,力п)=
=Р1 (力si, • • •,力s九)+ P?(力小• • •,力% ) + • • • + Pk (工W] ,♦ ♦ ♦,力 u^ ),строится как комбинация машин Mi, М2,М^, слабо вы-
числяющих одночлены Pi, 乃,几,и машины сложения
Лемма 2.3.1. Для любого полинома Р(д,…,力八)с неотрицательными целыми коэффициентами может быть построена счётчиковая машина с ошибками М такая, что G(P)= =Rn(M), где G(P) — граф полинома Р, Rn{M) — множество проекций векторов из множества достижимости R{M) на их первые п+1 координаты. (Множество проекций Rn{M)= ={(3, • • •,0八,0八+1) I (01, • • •,0八,0八+1, • • •, ос) e а(^0})•
Рис. 2.1. Счётчиковая машина с ошибками М, порождающая граф
G(P) = {(Ж1,... ,хп,у) \ уР(力 1,...,力冷)} полинома Р
Доказательство. Основой для построения счётчиковой машины с ошибками М (см. рис. 2.1) служит счётчиковая машина с ошибками Мр, слабо вычисляющая полином Р. К этой машине добавляются новые состояния (в том числе и новое начальное), переходы и счётчики 力i,...,力八.Для каждого счётчика Xi создаются следующие правила переходов:
曲:(0 := 0 + 1; * := * + 1;…力f := / + 1; goto 曲)[] (0 := 0; goto qj+i),
где 力? — счётчик машины с ошибками Мр^ слабо вычисляющей одночлен Pj, который соответствует переменной 力В качестве нового начального состояния q() возьмём q^, старое начальное состояние заменим на q;+L Эти переходы позволяют задавать произвольные значения для счётчиков 力 i,...,力八(и для счётчиков 力? каждой машины Мр. причём 力?=力力 и передают управление машине Мр. Зададим на множестве счётчиков машины с ошибками М порядок так, чтобы первыми n+ 1 счётчиками были 力 1,...,力八,д, где у — счётчик, в который помещается результат от слабого вычисления полинома Р.
Для начальной конфигурации б。 счётчиковой машины с ошибками М установим значения счётчиков равными нулю, за исключением счётчиков 出,которые положим равными соответствующим константам а〃 одночленов Q. Тогда для счётчиковой машины с ошибками М с начальной конфигурацией б。может быть получено множество Rn{M) проекций достижимых векторов значений счётчиков на счётчики 力 i,...,力八,д, которое будет равно графу G(P) полинома Р. □
Рис. 2.2. Счётчиковая машина с ошибками Ms, где переменные 3 6 V\{xi,.. .,хп,у}
Теорема 2.3.2. Проблема включения для счётчиковых машин с ошибками неразрешима.
Доказательство. Для двух произвольных полиномов Р n S с одинаковым числом переменных п можно построить счётчиковые машины с ошибками Мр и Ms такие, что
G(P) С G(S) о А(Мр) С R(Ms).
Пусть Мр и M's — счётчиковые машины с ошибками, построенные на основе машин, слабо вычисляющих полиномы F и S соответственно, причём G(P) = Rn{Mp) и G{S) = Rn{Mfs) (см. доказательство предыдущей леммы). Если первая машина имеет к счётчиков, а вторая I, то число счётчиков в обеих машинах можно уравнять, добавив \к —1\ счётчиков для машины с меньшим их количеством. Эти счётчики не входят в выражения каких-либо переходов, начальное значение каждого из них полагается равным 0.
Счётчиковая машина с ошибками Ms строится на основе машины Mg так, как показано на рис. 2.2. К машине Mg добавляются новые состояния и переходы. Для каждой машины различаем счётчики 力 1,...,力八,у. Остальные счётчики, которые будем называть внутренними, переименуем как s, и?,…,vr_n_i, где г — мощность множества счётчиков V. Для каждого внутреннего счётчика Vi G V\{xi,..., хп, у} счётчиковой машины с ошибками M's построим новые переходы:
《:if 3〉0 then ® := s — 1; goto《)[]
(3 :=з+ 1; goto《)[] (3 := 3; goto 4+i), где 1 < г < г — n — 1.
Рис. 2.3. Счётчиковые машины с ошибками А, Л/, В, Bf п С
После слабого вычисления полинома S машиной М^ и помещения результата вычисления в счётчик у эти новые переходы позволяют установить произвольное значение для каждого внутреннего счётчика.
Таким образом,
А(Мр) С R(Ms) О А(Мр) С Rn(Mfs) х-1,
где N『—八―1 — множество векторов размерности r — n— 1 из целых неотрицательных чисел. Правая часть эквивалентна отношению Rn(Mp) С Rn(M^. Следовательно,
А(Мр) С R(Ms) о Rn(Mp) С &(Л4).
Это означает, что для решения проблемы включения графов двух произвольных полиномов Р и S достаточно построить счётчиковые машины с ошибками Мр, М^, Ms, убедиться, имеет ли место включение R{Mp) С R(Ms), на основании этого сделать заключение о том, имеет ли место Rn{Mp) С Rn^M^, и на основании леммы 2.3.1 установить, содержится ли G(P) в G⑻.
Таким образом, если предположить разрешимость проблемы включения для множеств достижимых векторов значений счётчиков машин с ошибками, получаем разрешимость проблемы включения графов полиномов с неотрицательными коэффициентами, что неверно.□
Теорема 2.3.3. Проблема эквивалентности для счётчиковых машин с ошибками неразрешима.
Доказательство. Для доказательства неразрешимости методом сведения достаточно показать, что проблема включения сводится к проблеме эквивалентности. Это означает, что нужно указать способ, с помощью которого для любых двух счётчиковых машин с ошибками А п В можно построить машины 4 и В1 такие, что
А(В) С А(А) о R^) = А(Е).
Обе машины А7 и В1 строятся добавлением нового счётчика и разных переходов к одной и той же машине С, которая, в свою очередь, строится из машин А п В.
Способ конструирования машин С, А, В1 показан на рисунке 2.3 (переход с выражением х := х + с соответствует последовательности из с переходов 力:=% + 1). Предполагается, что машины А п В имеют одно и то же множество счётчиков (в противном случае добавляются новые счётчики, как в доказательстве теоремы 2.3.2). Пусть А и В имеют начальные конфигурации (/, о* .., с^) и соответственно (qg, cf,..., с^). Машина С строится таким образом, что из начального состояния q^ существуют две последовательности переходов в начальные состояния ^ машины А и соответственно qg машины В такие, что из начальной конфигурации машины С, которая полагается равной (qf, 0,..., 0), в состоянии ^ мы достигаем конфигурацию (/, с^,..., с^), а в состоянии qf — конфигурацию (qg, о?,...,点)• Таким образом, в зависимости от того, какое направление было выбрано, машина С может функционировать далее как машина А или машина В.
Машина 4 строится из машины С добавлением нового счётчика 力八+1, начальное значение которого полагается равным нулю, и добавлением для каждого состояния qj машины А перехода
4」:(力八+1 :=力八+1 + 1; goto &), где 必/ — финальное состояние машины 4.
Машина В7 строится из А7 добавлением нового перехода для каждого состояния qf машины В
4产:(力八+1 :=%八+1 + 1; got。必)・
Легко видеть, что
R{C) = R{A)U R{B)U R\C),
где R(С) — множество достижимых векторов значений счётчиков машины С до состояний ^ и
К(С) = {©,0,・・・,0) Id W孑}и
и {(d,С2,...,0) I С2 < с^}и...и {(才,房,,4) I < < 4} ии{(4,0,…,0) I d < cf}U
U {(о?, C2,...,0) I 4 < cf}U...U {(o?,成,,&) I & < 点}.
R{Af) = R{C) x {0} U A⑷ x {1};
A⑺=R^^R^B) x {1} = R© x {0}U(A(A)UA(2)) x {1}.
Поскольку из машины С не достижима никакая конфигурация, где xn+i = 1, то из того факта, что
А(В) С А(А) о А(А) = А(А) и А(В), следует
А(4) = А(В) о А⑻ С А⑷.
Отметим, что в доказательствах неразрешимости проблем включения и эквивалентности мы не использовали переходы с выражениями х := 0, что влечёт неразрешимость этих проблем, например, для обыкновенных сетей Петри и других вполне структурированных систем переходов со строгой сильной совместимостью, моделирующих счётчиковые машины с ошибкой проверки на нуль (без обнулений).
Рассмотрим проблему достижимости для счётчиковых машин с обнулениями и ошибками проверки на нуль.
Теорема 2.3.4. Проблема достижимости для пятисчётчиковых машин с ошибками неразрешима.
Доказательство. Докажем сначала неразрешимость задачи достижимости нулевого вектора значений счётчиков. Рассмотрим машину Минского с двумя счётчиками 2сМ. Преобразуем машину 2сМ в трёхсчётчиковую машину Минского ЗсМ таким же образом, как в доказательстве теоремы 2.1.3. Счётчиковая машина ЗсМ может достигнуть нулевого вектора значений счётчиков
только в финальном состоянии. Напомним, что для этой машины задача достижимости нулевой конфигурации неразрешима (см. доказательство теоремы 2.1.3). Далее преобразуем машину Минского ЗсМ в пятисчётчиковую машину с ошибками 5гесМ следующим образом. Добавим ещё два счётчика 力| и х^. Для счётчиков 力 1, %2 pl 力з правила переходов второго типа приведём к виду (1 < j < 3)
if Xj > 0 then (叼•:=叼・一1; goto q‘)[](叼・:=叼・;goto q〃),
т. е. при проверке этих счётчиков на нуль допускается возможность ошибочного определения нуля. Для новых счётчиков х; и 抬 правила второго типа имеют вид (/ = 1,2)
if х; > 0 then (吟:=吟一1; goto q‘)[](吟:=0; goto q〃),
т. e. для счётчиков 力| и 力g допускается возможность внезапного обнуления.
Итак, каждое правило переходов первого типа счётчиковой машины Минского ЗсМ для счётчиков xi и Х2 (j = 1,2)
Xj := хj + 1; goto q
заменим на набор правил
Xj := хj + 1; goto q‘;
qf: x;:=力;+ 1; goto q.
Каждое правило переходов второго типа машины Минского ЗсМ ДЛЯ счётчиков И Х2(J = 1,2)
if Xj > 0 then (叼:=力з——1; goto q‘) else (goto q〃)
заменим на набор правил
if х; > 0 then (吟:=吟一1; goto q'")[](吟:=0; goto q〃) q/〃: if Xj > 0 then (%/ := Xj — 1; goto q‘)[](力/ :=叼;goto q‘).
Покажем, что счётчиковая машина с обнулениями и ошибками проверки на нуль 5гесМ (т. е. машина с ошибками) достигает нулевого вектора значений счётчиков (0, 0, 0, 0, 0) тогда и только тогда, когда счётчиковая машина Минского ЗсМ останавливается в нулевой финальной конфигурации.
Заметим, что если сработает хотя бы один «неправильный» переход машины ЬгесМ, т. е. произойдёт ошибочное определение нуля (при тестировании на нуль) или внезапное обнуление счётчика, то будет выполнено неравенство Xj〉%; (/ = 1,2), п это неравенство останется верным на протяжении всех дальнейших
исполнений счётчиковой машины ЬгесМ, начинающихся после «неправильного» перехода. Поэтому машина 5гесМ может достичь нулевой конфигурации лишь в случае, если не произойдёт ни одного «неправильного» перехода. Но тогда это «хорошее» исполнение будет содержать в себе исполнение машины Минского ЗсМ, которое останавливается в нулевой конфигурации. Обратно, по построению машина 5гесМ имеет исполнение, которое содержит в себе исполнение машины Минского ЗсМ. Поэтому если машина Минского ЗсМ достигает своей финальной нулевой конфигурации (q/,0,0,0), то и машина 5гесМ также достигает нулевой конфигурации.
Теперь докажем неразрешимость задачи достижимости произвольной ненулевой конфигурации. Для этого преобразуем машину Минского 2сМ в трёхсчётчиковую машину Минского ЗсМ так же, как в доказательстве теоремы 2.1.4. Для этой счётчиковой машины задача достижимости вектора значений (。1,。2,。3)при сз > 0 из начальной конфигурации (q(),《,%()) является неразрешимой. Из построения трёхсчётчиковой машины Минского ЗсМ видно, что заданный вектор значений счётчиков (。1,。2,。3)(сз〉0) может быть достигнут только в финальном состоянии. Далее аналогичным образом, как и в предыдущем случае, преобразуем машину Минского ЗсМ в пятисчётчиковую машину с обнулениями и ошибками проверки на нуль ЬгесМ.
Проводя аналогичные рассуждения, легко показать, что машина с ошибками ЬгесМ достигнет вектора значений счётчиков (ci, С2, сз, ci, С2)(при сз > 0) из начальной конфигурации (qo, 4,厶 0, 4, &) тогда и только тогда, когда машина Минского ЗсМ из начальной конфигурации (伙),4,厶 0) достигнет вектора значений счётчик0в(3,。2,03)・ 口
Недетерминированные счетчиковые машины
В этом разделе с помощью недетерминированных счётчиковых машин исследуются неразрешимые свойства вполне структурированных систем переходов автоматного типа, в частности взаимодействующих раскрашивающих процессов.
Распределённые и параллельные системы обычно моделируются системами переходов с конечным числом управляющих состояний и с различными видами переменных и структур
данных, таких как счётчики, очереди и т. д. Многие системы переходов можно рассматривать как машины Тьюринга (системы, равномощные машинам Тьюринга) с ослаблениями, такими как наличие недетерминизма в правилах переходов из одной конфигурации в другую или же включения отношения потери. Чтобы оценить уровень ослабления для некоторых классов систем, вводятся абстрактные машины, с помощью которых определяется круг задач, которые по-прежнему остаются неразрешимыми. К таким абстрактным машинам можно отнести уже рассмотренные счётчиковые машины с потерями [66], которые были введены для систем с потерями.
В данном разделе рассматриваются системы переходов, где каждый переход определяется недетерминированно в соответствии с управляющими состояниями и независимо от манипулируемых данных. Вводятся недетерминированные счётчиковые машины в качестве общего средства для демонстрации неразрешимости ряда проблем для систем, которые могут моделировать эти машины, в частности для взаимодействующих раскрашивающих процессов, использующихся для моделирования перемещения данных различного типа между компонентами распределённой системы. Показывается неразрешимость для недетерминированных счётчиковых машин проблем ограниченности, достижимости, эквивалентности и включения, из чего можно сделать вывод, что даже при таком ослаблении (недетерминизм переходов) могут строиться довольно выразительные системы, такие, как взаимодействующие раскрашивающие процессы.
Недетерминированная счётчиковая машина (NCM) псМ — это набор из четырёх элементов (Q, {力i,...,力加}, т, Т), где
Xi — счётчик;
Q = {qo, •…,Qn}——конечное множество состояний;
qo — начальное состояние, qn — финальное;
Т — конечное множество меток действий, соответствующих выражениям над счётчиками;
Q \ {qn} х Т х Q — отношение переходов;
запись q ± d используется для обозначения (правила) перехода (qj,q‘)
Переход из одной конфигурации в другую может быть одного из следующих видов (при q 二 J):
(q,。1, ♦ ♦ ♦, а, ♦ ♦ ♦, °m) ~(q‘,。1, ♦ ♦ ♦, а + 1, ♦ ♦ ♦, °m), еслп t соответствует выражению 力広:=力広 + 1;
(q,。1,...,仇...,。加)一> (q‘,。1,..., о;,. •.,。加),где。彳=0 при Ci = 0 и с- = Ci — 1 при Ci > 0, если метка t соответствует выражению 力広:=力広㊀1;
(q,。1,..., &,..., Crn} ~(q‘,。1, ♦ ♦ ♦,, би), если t соответствует выражению Xi := 0;
(q,3,,。加)Л (d,3,,。加),если t соответ
ствует выражению Xi :=力储
(q, cj,..., c^,..., Cm,) ~(q ,。1, Cm),「де 与=а при
cj = 0 и с- = Ci + 1 при Cj > 1, если метка перехода t соответствует выражению Xi := Xi + min(力/, 1).
Рассмотрим недетерминированную m-счётчиковую машину псМ как систему помеченных переходов. Для каждого счётчика Xi все переходы с выражением 力広:=力広 + 1 пометим как inci, с выражением 力広:=力広㊀ 1 — как deci, переходы, обнуляющие значения счётчика обозначим п&, а переходы с выражением Xi := Xi + min(xj, 1) — как 7nzi叮(i,j = 1,..., m). В соответствии с правилами переходов определим отношение переходов на множестве конфигураций —е S х Т х S, где
rJ-1 — {ztZ/。] ,..., ztIiCyyi, de。],..., deCijYi,
TlZllTiul^yi, 7n?2 ]力,.♦ . , ^^nmjm } ♦
Зададим естественным образом отношение < частичного порядка на множестве конфигуаций S машины псМ. Для двух конфигураций системы псМ имеем:
(q,。1, ♦ ♦ ♦, Ощ) W (q ,。1, ♦ ♦ ♦, ^т),
если q = qf и Ci ^ с^, i = 1,..., m. Это отношение является правильным квазипорядком по лемме Диксона [40] (см. утверждение 1.1.5).
Теорема 2.4.1. Система переходов (псМ, <) является эффективной по пересечению вполне структурированной системой переходов с сильной совместимостью по возрастанию и убыванию, имеющей эффективный предбазис.
Доказательство. Из определения псМ видно, что срабатывание перехода с пометкой t е Г из некоторой конфигурации не зависит от значений счётчиков, а определяется только лишь текущим состоянием системы псМ. Поэтому для любых двух конфигураций 61Pls2 таких, что si W $2, переход $1 二 从 существует тогда и только тогда, когда существует переход $2 二% причём М < % так как при переходе в конфигурациях si и $2 совершаются одинаковые изменения счётчиков. Следовательно, для системы (псМ, <) выполняется условие сильной совместимости квазипорядка < с отношением переходов т по убыванию и возрастанию.
Опишем алгоритм построения предбазиса. Построим множество минимальных конфигураций °t, при которых переход с пометкой t может сработать. Для некоторого перехода t Е Т множество конфигураций
°t = {(q, 0,,0) I :(7 Л 鼠}.
Обозначим через t° множество конфигураций, получаемых в результате срабатывания перехода t из конфигураций °t. Рассмотрим множество TsCf廿,состоящее из таких конфигураций s', что sf может быть получена в результате срабатывания перехода t и s ^ sf. Это множество является направленным вверх конусом и в силу правильности отношения < имеет конечный базис, который обозначим lub(s, t°). Конечный базис lub(s,廿) состоит из одной конфигурации и может быть эффективно построен следующим образом. Рассмотрим конфигурации
(q, 3,..., cm) G 土 и s = (q ,。1, ♦ ♦ ♦, Cm) ♦
Для того чтобы пересечение конусов fs G [廿 не было пустым, необходимо выполнение условия q = qf. Тогда
lub(s,俨)=(q, max(d,g),max^M,。”)).
Пусть теперь некоторая конфигурация sf G Pred^Q5)- Тогда возможно срабатывание перехода t, которое переводит sf в конфигурацию 6〃 е fs. Отсюда следует, что sn е ]t°. С другой стороны, для любой конфигурации s〃 такой, что sff Е ]s и 6〃 G Т廿 можно построить Pred^s"). Получаем
PredtQs) = PredtQlub(s, t°)) = TPred/lub(s,俨)).
Эта формула задаёт эффективное построение конечного базиса множества Pred^fs) по конечному базису lub(s, t°).□
Далее (в следующей главе) мы будем обращаться к доказательству этого утверждения как к примерному при возникновении аналогичных задач.
Рассмотрим проблему ограниченности и покажем её неразрешимость для недетерминированных счётчиковых машин.
Теорема 2.4.2. Для машины Минского ЗсМ с тремя счётчиками и нулевой начальной конфигурацией, т. е. (q(),0,0,0), можно построить недетерминированную четырёхсчётчико- вую машину п^сМ такую, что п^сМ будет ограничена тогда и только тогда, когда машина ЗсМ ограничена.
Доказательство. Доказательство этого утверждения во многом повторяет доказательство теоремы 2.2.3. Но в связи со спецификой недетерминированных счётчиковых машин мы приводим его полностью. Как и ранее, доказательство проводится сведением проблемы ограниченности для трёхсчётчиковой машины Минского с нулевой начальной конфигурацией к данной проблеме ограниченности недетерминированной четырёхсчётчиковой машины.
Преобразуем машину Минского ЗсМ в машину Минского 4сМ с четырьмя счётчиками (и с несколько изменённым набором правил переходов) следующим образом. Добавим новый «ёмкостный» счётчик К. Заменим в каждом правиле перехода команду Xi := Xi — 1 на команды
Xi := Xi — 1, К := К + 1
и Xi := Xi + 1 на «управляемое приращение» (г = 1,2, 3):
if К〉0 then (К := К 一 1; & := & + 1) else goto q^+i.
Наконец, добавим четыре новых состояния q八+i, q八+2, 4八+3, 4八+4 и соответствующие им правила переходов b八十鹿 b八十2, b八+з, b八十4:
q八+1 : if 力1〉0 then (力 1 := %i — 1; К := К + 1; goto q八+1) else goto 陪2,
拆+2 : if 力2〉° then (力2 :=力2 — 1; К := К + 1; goto ^n+2) else goto 陪3,
氟+з : if %〉° then (力3 := % — 1; К := К + 1; goto ^n+3) else goto q八+4,
q八+4: К := К + 1; goto 纾
В машине 4сМ только правило перехода b八+4 изменяет (увеличивает на единицу) сумму счётчиков 力i + %2 + %з + К.
Машина 4сМ с начальной конфигурацией (q(),0,0,0,0) ограничена тогда и только тогда, когда ограничена машина Минского ЗсМ с начальной конфигурацией (q(),0,0,0) (наличие у машины Минского ЗсМ бесконечного неограниченного исполнения означает наличие бесконечного неограниченного исполнения и у машины 4сМ, так как значение счётчика К (изначально К = 0) бесконечно возрастает из-за прохождения бесконечного числа раз через состояние q八+4, где правило перехода b八+4 увеличивает значение К на 1).
Разрешим ещё одну команду 力:=0 для правил переходов. И добавим новый оператор недетерминированного выбора []. В 4сМ заменим каждое правило перехода
if %〉0 then commi else comm?,
где х е {力 1,力2, %з, К}, на правило
commi [] х := 0; comm2.
В commi заменим каждую последовательность команд
力е :=力広一1; К := К + 1
на
К := К+min{xi, 1); К := К㊀ 1; К := K+min(&, 1); Xi := 0㊀ 1;
и каждую последовательность команд
К := К — 1; Xi := Xi + 1
на
Xi := Xi + min{K, 1); Xi := 0㊀ 1; Xi := Xi + min{K, 1); К :=衣㊀ 1.
Таким образом, мы получили недетерминированную машину п4сМ. И в машине п4сМ только b八十4 увеличивает сумму счётчиков 力1 + %2 + %з + К, в то время как все остальные правила переходов уменьшают или оставляют без изменения эту сумму.
Машина п4сМ ограничена, если все её исполнения ограничены. Машина п4сМ с начальной конфигурацией (q(),0,0,0,0) ограничена тогда и только тогда, когда ограничена машина 4сМ с начальной конфигурацией (q(),0,0,0,0). Действительно, если существует некоторое неограниченное исполнение машины п4сМ, то оно бесконечно часто проходит через состояние q八+4, так же как и через состояния ^n+3, qn^, qn+i, qQ.
И поскольку исполнение неограниченное и только в состоянии q八+4 сумма 力i + 力2 + %з + К может увеличиться (на единицу), то должно существовать такое неограниченное исполнение машины п4сМ, что в нём все команды 力:=0 выполняются тогда и только тогда, когда 力=0, что означает существование неограниченного исполнения машины 4сМ.
Легко видеть, что машина п4сМ представляет собой недетерминированную четырёхсчётчиковую машину. □
Примечание. Доказательство этого утверждения останется верным, если команду 力:=0 заменить командой 力:=力㊀ 1.
Следствие 2.4.1. Проблема ограниченности для недетерминированных четырёхсчётчиковых машин неразрешима.
Доказательство. Из теорем 2.1.1 и 2.4.2 следует неразрешимость задачи ограниченности для недетерминированной счётчи- ковой машины с начальной конфигурацией (q(), 0,..., 0).
Очевидно, что для любой недетерминированной счётчиковой машины псМ с начальной конфигурацией (q(), 0,..., 0) может быть построена недетерминированная машина ncMf с произвольной начальной конфигурацией (q$, 3,..., cm), m 4, такая, что псМг будет ограничена тогда и только тогда, когда ограничена псМ. Действительно, это может быть достигнуто добавлением к псМ новых состояний (в том числе и нового
начального q$) и переходов с выражениями х\ := х\ О ci, ... ...,хт := хт О ст, ведущих от ^ к ^о,力/ :=力^•㊀ Cj означает применение cj раз команды Xj := xj О 1. □
Теорема 2.4.3. Проблема тотальной ограниченности для недетерминированных четырёхсчётчиковых машин является неразрешимой.
Доказательство. Сведём проблему ограниченности для недетерминированной четырёхсчётчиковой машины п4сМ с нулевой начальной конфигурацией (q(),0,0,0,0) к проблеме тотальной ограниченности.
Построим недетерминированную машину п4cM' добавлением к п4сМ новых состояний (в том числе и нового начального q$) и переходов с выражениями х\ := 0, ..., %4 := 0, ведущих от qj к состоянию 伙).
Очевидно, что машина п4сМ7 тотально ограничена тогда и только тогда, когда ограничена машина п4сМ с начальной конфигурацией, равной (q(),0,0,0,0). □
Для доказательства неразрешимости проблем включения и эквивалентности необходимо показать, что можно построить недетерминированную счётчиковую машину, слабо вычисляющую значение диофантова полинома Р{х\,х^,..., хп). Как и ранее, ограничим задачу до неотрицательных значений полинома Р, неотрицательных коэффициентов и неотрицательных значений переменных.
Недетерминированная счётчиковая машина умножения приведена на рис. 2.4. В самом лучшем случае эта машина умножения вычисляет значение g =力1 •力2, в остальных случаях У <х^力2・
На рис. 2.4 переход с выражением
у := у + min((min(2, 1) + min(*, 1))㊀ 1, 1) соответствует набору переходов
k := k + min(g, 1); к := к + min(2, 1); к := к ㊀ 1;
у := у + min(fc, 1); к := к ㊀ 1.
x2:=x2ei Vг :=^ + min(X2, 1)x2:=x2ei Vг :=^ + min(X2, 1)ггg = g + min((niin⑵ l) + min(/i, 1))㊀ 1, 1g = g + min((niin⑵ l) + min(/i, 1))㊀ 1, 1/2 : = /2 + min(2/2 : = /2 + min(2Рис. 2.4. Недетерминированная счётчиковая машина, вычисляющая слабо д =力1 •/2Рис. 2.4. Недетерминированная счётчиковая машина, вычисляющая слабо д =力1 •/2/1=/1㊀12:=2㊀1/1=/1㊀12:=2㊀1
x2:=x2ei V
г :=^ + min(X2, 1)
x2:=x2ei V
г :=^ + min(X2, 1)
г
г
g = g + min((niin⑵ l) + min(/i, 1))㊀ 1, 1
g = g + min((niin⑵ l) + min(/i, 1))㊀ 1, 1
/2 : = /2 + min(2
/2 : = /2 + min(2
Рис. 2.4. Недетерминированная счётчиковая машина, вычисляющая слабо д =力1 •/2
Рис. 2.4. Недетерминированная счётчиковая машина, вычисляющая слабо д =力1 •/2
/1=/1㊀12:=2㊀1
/1=/1㊀12:=2㊀1
匸 g = g + min(/i, 1).…g:=g + min(/2, 1).…
Рис. 2.5. Недетерминированная счётчиковая машина, вычисляющаяслабо д =/1 + /2
Недетерминированная счётчиковая машина сложения представлена на рис. 2.5.
Недетерминированная счётчиковая машина, слабо вычисляющая некоторый одночлен
Pi =电.力S] ♦ ^§2 * • • • * 力5小
диофантова уравнения, показана на рис. 2.6 и представляет собой комбинацию машин умножения.
Теорема 2.4.4. Проблема включения для недетерминированных счётчиковых машин неразрешима.
Доказательство проводится по аналогии с доказательством теоремы 2.3.2.□
Теорема 2.4.5. Проблема эквивалентности для недетерминированных счётчиковых машин неразрешима.
Доказательство проводится по аналогии с доказательством теоремы 2.3.3.□
У2У2Рис. 2.6. Недетерминированная счётчиковая машина, вычисляющая слабо одночлен Р% = а『岂 si •岂 s?,• • ••岂 s% диофантова уравнения. Каждый блок представляет собой автомат умноженияРис. 2.6. Недетерминированная счётчиковая машина, вычисляющая слабо одночлен Р% = а『岂 si •岂 s?,• • ••岂 s% диофантова уравнения. Каждый блок представляет собой автомат умножения
У2
У2
Рис. 2.6. Недетерминированная счётчиковая машина, вычисляющая слабо одночлен Р% = а『岂 si •岂 s?,• • ••岂 s% диофантова уравнения. Каждый блок представляет собой автомат умножения
Рис. 2.6. Недетерминированная счётчиковая машина, вычисляющая слабо одночлен Р% = а『岂 si •岂 s?,• • ••岂 s% диофантова уравнения. Каждый блок представляет собой автомат умножения
Несмотря на то, что задача эквивалентности является неразрешимой, всё же можно в некоторых случаях уменьшить число управляющих состояний недетерминированной счётчиковой машины так, чтобы множество достижимости осталось прежним. Для этого необходимо рассмотреть недетерминированную счётчиковую машину как конечный автомат А = (Q, Т, т, q(), F), где Q — конечное множество управляющих состояний, Г — множество входных символов, q()— начальное состояние, т — функция переходов, a F = Q — множество заключительных или допускающих состояний, и провести процедуру минимизации (см., например, [19]).
Теорема 2.4.6. Для недетерминированных счётчиковых машин задача достижимости некоторой нулевой конфигурации (q, 0,..., 0) разрешима.
Доказательство. Поскольку недетерминированные счётчиковые машины являются вполне структурированными системами переходов с совместимостью по возрастанию и убыванию, разрешимость данной задачи следует из теоремы 1.2.7.□
Теорема 2.4.7. Проблема достижимости для недетерминированных пятисчётчиковых машин и вектора значений счётчиков (ci, С2, сз, С4, eg) > (0,0,0,0,0) неразрешима.
Доказательство. Рассмотрим произвольную машину Минского с тремя счётчиками ЗсМ. Из теоремы 2.1.3 имеем для ЗсМ неразрешимость задачи достижимости нулевого вектора значений счётчиков (0, 0, 0).
Построим для счётчиковой машины Минского ЗсМ её «слабую» модель пЗсМ следующим образом. Добавим оператор
недетерминированного выбора []. И в машине ЗсМ заменим каждое правило перехода
if Xj > 0 then commi else comm?
на правило
commi [] сошш2.
В выражении Xj := Xj — 1 оператор «—» заменим оператором вычитания до нуля《㊀》. Таким образом, мы получили недетерминированную счётчиковую машину пЗсМ.
Преобразуем машину пЗсМ в недетерминированную машину пЪсМ следующим образом. Добавим счётчики 力4 п %5. В каждом правиле переходов commi [] comm? заменим каждый переход (q,Xj := Xj ㊀ l,q‘) на последовательность переходов
(q,力4 :=%4 + min(4•,1),公,(d,叼・:=xj ㊀ 1,必),
(必,力4 :=%4㊀1,d),
а переход (q,Xj := Xy・,q〃),который не изменяет значения счётчика, на последовательность
(q,“・:= xj,^), (q?,%5 :=力5 + min(叼•,l),q〃)・
Рассмотрим недетерминированную счётчиковую машину пЬсМ с начальной конфигурацией б。= (^о, ^\^^ сз, с4, С5), где С4 > 0. Если машина пЬсМ из начальной конфигурации б。 достигает вектора значений счётчиков (0,0,0, % %), то машина Минского ЗсМ достигает нулевого вектора (0,0,0), так как в недетерминированной машине пЗсМ из (q(), cj, с^, с^) в некоторую конфигурацию (q,0,0,0) существует путь, равный пути машины ЗсМ. Действительно, если бы такого пути не было, то «неправильный» переход изменил бы значение одного из счётчиков 力4 или 力5, т. е. либо уменьшил значение счётчика 力4, либо увеличил счётчик 力5. Значения этих счётчиков могут остаться равными соответственно С4 и С5, если пЗсМ имеет конечное исполнение, равное конечному пути в нулевую конфигурацию машины Минского ЗсМ.
Обратно, очевидно, что если машина Минского ЗсМ из начальной конфигурации (^о, ср ^ сз) переходит в некоторую нулевую конфигурацию (q,0,0,0), то недетерминированная машина пЬсМ из (qo, 4,厶备,% 05) достигает вектора значений счётчиков (О,。,。,%%).□
Глава 3ТЕМПОРАЛЬНЫЕ СВОЙСТВА СИСТЕМПЕРЕХОДОВ
Метод проверки модели
Темпоральные логики играют важную роль в формальной верификации. Они используются для выражения свойств процессов. Такими свойствами, например, являются свойства «процесс никогда не достигнет тупикового состояниям или《6 любом бесконечном исполнении процесса действие b происходит бесконечно частот.
Задача проверки модели — это задача, состоящая в том, чтобы определить выполнимость для процесса, который задаётся помеченной системой переходов, свойства, выраженного формулой темпоральной логики.
Задача проверки модели
Дано\ помеченная система переходов, состояние s этой системы и формула 夕 темпоральной логики.
Вопрос: удовлетворяет ли состояние s системы переходов формуле темпоральной логики 夕?
Можно выделить два основных класса темпоральных логик, различающихся их интерпретацией: логики ветвящегося времени и логики линейного времени. Логики ветвящегося времени определяются над деревом достижимости состояний (диаграммой переходов). Логики линейного времени интерпретируются через множество всех исполнений системы переходов.
Существует большое количество темпоральных логик, которые отличаются друг от друга по выразительной силе [43, 72, 83]. Мы рассмотрим наиболее известные и широко используемые темпоральные логики и их некоторые интересные подмножества.
Прежде чем темпоральные логики будут описаны подробно, обозначим мотивацию их определения. Логика Хеннеси-Милнера и слабая логика линейного времени являются очень слабыми по
выразительной силе логиками и едва ли могут выражать какие- либо интересные свойства. Поэтому они почти не используются в формальной верификации. Исторически темпоральная логика линейного времени (linear-time temporal logic — LTL) [74] и темпоральная логика ветвящегося времени (branching-time temporal logic или computation-tree logic — CTL) [36] определялись в некотором смысле как расширения этих логик путём добавления новых темпоральных операторов, которые значительно увеличили выразительную мощность. Таким образом стало возможным описание ряда существенных и интересных свойств. В настоящее время LTL и CTL — широко известные и часто используемые в формальной верификации логики. Одной из самых мощных логик является модальное //-исчисление [64, 83]. Эта логика, например, более выразительная, чем LTL и CTL. Модальное //-исчисление основывается на применении операторов наибольшей и наименьшей неподвижных точек, что и придаёт ей такую выразительность. В действительности эта логика является слишком мощной и не используется в полном объёме на практике. Более того, она весьма трудна в понимании.
В наиболее общем смысле формулы темпоральных логик интерпретируются через исполнения процессов, заданных произвольными (возможно, бесконечными) системами помеченных переходов. Они могут быть определены в семантике с акцентом на состояния или действия систем переходов (или же в комбинации). В формулы, построенные в семантике с акцентом на состояния, включаются так называемые элементарные высказывания, которые соответствуют множествам состояний системы переходов, удовлетворяющих этим элементарным высказываниям. Информация о том, какие метки действий на дугах переходов, игнорируется. Поэтому, в действительности, речь идёт об интерпретации темпоральных формул через исполнения систем непомеченных переходов. В семантике действий не принимается в расчёт какая-либо информация о состояниях системы и отдаётся предпочтение только меткам переходов, т. е. действиям, которые осуществляются при переходе из одного состояния в другое. В этом случае логики обычно содержат операторы следования, которые позволяют задавать свойства вида ^действие b 6 данном состоянии возможное.
В данной работе одновременно используются оба подхода: представляет интерес и семантика состояний, и семантика действий, поскольку, с одной стороны, объектом исследований являются системы помеченных переходов, а с другой стороны, использование элементарных высказываний над множеством состояний позволяет учитывать особенности состояний системы, например количество ресурсов (в случае сетей Петри и т. □.).
Введём несколько обозначений, являющихся общими для всех описываемых логик. Рассмотрим вполне структурированную систему переходов S = (S, Т, т,бо). Обозначим Р множество элементарных высказываний над множеством S состояний системы переходов S. Пусть L : S — 2° — отображение, сопоставляющее каждому состоянию множество элементарных высказываний, истинных в этом состоянии. Условимся обозначать Рис множество элементарных высказываний, интерпретирующихся верхними конусами состояний системы переходов S, т. е. для любого элементарного высказывания 夕 е Рис выполняется условие, что
$ 1=夕Vs'》6: sf \= р,
где 6, У 6 5, a Pdc — множество элементарных высказываний, интерпретирующихся нижними конусами, т. е. для любого 夕 G Pdc выполняется условие, что
$ 1=夕Vs' W $ : sf \= р.
Для некоторого исполнения (пути) » = 60 6162 63 ••• системы переходов обозначим »" суффикс », который получается удалением из 7г первых z состоянии, т. е., например, тг1 = sis2sз・・・, а »(〃) будет обозначать г-е состояние исполнения, тг(О) = б。, 7Г⑴=S1 И Т. Д.
Темпоральные логики обычно определяются над системами с тотальным отношением переходов, т. е. над системами, где из каждого состояния имеется хотя бы один переход. Рассмотрим произвольную вполне структурированную систему переходов S. Выделим состояния системы S, из которых не существует переходов. В отношение переходов т добавим для каждого такого состояния s пустой переход г, т. е. переход, переводящий некоторое состояние 6 само в себя s 二 s. Таким образом, получили вполне структурированную систему переходов S', у которой любое исполнение может продолжаться бесконечно долго. Далее
будет предполагаться, что все рассматриваемые системы имеют тотальное отношение переходов.
Определение 3.1.1. Локальная проверка модели; для заданной модели (системы переходов) S определить, истинна ли формула 夕 в состоянии s, т. е. проверить для S, выполняется ли s 1=
Определение 3.1.2. Глобальная проверка модели; построить множество [99J5 всех состояний модели S, 6 которых истинна формула 夕.
Логики ветвящегося времени.
Логика Хеннеси-Милнер а. Одной из самых слабых по выразительной силе темпоральных логик ветвящегося времени является модальная логика Хеннеси-Милнера [54, 55]. Формулы этой логики определяются по следующей грамматике:
d::=true I false |夕八夕|夕V夕|用夕|⑴夕,
где t представляет собой некоторую метку перехода из множества Т. Наряду с использованием обозначения t для меток переходов далее мы будем именовать действия, переводящие систему переходов из одного состояния в другое, как а (от «action»).
Если состояние s системы переходов удовлетворяет свойству, которое выражает модальная формула 夕,то пишут s |=夕.Если s не удовлетворяет формуле 夕,обозначение имеет вид s 戸夕.Отношение выполнимости |= для состояния 6 и модальной формулы 夕 индуктивно определяется следующим образом:
6 |= true',
6 戸 false',
6 |=夕/\ ^$1=夕 и 6 |= 5
6 !=夕 V 矽 <^=^> 6 !=в или 6 |= 5
6 |=⑴夕 <^> 九/ s sf И sf \=D;
6 |=用夕 <^> \/У 6 工 6/ следует |=夕.
Примером простой формулы, которая выражает существование перехода с пометкой t из текущего состояния, является формула ⑦true. Формула \t\false обозначает отсутствие переходов с пометкой t из текущего состояния.
В рамках этой простой логики истинность или ложность выражения s |=夕 зависит только от префиксов выходящих из 6 исполнений, длина которых сопоставима с длиной формулы, т. е. количеством подряд идущих модальных операторов.
Логика CTL. Логика CTL (branching-time logic или computation tree logic) [36] является очень популярной логикой и широко используется в формальной верификации. В темпоральной логике ветвящегося времени за каждым моментом времени в будущем может непосредственно следовать несколько альтернативных моментов, в то время как в темпоральной логике линейного времени считается, что за каждым моментом времени в будущем непосредственно следует единственно возможный момент времени. Описательные возможности логики CTL позволяют учитывать наиболее важные свойства поведения систем переходов: справедливость, безопасность, живость и др.
В логике CTL (в отличие от модальной логики Хеннеси- Милнера) появляются два новых темпоральных оператора U («until») и U («unless» или «releases»). Формулы логики CTL строятся по следующей грамматике:
夕::=true I夕I -I夕I夕八夕I夕 V夕I []夕I〈)夕I 4(夕0夕)I E(夕0夕)I A^U^ I E^U^p),
где p G F — элементарное высказывание, определённое над множеством состояний системы переходов.
Отношение выполнимости |= для состояния s системы переходов S = (S, Т, — s,6o) и формулы 夕 логики CTL индуктивно определяется следующим образом:
s \= true и s ^ false',
s \= р для р е F 夕 G Е(б);
s |= 夕 s 戸夕;
s \=屮人2 $ |=夕 и $ |= М
6 |=夕 V ^ <^> $ |=夕 или 6 |= 5
6 |=〈)夕 <^=^> 三6‘ S sf И sf \=夕;
s |=[]夕 ^=^ Vs7 s — s‘ следует sf ^ 夕;
s \= 4(夕U^) <^=^> для каждого пути », выходящего из состояния s = 7г(0), существует такое /)0, что »(/) |= ^ и при этом для всех i, 0 ^ i < j, »(〃)=夕;
6 = E^U^) <^> для некоторого пути », выходящего из состояния 6 = тг(О), существует такое /)0, что »(/) |= ^ и при этом для всех i, 0 i < j, »(〃)=夕;
6 |= 4(夕 U ^) ^=^ для каждого пути », выходящего из СОСТОЯНИЯ 6 = тг(О), для любого J》1 такого, что »(/)戸 2, существует i, 0 ^ i < j, что »(〃)=夕(т. е. для каждого пути формула ^ истинна и должна оставаться истинной до тех пор, пока 夕 не станет истинной);
6 = Е(夕 U ^) <^=^> для некоторого пути », выходящего из СОСТОЯНИЯ 6 = 7Г(0), для любого J》1 такого, что »(/)戸 2, существует i, 0 ^ i < j, что »(〃)= 夕(т. е. для некоторого пути формула ^ истинна и должна оставаться истинной до тех пор, пока 夕 не станет истинной).
Непосредственно из определений следует справедливость следующих тождеств:
4(夕 U^)三 2 Y 屮/\ [\A《pU 2) и E3U* = ^ V 99 Л ( }E^U^)
A^U^ = ^^^[]A^U^ и E^U^) = ^^^^E^U^)
Оператор U является двойственным к оператору U, так же как и модальный оператор 〈 ) двойственен к [ ]. Двойственные операторы вводятся для того, чтобы можно было работать с формулами, находящимися в позитивной нормальной форме, т. е. в форме, когда все отрицания применены только лишь к элементарным высказываниям.
Для приведения произвольной формулы CTL к позитивной нормальной форме применяются тождества вида:
-<А(夕U^)=石■(-!夕行一^) и「E3U3) = 4(-1 夕行一^).
В дальнейшем будет предполагаться, что все исходные формулы 夕 представлены в позитивной нормальной форме. Более того, внесём отрицание в само элементарное высказывание, т. е. будем рассматривать запись「夕,где р Е Р, как элементарное высказывание рг =->夕,У е Р.
Логика CTLA. Поскольку в данной работе исследуются свойства помеченных систем переходов, а логика CTL не учитывает действия, совершаемые при переходе из одного состояния системы переходов в другое, определим соответствующее расширение логики CTL — CTL с действиями (CTL with actions — CTLA). Грамматика формул CTLA имеет вид:
夕,屮i ::= true I夕夕丨夕A夕丨夕V夕I用夕I⑴夕I
4(夕1•⑴V ... V夕八•(" U夕)Ie(夕1•⑴V ... V夕八•(" U夕)I
4(夕U夕1•⑴V ... VD八•⑴)I E{^p UD1•⑴V ... VD八•⑴),
где выражение 夕•(方)означает, что в текущем состоянии истинна формула 夕 и следующий переход в новое состояние обязательно должен произойти по метке t Е Т.
Семантика логики CTLA описывается следующим образом:
s \= true и s ^ false',
s \= р для р е Р <^> 夕 G Е(б);
s\=屮/\少$ |=夕и $ |= М
6|=夕 V ^<^=^> $ |=夕или 6 |= 5
6|=⑴夕 <^>Esz s -^sf и sf \=夕;
6|=用夕Vs7 6 工б, следует s,|=夕;
s \= 4(夕 1 •(方i) V … V D八•(方八)U ^) ^=^ для каждого пути 7г, выходящего из состояния s = тг(О), существует такое /》0, что »(/) = 2 н при этом для всех i, 0 ^ i < j, существует k, 1 < fc < п, что »(〃) |=夕衣 и »(〃)为》(〃+1), т. е. 7Г① |=屮к •(〃);
s \= Е(夕 1 •(方 1) V …V 夕廿(")U ^) ^=^ для некоторого пути 7г, выходящего из состояния s = 7г(0) существует такое j》 》0, что 7r°) |= ^ и при этом для всех i, 0 i < j, существует к, 1 < fc < п, что »(〃) |=夕衣 и »(〃)国》(〃+1), т. е. 7Г① |=夕к •(〃);
6 = 4(夕 U 叫•(方1) V …V 矽八•("))<^> для каждого пути 7Г, выходящего ИЗ СОСТОЯНИЯ 6 = 7Г(0), для любого J 2 1 такого, что для любого к》1 »(/)戸 麻;или »(/-1)步 7r⑺, существует i, 0 ^ i < j, что »①=夕;
s \= E(夕 U * •(方i) V…VV^・("))<^> для некоторого пути 7Г ИЗ СОСТОЯНИЯ 6 = 7Г(0) для любого J》1 такого, что для любого к》1 »(/)戸 2k или »(/—1)步》(/),существует i, 0 i < j, что к①=夕.
Вместо обозначения 4(夕i •(方 J V …V 夕八•(“)U ^) допустима также запись 夕i •(方i) V V 夕八• (tn) AU и т. п.
Определение 3.1.3. Логика BCTLA^P) (соот. \/CTLA(P» — это подмножество логики CTLA, допускающее формулы, построенные из элементарных высказываний р £ Р, операторов конъюнкции, дизъюнкции, модального оператора ⑴ (соот. [t]) и темпоральных операторов EU и EU (соот. операторов AU и AU). Пусть £ — подмножество логики CTLA, тогда £/ (соот. &J обозначается подмножество логики & не включающее 6 себя оператор U (соот. оператор U).
Модальное ^-исчисление. Модальное //-исчисление благодаря Пратту (Pratt) и Козену (Kozen) [75, 64] является естественным расширением модальной логики. Операторы наименьшей и наибольшей неподвижных точек позволяют построить из модальной логики, в частности из логики Хеннеси-Милнера (Hennessy-Milner), темпоральную логику ветвящегося времени, естественную темпоральную логику для верификации систем процессов. Использование //-исчисления для систем процессов с конечным числом состояний обсуждается, например, в работах [84, 82, 81, 65, 85, 78].
Формула с наибольшей неподвижной точкой выражает свойство безопасности, показывающее отсутствие непредвиденных критических ситуаций. Напротив, формула с наименьшей неподвижной точкой выражает живость. Чередование этих операторов позволяет описывать более сложные свойства.
Несмотря на то, что первоначально в работе Козена [64] логика была представлена как пропозициональное //-исчисление, мы вслед за Стирлингом [85, 83] придерживаемся названия «модальное //-исчисление», как более подходящего по смыслу для данной логики.
В этой монографии будет использоваться лишь подмножество модального //-исчисления, позволяющее строить формулы, находящиеся в позитивной нормальной форме, т. е. формулы, построенные с помощью элементарных высказываний из множества F = {pi,夕2, • • •} н констант true и false, пропозициональных переменных из V = {X,V,Z,...}, модальных операторов 〈力 и 用,где t — действие из множества Г = {方八友,…}以 оператора наименьшей неподвижной точки 〃Z.(...).
Мы будем называть этот фрагмент модального //-исчисления /л-подмножеством.
Таким образом, множество формул рассматриваемого подмножества //-исчисления определяется следующей грамматикой:
夕::=true I false | 夕 |Z|gV 夕 | 夕八夕 |〈〃)夕 | [a\(p | 〃Z.夕,
где p e F, Z e V.
Оператор 〃Z.夕 связывает вхождение переменной Z в 夕. Таким образом, все вхождения переменной Z в 〃Z.夕 называются связанными. Те переменные, которые не связаны никаким оператором 从,являются свободными. Формулы, не содержащие свободных переменных, называют замкнутыми. Далее мы будем рассматривать задачу проверки модели только для замкнутых формул.
Формально формула 夕 модального //-исчисления интерпретируется как множество состояний некоторой системы помеченных переходов, в которых 夕 является истинной. Обозначим это множество состояний как [[夕]]se, где S = (S, Т, t,s()) — это система переходов, а е : V т 2$ — оценочная функция, сопоставляющая пропозициональной переменной некоторое подмножество состояний. Обозначим за e[Z/Sr] новую функцию, которая будет
такой же, что и е, за исключением того, что e[Z/Sf](Z) = S7. Множество [[夕]]se определяется рекурсивно следующим образом:
B辰=工位);
RZ]]se = e(Z);
кЛ 河se = M<se П Mke;
kv 河 se = M<se U M]]se;
[{а)^зе = {s I Esz [s ^ sf и sf e 岡5日};
[[同夕]]se = {s I Vsz [s Л У следует У e 岡5日};
[idZ.^se - это наименьшая неподвижная точка функции т: 2$ — 2$, т(А) = Yp[se[Z/R\, т. е.
R//Z.夕]]se = Q{5z U S I 岡se[Z/S[ C Sf}.
А также если 夕 = true, то [[pj^e = £(夕)= S, а при 夕 =false имеем B]]se = Е(夕)=0. Система помеченных переходов S удовлетворяет формуле 夕 модального //-исчисления, если начальное состояние системы принадлежит множеству 岡se. Далее индекс S при записи множества состояний, удовлетворяющих формуле 夕,будет опускаться, т. е. будем писать просто 岡е.
Автоматная логика. Автоматная логика (Automata Logic — AL) является одной из самых выразительных программных логик. Например, логика AL более мощная по выразительной силе, чем логики CTLA и LTLA (и, следовательно, CTL и LTL), поскольку формулы этих логик могут быть адекватно интерпретированы в терминах автоматов.
Логика AL определяется в духе расширенной темпоральной логики ETL [87, 89]. Для систем с бесконечным числом состояний автоматная логика рассматривалась в работе [29], где исследовался вопрос разрешимости свойств, заданных автоматной логикой, для сетей Петри с потерями.
В рамках AL возможно построение формул, выражающих темпоральные свойства систем с учётом действий при переходе из одного состояния в другое и элементарных высказываний
над множеством состояний системы. Логика позволяет работать с конечными и бесконечными исполнениями системы переходов, а также учитывать временное ветвление, т. е. позволяет строить формулы, которые могут быть снабжёны кванторами всеобщности и существования.
Прежде чем описывать автоматную логику, напомним несколько важных определений.
Определение 3.1.4. Конечный автомат над алфавитом X, принимающий конечные последовательности, представляет собой набор Af = (X, Q, qo, b,用,где
Q — это конечное множество состояний;
qo — начальное состояние;
bUQxXxQ — функция переходов;
F С Q — конечное множество финальных, или принимающих, состояний.
Конечная последовательность а^а\ ... an е X* принимается конечным автоматом //, если существует исполнение ^о^о^1а1 • • • anQn автомата 4/ из состояния q() такое, что Vi (0 < г < n); qi G Q,出 G X, 〃 G F. Обозначим £(//) (язык) множество последовательностей, принимаемых конечным автоматом //.
Определение 3.1.5. Автомат Бюхи над алфавитом X, принимающий бесконечные последовательности, представляет собой набор /з = (X, Q, q(), b, F).
Бесконечная последовательность 〃()〃>.. е 沙 принимается автоматом Бюхи /з, если существует бесконечная последовательность переходов 如〃。%〃]…автомата 4 из состояния qo, бесконечно часто проходящая через некоторое финальное состояние q £ F. Обозначим £(4) множество последовательностей, принимаемых автоматом Бюхи Д^.
Определение 3.1.6. Замкнутый ш-автомат — это такой автомат Бюхи /зс = (Q,团,П, b, F), что F = Q.
Пусть S = (S,T, t,so) — система помеченных переходов, а F — множество элементарных высказываний. Тогда множество формул логики AL(F) определяется по следующей грамматике:
夕,6 ::=夕I夕V夕I夕八夕I 14/(夕i,...,夕")I \Л4/(夕i,...,夕")I m/з(夕1, ♦ ♦ ♦ , ^m) I V/з (夕1, ♦ ♦ ♦,夕?тг),
где Af (coot. /J — конечный автомат (coot, автомат Бюхи) над алфавитом Л х X, Л = {夕i,...,夕加}, X = T, a 夕 e P.
Определим отношение выполнимости между состоянием s системы S и формулой логики AL(F) следующим образом (будем использовать символ ★ вместо / и cj):
s |=夕 s е И
S 1=夕 1 V 夕2^=^S |=夕 1или S|=夕2
S 1=夕1 Л 夕2^^S 1=夕1PI S !=夕 2
s |=三/★(夕 1,...,夕加) <^=^> Е 7Г = SQa^siai 6 Run^s, 5):
За = qo(6o,ao)qi(6i,ai) :
о е £(/★) и V/ < \а\: Sj |=屮ij
s |= \/Л^^р\,..., ^pm) ^=^ V7Г = SQa^siai 6 Run^s, 5):
3cr = qo(6o,ao)qi(6i,ai) :
о e £(/★) и Vj < 旧:Sj |=也.
Для каждой формулы 夕 полагаем [99]5 = {s g S | s =夕}. Run(s,S) обозначает множество исполнений системы S, выходящих из состояния s.
Определение 3.1.7. Логики 3AL(P) и ^AL(P) — это подмножества логики AL, допускающие формулы, построенные из элементарных высказываний р £ Р, операторов конъюнкции, дизъюнкции и соответственно кванторов существования и всеобщности.
Определение 3.1.8. Если £ — это подмножество логики AL, тогда £/ (соот. £3, £шс) обозначается подмножество логики С, где используются только конечные автоматы (соот. автоматы Бюхи, замкнутые ш-автоматы).
Логики линейного времени. Формулы темпоральных логик линейного времени интерпретируются через исполнения помеченных систем переходов. Состояние удовлетворяет формуле, если все исполнения из этого состояния удовлетворяют данной формуле.
Слабая логика линейного времени. Слабая логика линейного времени (weak linear-time logic — WL) имеет почти такой же синтаксис (вместо операторов 〈力 и [t] используется OQ, что и логика Хеннеси-Милнера, но интерпретируется иначе.
В отличие от логик ветвящегося времени в логиках линейного времени не может быть выражено, например, свойство «действие t возможно в данном состоянии». Здесь вместо формул {t)true и [t] true допустима формула Qt^rae, которая означает, что следующим действием из текущего состояния данного исполнения будет действие t
Для помеченной системы переходов S = (S,T, t,s°) обозначим множество всех возможных исполнений системы из начального состояния s°, а С — множество всех возможных исполнений из любого состояния. Отношение истинности формулы логики WL для некоторого пути » = S0<S1<S2<S3 ... G Q системы переходов S определим следующим образом.
7г |= true и 7г ^ false',
7Г |=夕八 ^ » |=夕 и "ГМ
7Г |=夕 V ^ <^> » 1=夕 ИЛИ 7Г |= 5
7Г |= О力夕 <^=^ 7Г(0)工 7Г(1) И 7r1 |=夕.
Множество [[夕]]s представляет собой множество всех исполнений системы S, для которых истинна формула 夕,т. е. [99]5 = ={» I 7Г G С, 7Г 1=夕}.
Система помеченных переходов S будет удовлетворять формуле 夕 логики WL, если С$ С [[夕]]s.
Истинность формулы логики WL для системы переходов зависит от всех префиксов, выходящих из начального состояния исполнений, длина которых сопоставима с длиной формулы. Поэтому задача проверки модели разрешима для логики WL (как и для логики Хеннеси-Милнера) и всех классов систем переходов, включая машины Тьюринга.
Логика LTL. Логика линейного времени (Linear-Time Logic —LTL) [74] описывается с помощью темпоральных операторов U и U, определяемых аналогично, как и в логике CTL. Формулы логики LTL строятся по грамматике:
夕::=true I false | p | 99 Л 99 | 99 V 99 | О 夕 | 夕U夕 I 夕行夕,
где p G F — элементарное высказывание, определённое над множеством состояний системы переходов.
Отношение истинности формулы логики LTL для некоторого исполнения » = s()sis2s3... G Q системы S = (S, Т, t,s°) определяется следующим образом.
7г |= true и 7г ^ false',
7г |=夕 для р е F 夕 G £(№));
7Г |=夕八 ^ У^> 7Г ^ 99 И 7Г |= 5
7Г |=夕 V ^ <^=^> » |=夕 ИЛИ 7Г |= 5
7Г |= О夕 <^=^> 7Г(0) — 7Г(1) И 7rli=夕;
7г =夕 U ^ <^=^> существует такое /》0, что М |= ^ п при этом для всех i, 0 ^ i < j, »2 r 夕;
7г =夕行矽 <^> для любого j》1 такого, что М 乒矽, существует i, 0 ^ i < j, что тгг |=夕.
Одними из наиболее часто используемых операторов являются производные операторы:
◊夕=true U(p («eventually»), который требует выполнимости формулы 夕 в будущем (для некоторого состояния исполнения);
□夕=false Uip («always»), который требует выполнимости формулы 夕 во всех состояниях исполнения системы переходов.
Как и для WL, система переходов S будет удовлетворять формуле 夕 логики LTL, если С$ С [[夕]]s.
Логика LTLА. По аналогии с CTLA построим расширение логики LTL — LTL с действиями (LTL with actions — LTLA).
夕,6 ::= true I false |夕 | 夕八夕 | 夕 Vg| О夕 |
D1•⑴V ... V夕八•⑴ U ip \ ip UD1•⑴V ... V夕П•⑴.
7г |= true и 7г false',
7г |=夕 для р е Р 夕 G £(№));
7Г|=夕八У^> 7Г ^ 99И 7Г|=5
7Г|=夕 V<^=^> » |=夕ИЛИ7Г|= 5
7Г|=О力夕<^=^ "(О) 上"(1)И7r1 |=夕;
" 1=夕1 ,(方1) V …V 夕八•(%)U 矽 <^> существует такое /?0, что М |= ^; pj при этом для всех i, 0 ^ i < j, существует к, 1 < fc < п, что 戸=夕衣 и 戸(0)生戸(1) , т. е.戸=夕к・(〃);
• 7Г \=(Р U * •(方 1) V …V 矽八•(“)для любого j 2 1 такого, что для любого к》1 М 乒% или "(/—1) 步》(/), существует i, 0 i < j, что тгг |=夕.
Определение 3.1.9. Пусть £ — подмножество логики LTLA, тогда £/ (соот. £J обозначается подмножество логики С, не включающее 6 себя оператор U (соот. оператор U). Логика 「£ допускает только формулы вида「夕,где 夕—формула логики £.
Необходимо отметить, что логики линейного времени обладают особенностью (в соответствии с определением отношения истинности), что из невыполнимости формулы для системы переходов не следует выполнимость для неё отрицания формулы, т. е. возможны случаи, когда система не удовлетворяет ни формуле, ни её отрицанию.
Сравнение логик. Исходя из определений очевидно, что логика CTLA включает в себя логики Хеннеси-Милнера и CTL, a LTLA — логики WL и LTL. Поэтому основное внимание в разделе будет уделено тому, как формулы логик CTLA и LTLA могут быть адекватно выражены в формулах автоматной логики.
Перевод LTLA 6 автоматную логику AL. В этом разделе рассматривается алгоритм представления формулы логики LTLA в виде автомата Бюхи. Алгоритм строится по аналогии с алгоритмами, представленными в работах [90, 87], и не является
самым лучшим по временной оценке, демонстрируя скорее саму идею перевода формулы в автомат. Улучшенные алгоритмы могут быть найдены в работах [50, 39, 80], хотя и они в худшем случае имеют такую же сложность.
Определение 3.1.10. Обобщённый автомат Бюхи над алфавитом X, принимающий бесконечные последовательности, представляет собой набор Ашд =②,Q,q(),b,尸),尸 С 2% 尸 = {Fi,..., Fn} — множество множеств финальных, или принимающих, состояний.
Бесконечная последовательность 〃()〃>.. е 沙 принимается обобщённым автоматом Бюхи /^д, если существует бесконечная последовательность переходов а =伙)〃。%〃]…автомата /зд из состояния q()такая, что для каждого F% е F, inf(a) G 兄 * 0, где inf(a) — множество состояний автомата, которые появляются 6 а бесконечно часто, т. е. для каждого Fi должно существовать финальное состояние, через которое исполнение проходит бесконечно часто. Обозначим Ь(Л^) множество последовательностей, принимаемых обобщённым автоматом Бюхи Ашд.
Утверждение 3.1.1. Для любого обобщённого автомата Бюхи 4g =②,Q,q(),b,,) может быть построен простой автомат Бюхи /з = ②,Q',必 М,户)с тем же алфавитом X, принимающий тот же самый язык, что и /^д, т. е. такой, что
Доказательство. Рассмотрим произвольный обобщённый автомат Бюхи 4g = (X, Q, q(), 6, У} над алфавитом X, где 尸 = = {Fi,..., Fn}. Автомат Бюхи = (X,Q/,必 М,尸),принимающий тот же самый язык, что и Л^, строится следующим образом.
0 = Q х {1,..., zi}; qj = qo х {1};
•尸=用 х{1};
M: (s,〃)G M((q,/),a), если
7 [ 2 = 0 mod n) + 1, если q G 竹.
Идея построения заключается в том, что состояния автомата Бюхи /з представляют собой состояния обобщённого автомата Бюхи /зд, помеченные натуральными числами из диапазона [1, п]. Метка остаётся неизменной до тех пор, пока не будет готов сработать переход из состояния, принадлежащего множеству 鸟•, где j — текущее значение метки. Если это происходит, значение метки увеличивается на 1 (или сбрасывается до 1, если она равнялась п). Если существует цикл, проходящий через все значения метки, что необходимо для бесконечной достижимости множества 尸,тогда все множества из 尸 навещаются бесконечно часто. Обратно, если возможно посетить все множества из 尸 бесконечно часто, то это возможно сделать в определённом порядке Fi,码…,Fn. Следовательно, возможно бесконечно часто пройти через множество 尸 автомата Л^.□
Замыкание формул. Рассмотрим исполнение системы переходов S = (S, Т, — s, в。)в виде последовательности
a:N^2p хТ,
т. е. рассмотрим исполнение как последовательность состояний, где у каждого состояния указаны истинные в нём элементарные высказывания, а также указана метка перехода в следующее состояние последовательности.
Теперь рассмотрим проблему определения соответствия последовательности а : N 2Р х Т формуле 夕 логики LTLA, определённой над множеством элементарных высказываний F и множеством меток переходов Т. Эта проблема может быть решена посредством пометки состояний последовательности подформулами формулы 夕 в соответствии с семантикой логики LTLA.
Определим необходимое множество подформул формулы 夕. Это множество 。/(夕)называется замыканием формулы 夕 и определяется следующим образом:
夕 G d(g);
夕1 дв2 e d (夕)夕1,夕2 e d (夕);
夕1 v 夕2 e d(夕)夕1,夕2 e0?(夕);
0dl e d(夕)truest), 9^1 G d(D);
5 E. В. Кузьмин, В. А. Соколов
■夕1 •(九)V …V D八•(")U 2 G d(夕)
夕1•(力),夕1,…,夕八•("),夕八,山G0?(夕);
■夕1行如•(方i) V…V % •(%)e d(夕)=
夕1,如■(九),如一.,山八・("),山八e d(夕).
Пример. cl{pv[t) U 夕2)= {夕1 •⑴ U 夕2,夕1 •⑴,夕1,夕2}.
Правила пометки последовательностей. Следующий шаг состоит в описании множества правил, определяющих истинность разметки X: N т 2“(夕)для последовательности а: N 2Р х Г. Критерий истинности состоит в том, что, если формула 夕i е d(夕) помечает позицию i (т. е.夕i е 入⑴),тогда последовательность 戸 должна удовлетворять формуле 夕i, т. е. о" |=夕> Чтобы это было верно, правила разметки должны отображать семантику правил построения формул логики LTLA.
Рассмотрим разметку X : N т 2“(夕)последовательности ст: N т 2° х Т для формулы 夕,определённой над множеством элементарных высказываний F и множеством меток переходов Т. Чтобы разметка А была правильной, необходима выполнимость следующих правил для каждого ОО:
false是入①;
для р G Р, если 夕 е Х(〃),тогда 夕 е ^^У,
если 夕1 Л 夕2 G》(〃),тогда 夕i е Х(〃) п 夕2 G》(〃);
если 夕 1 V 夕2 G》(〃),тогда 夕i е Х(〃) или 夕2 G》(〃)•
Необходимо отметить, что правила пометки работают в одну сторону, т. е. выполняется логическая связка ^^>, а не <^s
если О力夕 1 G 入⑴,тогда truest) е Х(〃) п ⑺ G Х(〃 + 1).
Поскольку для операторов U и U выполнены тождества
夕=夕1,(九)V ... V夕八•(")uм
夕三山v (夕i八0九夕)VV (夕八人Otn^)
и
夕=夕1行*,(力)V... V Vv("),
夕三如人(处V QiD)V... V山八人(夕1 V 0方九夕),
имеем следующие правила для корректной разметки А;
еслив=夕1 •(方1) V ... V夕八•(方八)U 矽Gx⑴,тогда или е入⑴, или 夕 1 •(方 1) 6 入① и (р е X{i + 1), или . . . , или 夕八•(“)G 入⑴ и 99 е A(i + 1);
если 夕=夕]U *•(方 J V …V Vv (%)G x⑴,тогда или либо * е Х(〃)и(^1 е Х(〃),либо 叫•(方 1) с 入① и (р е X{i + 1), или ...,ИЛИ либо ^n G Х(〃)и (^1 е Х(〃),либо ^п • (^п) е Х(〃)И 夕 е Х(〃 + 1).
Правила для оператора U достаточно, чтобы проверить корректность разметки А. К сожалению, то же самое не верно для оператора U. Действительно, правило 6 не выражает существование точки, в которой появляется 矽:такая точка может откладываться бесконечно. Таким образом, необходимо добавить ещё одно правило разметки, которое будет учитывать эту ситуацию;
если 夕1 •(方 1) V … V 夕八•(“)U 矽 G 入①,тогда существует j i такой, что ^ G Х(/);
если 夕•⑴ е 入⑴,тогда 夕 е 入⑴ и для всех формул вида “•(,), таких, что “•(,) 6 入⑴,должно выполняться условие t =,.
Теперь может быть формализован тот факт, что данные правила разметки характеризуют корректную разметку. Сначала покажем, что правила разметки допускают только корректные разметки.
Лемма 3.1.1. Рассмотрим формулу 夕 логики LTLA над множествами Р и Т, последовательность a:~N 2Р хТ и разметку X : N — 2“(夕),которая удовлетворяет правилам 1-9. Для каждой формулы “ е d(夕)и i ^ 0 имеем, что, если “ е Х(〃), тогда 戸=
Доказательство. Доказательство проводится структурной индукцией по формулам из множества 叫夕).Рассмотрим наиболее интересный случай, когда 屮'имеет вид
夕 1・«1) V ... V ^рп'^п) и 6
По правилу 8 должен быть такой /》〃,что ^ е 入⑺,и по индуктивному предположению 涼 |=认 Рассмотрим наименьший j, i I < j. Так как “ е Х(〃),и для всех /, i lf I,
4 Х(1), из правила 6 следует, что “ е XQ) и либо 夕i •(方i) 6 G XQ), либо . . . , либо 夕八•(“)6 XQ). Зафиксируем к, 1 < fc < n, соответствующий одному из истинных включений. Отсюда по индуктивному предположению аг =夕к •(方衣)・ 口
Затем необходимо установить, что если последовательность соответствует формуле, то существует разметка, удовлетворяющая правилам 1-9.
Лемма 3.1.2. Рассмотрим формулу 夕 логики LTLA над множествами Р и Т и последовательность а : N 2Р х Г. Если выполняется о =夕,тогда существует такая разметка X: N т 2“(夕),удовлетворяющая правилам /-9, что 夕 е А(0).
Доказательство. Рассмотрим разметку А такую, что
夕/ 6 A(i) <^=^ о〃 |= 夕/
для всех 屮'е d(g). Из о =夕 следует, что 夕 е А(0). Более того, выполнимость правил 1-9 прямо следует из семантики логики LTLA. □
Следующая теорема вытекает из предыдущих лемм.
Теорема 3.1.1. Пусть 夕—это формула логики LTLA над множествами Р и Т, a a :~N 2Р хТ — последовательность. Тогда о |=夕 <^> существует разметка X : N — 2“(夕) для последовательности о, удовлетворяющая правилам 1-9, така兄,что 夕 е А(0).
Построение автомата Бюхи. Из теоремы 3.1.1 почти непосредственно следует процедура построения обобщённого автомата Бюхи, принимающего последовательности, соответствующие формуле 夕.Идея состоит в том, чтобы просто использовать множество 2“(夕)как множество состояний автомата (и в то же время как метки этих состояний). Остаётся лишь выразить требуемые свойства разметки соответствующим определением структуры автомата.
Для некоторой формулы 夕 темпоральной логики LTLA обобщённый автомат Бюхи, принимающий только те последовательности а : N 2Р х Т, которые удовлетворяют формуле 夕,
может быть определён следующим образом. Этот автомат есть 4 =②,Q, Qo, b,尸),где
X = 2° х Т,
множество состояний Q — это множество всех возможных различных меток, где каждая метка соответствует подмножеству q множества 2“(夕)такому, что
-false 4 q;
-если 夕1 Л 夕2 G q, тогда 夕i G q п 夕2 е q;
если 夕 1 V 夕2 G q, тогда 夕i G q или 夕2 G q;
если 沙⑴ G q, тогда ^ G q n V, 方 n V^7: “•(,)4 q. Таким образом, состояния (точнее, допустимые метки) представляют собой подмножества множества 2“(夕), которые соответствуют правилам 1, 3, 4 и 9.
Функция переходов b проверяет, чтобы элементарные высказывания в рассматриваемой последовательности соответствовали элементарным высказываниям в метках состояний (правило 2), а также, чтобы правила 5-7 для темпоральных операторов выполнялись. Пусть а 6 X, а = =(2,力а), где Ра □ Р, ta G Т・ Таким образом, q‘ е b(q, а) тогда и только тогда, когда
для любого р R Р, если 夕 G q, тогда 夕 е 2;
если О如 Е q, тогда ^ ^ qz и ta = t;
если 沙(方)G q, тогда ta = t;
если “ =夕 1 •(方i)V …V D八•(方八)U 矽 G q, тогда или ^ е G q, или 夕 1•(方 1) Е q и ^ е q\ или . . . , или 夕八•(方八)G q n “ G q‘;
если “ =円 U ^1 • (й) V ... V Vv (“)6 q, тогда или либо 如 G q п 夕1 G q, либо 叫•(方i) G q n “ G q\ или ...,или либо 矽八 G q п 夕1 G q, либо ^n • (“)6 q и
• Множество 尸 с соответствующими условиями приёма последовательностей необходимо для адекватной реализации правила 8. Для любого состояния q, содержащего в себе формулу
夕 1・(方1) V ... V 夕八•(%)U 3 三 ew) e d(D),
в дальнейшем на принимаемом пути должно быть состояние, которое содержит в метке формулу 认
Правило 6 требует, если формула е侬)находится в метке состояния, тогда на принимаемом пути е(^) должна появляться до тех пор, пока не встретится состояние с ^. Чтобы избежать ситуции, когда е@) на принимаемом пути появляется бесконечно часто при отсутствии на этом пути 认 достаточно потребовать, чтобы автомат допускал последовательности, проходящие бесконечно часто через состояния, в которых встречаются обе формулы е(@) и ^ или в которых нет е@). Таким образом, множество 尸 имеет следующий вид. Если 学侬i),£衣侬衣)—это формулы,
построенные при помощи оператора U, тогда множество 尸=,发}, где
兄={q е Q 丨 G е q V 白 4 q}.
Итак, мы отобразили семантику логики LTLA в терминах правил пометки и данного обобщённого автомата Бюхи, корректность которого следует непосредственно из указанных выше построений.
Необходимо отметить, что, если формула 夕 построена без применения оператора U, тогда 尸={F}, где F = Q. Следовательно, любая формула логики LTLA^ выражается посредством замкнутого s-автомата. Получили следующее
Утверждение 3.1.2. Для любой формулы 夕 логики LTLA^ может быть построен замкнутый ш-автомат, принимающий только те последовательности, которые удовлетворяют 夕.
Рассмотрим логику LTLA/, в рамках которой интерес представляют только префиксы бесконечных исполнений, т. е. не допускается использование в формулах оператора U.
Утверждение 3.1.3. Для любой формулы 夕 логики LTLAf может быть построен конечный автомат, принимающий только те последовательности (исполнения системы переходов), которые удовлетворяют 夕.
Доказательство. Искомый конечный автомат 考 имеет ту же самую структуру, что и обобщённый автомат Бюхи А^, принимающий бесконечные исполнения, удовлетворяющие формуле 夕. Отличие состоит лишь в условии приёма последовательностей. По построению существует состояние, которое помечается пустым множеством, т. е. q『=0. Это состояние имеет (помимо других переходов) петлю, у которой нет подписи. Это означает, что при попадании в это состояние далее допустим любой путь (любое исполнение). Поэтому достаточно сделать это состояние финальным для конечного автомата, чтобы принимать конечные префиксы бесконечных исполнений.
今 Пусть А^ - обобщённый автомат Бюхи, соответствующий формуле 夕.Покажем, что если 4爲 принимает последовательность (исполнение системы переходов S), то это же исполнение принимает и автомат 考.Рассмотрим последовательность а, которая принимается А^, т. е. бесконечно часто проходит через множества 用,…,成 По построению получается, что, как только конечная часть принимаемого пути удовлетворяет формуле 夕, из текущего состояния есть переход в состояние q『=0, что означает допустимость любой оставшейся части пути.
U Поскольку qj = 0, то qj е Fi П ... П 眾.Следовательно, если принимаемая последовательность попадает в состояние q『 и навсегда зацикливается в этом состоянии, то это не противоречит уловию приёма последовательностей для обобщённого автомата Бюхи 北д. 口
Существуют методы уменьшения размера обобщённого автомата Бюхи. И обычно после всех улучшений автомат имеет весьма небольшие размеры. Примером улучшения может служить избавление от некоторых переходов.
Поскольку метки состояний построенного автомата являются подмножествами множества 2“(夕),то на множестве состояний можно естественным образом определить частичный порядок по включению множеств. Более того, любой переход из состояния qi также существует и из любого состояния q? U q>
Это наблюдение может быть полезным в том смысле, что, если из некоторого состояния есть переход в состояния qi и q? такие, что q2 С qi, тогда можно оставить только переход в состояние q2・ Но остаётся проблема с принимающими состояниями: если qi содержит формулу е@) так же, как и 认 но <§2 содержит только формулу е@), q2 может не входить в множество принимающих состояний, в которое включается qi. Правило упрощения, таким образом, можно сформулировать так.
Исключение переходов. Предположим, что из состояния q существуют два одинаково помеченных перехода в состояния qi и q2 такие, что q2 С qi и для всех формул е@) G qi, если е侬)е G q2 PI ^ G qi, то также ^ ^ 42- Тогда переход из q в qi может быть исключён.
Перевод CTLA 6 автоматную логику. Рассмотрим теперь, каким же образом формулы логики CTLA могут быть представлены в виде конечных автоматов и автоматов Бюхи.
Утверждение 3.1.4. Пусть 夕—формула логики CTLA над множествами действий Г и элементарных высказываний F. Тогда для 夕 может быть построена эквивалентная формула логики AL.
Доказательство. Покажем наиболее интересные случаи, а именно, как выражаются формулы логики CTLA, построенные с помощью операторов U и U.
Рассмотрим формулы
屮 а0 2、.(方1) V... V ^П •(“),
夕EU*•(九)V…V山八•(").
Построим замкнутый s-автомат для 夕行叫•(方 J V …V 矽八•(“), а затем укажем для него соответствующий квантор А или Е. Автомат Бюхи Ашс над алфавитом
X = Л X T, Л = {*,夕八如,...,矽八,屮、фn, true}, имеет вид ②,Q,团,b, F), где
F = Q; Q = {qo, %};
侬1J1),侬2,力2)侬1J1),侬2,力2)truex{t I teT}truex{t I teT}\ / {夕A*,夕л山2}/\ / {夕A*,夕л山2}/
侬1J1),侬2,力2)
侬1J1),侬2,力2)
truex{t I teT}
truex{t I teT}
\ / {夕A*,夕л山2}/
\ / {夕A*,夕л山2}/
Рис. 3.1. Автомат Бюхи (замкнутый s-автомат) для темпоральнойформулы 夕疗 ф\ • (й) V ?/;2 •(方2); все состояния автомата финальные
(夕1丿1),(夕2,方2)
^x{方 I 方eT}^x{方 I 方eT}
^x{方 I 方eT}
^x{方 I 方eT}
Рис. 3.2. Конечный автомат для формулы 夕i •(方i) V 夕2 •(方2)U ⑦
b(q(),(山 1,九))={m}, • . ., b(q(),(山八,"))={q0};
Vt E T: b(q(),(夕/\*,“)= {%},…,b(q(),(夕八山八/)) = {%};
Vt e Г: 5(^i, (true, t)) = {^i}.
Пример автомата для формулы
夕行如•(九)V山2 •(方2)
представлен на рис. 3.1.
Теперь рассмотрим формулы
夕1 •(九)V…VD八•(")AU我
夕1 •(九)V…VD八•(")EU6
Построим конечный автомат для 夕i •(方i) V …V 夕“(“)U ©, ь укажем для него соответствующий квантор. Конечный автомат Af над алфавитом
Х = АхТ, A = {di,...,夕八,山}
имеет вид ②,Q,团,b, F), где
Q = {团,%}; f = {%};
b(q(),(夕 1力))={q0},…,b(q(),(夕八,"))={m};
Vt e T: b(q(), ОМ)) = {%}.
Пример конечного автомата для формулы
夕1 •(九)VD2 •(方2)U山
представлен на рис. 3.2.□
3.2. Темпоральные свойства систем переходов
В этом разделе для класса вполне структурированных систем переходов автоматного типа и классов вполне структурированных систем переходов с сильной и транзитивной совместимостью исследуется разрешимость темпоральных свойств. В качестве базовых темпоральных логик, с помощью которых выражаются темпоральные свойства систем переходов, используются автоматная логика и логики CTLA и LTLA. Элементарные высказывания интерпретируются верхними и нижними конусами.
Важно отметить, что в данной главе для всех классов вполне структурированных систем переходов предполагается выполнимость условий разрешимости квазипорядка и эффективности предбазиса, а также условия эффективности по пересечению.
Системы переходов автоматного типа.
Разрешимые темпоральные свойства. Сначала мы рассмотрим такие подмножества темпоральных логик, в рамках которых любая формула будет отображать разрешимое темпоральное свойство для класса вполне структурированных систем переходов автоматного типа.
Лемма 3.2.1. Пусть S — вполне структурированная система переходов автоматного типа. Если формула модального ^-исчисления 夕 с переменной Z не содержит конструкций
неподвижных точек (и отрицаний), а все элементарные высказывания р е F интерпретируются верхними конусами, то функция т(7?) = [[^J^efZ/T?] является монотонной относительно включения множеств, т. е. из & С & следует, что т(&)ие
Доказательство. Легко проводится индукцией по структуре формулы 夕 модального //-исчисления. □
Лемма 3.2.2. Пусть S — вполне структурированная система переходов автоматного типа,夕—формула /л-подмножества модального ^-исчисления с переменной Z без операторов неподвижных точек, находящаяся 6 позитивной нормальной форме с интерпретацией всех элементарных высказываний как верхних конусов. Тогда функция т(7?) = [[^J^efZ/T?] имеет наименьшую неподвижную точку 从А.т(7?) такую, что существует 九 е N, для которого 从7?.т(7?) = 丁以0), где т°(0) = 0, а 7衣+1(0) = T(7衣(0)).
Доказательство. Рассмотрим произвольную вполне структурированную систему переходов автоматного типа S = (LTS, <), где LTS = (S,T,-,so).
Множество состояний [р] по условию является верхним конусом. Если [[夕Т и [992] — это верхние конусы, то [[夕山 А [[夕2]], I[夕 1』V [[夕2]] также верхние конусы.
Пусть [99] — верхний конус. Тогда [[〈力夕]]=Pred力([[夕]]),т. е. I[(力夕]I --верхний конуе.
Построим множество состояний [[用夕]]• Это множество включает в себя состояния, из которых либо нет перехода с пометкой 九 либо все переходы t формируют (переводят в) состояния из множества [99]. Построим множество Sf состояний первого вида. Из утверждения 1.2.11 следует, что если существует переход t из некоторого состояния s G S, то должен быть переход из меньшего состояния sf G min(S), sf < s. Следовательно, исключая из базиса множества S «плохие» состояния, т. е. состояния, из которых существует переход t, можно построить базис множества S7. Теперь построим множество S" состояний второго вида. Множество S〃 представляет собой множество Pred^Q^J), из базиса которого исключены все такие состояния s, что существует
переход s sf ^ [99]. Таким образом,[[用夕]]=57 U S〃 является верхним конусом и имеет конечный базис.
Пусть [99] — пустое множество, т. е.夕=false. Тогда [[⑴夕]]= =0, а множество Sf =批]夕]]представляет собой множество всех состояний S, за исключением состояний, из которых существует переход t Проводя рассуждения, аналогичные представленным выше, получаем, что Sf — верхний конус.
Рассмотрим множество состояний [[从Z.夕]],представляющее собой наименьшую неподвижную точку функции
г: 2$-2$, т(А) =岡e[Z/A].
По лемме 3.2.1 функция т(А) является монотонной по включению, т. е. Si С S2 =^ t(Si) С 7(62). К тому же если Sf является верхним конусом, то и r(Sf) — верхний конус. Более того, из доказанного выше следует, что и т(0) — верхний конус.
Поскольку 0 С т(0), то из монотонности функции г имеем т(0) U т(т(0)). Повторяя это рассуждение, получим цепочку: 0 С T(0) С /(0) С ..где l+1(夕)=7什乂?)).Из утверждения 1.1.4 следует существование k е N такого, что 丁衣(0)= =丁衣+1(0). Докажем, что это наименьшая неподвижная точка. Очевидно, idR.T(R) С 丁衣(0) по определению наименьшей неподвижной точки. С другой стороны, имеем 0 С idR.T(R), из монотонности получаем т(0) С t^R.t^R))=从7?.т(А), и так далее, т. е. 丁衣(0) С 从А.т(А) для любого к.
Таким образом, получаем итеративный алгоритм нахождения наименьшей неподвижной точки:[[从7?.夕]]=UeT”(0)・ Отсюда следует, что [[//7?.99] — верхний конус, представимый своим конечным базисом. □
Лемма 3.2.3. Предыдущую лемму можно распространить на произвольную формулу ii-подмножества модального ^-исчисления, находящуюся 6 позитивной нормальной форме с интерпретацией элементарных высказываний как верхних конусов.
Доказательство. Важно заметить, что для функций нескольких переменных, монотонных по всем своим аргументам, выполняется следующее соотношение:
& и S2 n 〃Z.T(&,Z) С 〃Z.T(S2,Z).
Это также легко доказывается с помощью итеративного алгоритма построения наименьшей неподвижной точки: поскольку т(&,0) С 7(62, 0), то т(&,т(&,0)) С 7(62,7(62,。)) и так далее, пока не достигнем неподвижной точки. □
Теорема 3.2.1. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и формул /л-подмножества модального fi-исчисления, находящихся 6 позитивной нормальной форме, при интерпретации элементарных высказываний как верхних конусов, т. е. Тр £ Р: s \= Р =^ Vs7 s: sf \= р.
Доказательство. Следует из лемм 3.2.2 и 3.2.3. Мы имеем алгоритм, который для любой формулы //-подмножества модального //-исчисления 夕 указанного вида строит множество состояний [[夕]|, образующее верхний конус, в виде конечного базиса minQ^J). Система переходов удовлетворяет формуле 夕, если начальное состояние б。е [99J, что возможно проверить с помощью конечного базиса minQ^J). □
Пример. Для взаимодействующих раскрашивающих процессов (см. раздел 1.3.3) мы имеем разрешимость следующего свойства
^Z.([]Z V //У.(( )У V р A {t)true)),
выражающего то, что в любом исполнении есть состояние, из которого существует исполнение в состояние, удовлетворяющее элементарному высказыванию 夕,где переход t является активным (т. е. такой переход t возможен из этого состояния). Операторы []и () допускают переходы с произвольными пометками, а 夕 интерпретируется верхним конусом. Элементарное высказывание 夕 может выражать, например, наличие в пакете данных секретных сообщений (сообщений определённого цвета, т. е. р = =《力(о)》1», где х — переменная, содержащая пакет данных, с — цвет секретного сообщения), а переход t означает отправку этого пакета данных в открытую небезопасную среду.
Следствие 3.2.1. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и логики CTLAf(Puc).
Доказательство. Из определений модального //-исчисления и логики CTLA и доказательства леммы 3.2.2 следует выполнимость следующих тождеств (при условии, что формулы и 夕 1,...,夕八 определены над элементарными высказываниями, которые интерпретируются верхними конусами, т. е. Vp 6 Рис):
夕1 •(方1) V…V夕八•(%)EU山=小Z.@VDiAQi)ZV…V夕八a(“)Z),
夕1 •(力1) V…V夕八•(方八)AU 矽=/zZ.^V^i Л [й ]ZV.. .V^nA [tn ]Z).
□
Теорема 3.2.2. Задача локальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и автоматной логики AL“Pdc)・
Доказательство проводится структурной индукцией по вложению подформул в формуле 夕 автоматной логики AL/(Fpc).
Базис индукции. Рассмотрим разрешимость данной задачи для произвольного состояния so системы переходов S автоматного типа и формул вида 三/『(夕i,...,夕八)и \Л4/(夕i,...,夕八), где 6 — формула логики AL“Pdc), построенная только из элементарных высказываний, принадлежащих множеству Рос, и допустимых булевских операторов. Поскольку пересечение и объединение нижних конусов являются также нижними конусами, будем считать формулы 夕広 элементарными высказываниями, т. е. ^ = pi е Pdc・
Итак, рассмотрим произвольную вполне структурированную систему переходов автоматного типа S = (LTS,W), где LTS = = (S,T, т,бо), а также автомат // = (X, Q, ^о, ^ F), me X = =Pdc х Т. Построим вполне структурированную систему переходов S,= ((S7,/,— \ Sq), <) с сильной совместимостью, представляющую собой произведение системы S и конечного автомата //. Состояния системы S' имеют вид sf = (s,q), где 6 — состояние системы S, q — состояние автомата //. Зададим на множестве Sf правильный квазипорядок < таким образом, что М =(61,%) <(62,42)= ^ У^(61 W 62)А (% = 42). Начальное состояние Sq = (s(),qo). Состояние sf = (s,q) системы S,является финальным, если состояние q автомата // финальное. Переход
t е Г7 из sj = (si,qi) в некоторое состояние sg = ($2,42) существует тогда и только тогда, когда одновременно существуют переходы si 上 $2 , S (竺 42 以 при этом si |=夕.
Для системы Sr построим дерево покрытия с корнем в начальном состоянии 6$. Состояние б。системы S будет удовлетворять формуле 夕=BAf^pi,... ,Рп) тогда и только тогда, когда в дереве покрытия будет хотя бы одно финальное состояние. Действительно, поскольку элементарные высказывания интерпретируются нижними конусами, если из дерева покрытия достраивать дерево достижимости, то новые состояния будут только покрывающими (новых состояний может и не быть в случае тупикового листа) и поэтому будут принадлежать к тому типу, к какому принадлежат покрываемые состояния. Следовательно, если в дереве покрытия не будет ни одного финального состояния, то не будет финальных состояний и во всём дереве достижимости.
Состояние б。 системы переходов S удовлетворяет формуле 夕=\Л4/(夕 1,...,夕八)тогда и только тогда, когда в дереве покрытия с корнем в начальном состоянии s$ системы Sf будет существовать поддерево с тем же корнем, удовлетворяющее следующим свойствам. Во-первых, каждое состояние sf = (si,qi) поддерева для всех состояний $2 и переходов t системы S таких, что $1 工 $2, должно иметь переходы ⑶,%)二(阻吏).Во- вторых, каждая ветка поддерева должна содержать финальное состояние. Действительно, первое требование необходимо для выполнения условия всеобщности. Нарушение второго требования хотя бы для одной ветки означает наличие конечного или бесконечного исполнения системы S', не содержащего в себе финальных состояний, т. е. исполнение системы S не принимается конечным автоматом
Необходимо отметить, что так как все элементарные высказывания интерпретируются нижними конусами, если для состояния б。формула 夕 вида ЗЛу(рь ... ,рп) или \/Л/(рь ... ,рп) не выполнена, т. е. б。戸 夕,то эта формула будет также неверна и ДЛЯ ЛЮбоГО СОСТОЯНИЯ 6》6().
Предположение индукции. Рассмотрим конечный автомат //(夕 1,...,夕八)с алфавитом X = {夕 i,...,夕八} х Т, где 夕広— произвольные формулы логики AL/(Fpc). Предполагая, что для произвольного состояния 6 системы S и формулы 夕広 существует
алгоритм проверки s |=夕〃,и проводя построения и рассуждения, аналогичные указанным выше, получим алгоритм проверки формул в общем случае.□
Из теоремы 3.2.2 и утверждений 3.1.4 и 3.1.3 имеем
Следствие 3.2.2. Задача локальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и темпоральных логик CTLAf{Pnc\ LTLA^Pdc) и「LTLA^Pdc).
Пример. Для взаимодействующих раскрашивающих процессов имеем разрешимость формулы логики CTLA/(Fpc)
(33&/se •(方i) V 33&?se •(方2)) EU (° AU 夕 Л(以"厂
выражающей свойство, что существует исполнение, составленное из переходов ti и 12, и из каждого состояния которого критический для системы переход 方3 не может сработать, в некоторое состояние, из которого все исполнения ведут в состояние, где переход 方4 является активным, причём все состояния на протяжении этих исполнений удовлетворяют элементарному высказыванию (нижнему конусу) р. Нижний конус 夕 может, например, задавать предельный объём пакета данных (максимальное количество сообщений каждого цвета), который формируется до отправки в следующий процесс или внешнюю среду посредством перехода 方4.
Разрешима также формула логики LTLA/(Fpc)
0•(九)V 0•(方2)) и рЛ Qtjrue, утверждающая, что все исполнения системы состоят из переходов t\ и t2 и ведут в состояние, в котором переход 方4 активен. Состояния всех исполнений системы должны удовлетворять элементарному высказыванию р. Это свойство можно интерпретировать, например, как формирование с помощью переходов 方i и 方2 некоторого пакета данных, а затем его отправку посредством перехода 方4 в другой процесс или внешнюю среду. При формировании и отправке пакет данных не должен превышать предельно допустимый объём, заданный нижним конусом 夕= =《力(а) < ЗЛх(&) < 5Лх(с) < 7», где а, Ь, с — цвета сообщений в пакете данных, х — переменная, содержащая этот пакет данных.
Теорема 3.2.3. Задача локальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и автоматной логики АЬшс{Рис\
Доказательство. Проводится по аналогии с доказательством теоремы 3.2.2 структурной индукцией по вложению подформул в формуле 夕 автоматной логики ALg/Puc).
Базис индукции. Рассмотрим разрешимость данной задачи для произвольного состояния so системы переходов S и формул вида 14зс(р1,…,夕八)и УЛ^с^рь ... ,рп), где я е Рис・
Как и ранее (см. доказательство теоремы 3.2.2), построим вполне структурированную систему переходов с сильной совместимостью = <S\T\ — /,S$), представляющую собой произведение системы S = (S,T, т,бо) и замкнутого s-автомата Ашс = =(X, Q, qo, b, F), где X = Рис х Т, F = Q. Затем для системы Sf построим дерево покрытия с корнем в начальном состоянии s$ =(6。’ ^о) •
Состояние б。 системы переходов S удовлетворяет формуле 夕=m/зс(夕 1,...,夕八)тогда и только тогда, когда в дереве покрытия будет существовать лист, представляющий собой покрывающее состояние для некоторого предыдущего состояния на этой же ветке. Действительно, поскольку элементарные высказывания интерпретируются верхними конусами, наличие такого покрывающего состояния (листа) обеспечивает существование бесконечного пути, состоящего из финальных состояний. Все состояния этого пути будут покрывающими и, следовательно, будут удовлетворять тому же элементарному высказыванию, что и покрываемое состояние. Если же не все листья дерева покрытия являются покрывающими, т. е. существуют тупиковые состояния, которые не имеют потомков, это означает, что не существует бесконечных исполнений системы переходов S, удовлетворяющих формуле 夕.
Состояние б。 системы переходов S удовлетворяет формуле 夕=\Л4зс(夕 1,...,夕八)тогда и только тогда, когда в дереве покрытия с корнем в начальном состоянии системы Sf будет существовать поддерево с тем же корнем, удовлетворяющее следующим свойствам. Во-первых, каждое состояние поддерева & = ($i,qi) для всех состояний $2 и переходов t системы S таких, что $1 上 $2, должно иметь переходы ⑶,%)上(阻吏).Во-вторых,
каждая ветка поддерева должна заканчиваться покрывающим состоянием, т. е. не должно быть ни одного тупикового листа. Действительно, первое требование необходимо для выполнения условия всеобщности. Нарушение второго требования хотя бы для одной ветки означает наличие конечного исполнения системы S', т. е. некоторое бесконечное исполнение системы S в этом направлении (этой веткой) не принимается Л^с.
Необходимо отметить, что так как все элементарные высказывания интерпретируются верхними конусами, если для состояния б。формула 夕 вида ЗЛ^^ь ... ,рп) или \Л4зс(夕 1, • • • ,7М) выполнена, т. е. б。|=夕,то эта формула будет также верна и для любого состояния 6》So-
Предположение индукции. Рассмотрим замкнутый s-автомат /зс(夕 1,…•,夕八)с алфавитом S = {夕 i,...,夕八} х Г, где ⑴ — произвольные формулы логики А1зс(Дус). Предполагая, что для произвольного состояния s системы S и формулы 夕広 существует алгоритм проверки s |= ^, и проводя построения и рассуждения, аналогичные указанным выше, получим алгоритм проверки формул в общем случае. □
Непосредственно из теоремы 3.2.3 и утверждений 3.1.4 и 3.1.2 имеем
Следствие 3.2.3. Задача локальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и темпоральных логик CTLAg(Puc), LTLA3 (Рис) “「LTLA/Puc).
Пример. Для взаимодействующих раскрашивающих процессов разрешима формула логики LTLA^^^jq)
false 行0•(九)V"(方2)V0•(方3),
означающая, что все состояния любого исполнения системы удовлетворяют элементарному высказыванию 夕,причём исполнения системы состоят только из переходов ti,方2 или 方3. Это свойство при 夕=《力(b)》1» можно интерпретировать, например, таким образом, что на протяжении любого исполнения каждый пакет данных, хранящийся в переменной х, обязательно содержит сообщения цвета Ь.
Теорема 3.2.4. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и формул автоматной логики AL“Puc) вида 14/(0 1,...,0八)u \///(01,...,0八).
Доказательство. Рассмотрим произвольную вполне структурированную систему переходов S = (S, Т, т,бо) автоматного типа, а также конечный автомат // = ②,Q,q(),b,用 с алфавитом X = {pi^ - ^Рп} х Т, где pi е Рис・ Как и ранее (см. доказательство теоремы 3.2.2), построим вполне структурированную систему переходов S,=(夕,7,— \ Sq) с сильной совместимостью, представляющую собой произведение системы переходов S и конечного автомата //.
Построим множество состояний [99J5 системы переходов S, где формула 夕=14/(夕i,...,夕八).Рассмотрим множество SfF = ={(s,q) \ s E S, q E F} финальных состояний системы S'. Множество SfF представляет собой верхний конус. Для SfF построим множество состояний-предшественников
Pred(S£)= (J Predg)(S£),(“"ex
где Pred(0,“(S£)=期$/G Pre也(S£). Множество Pred(S£) также является верхним конусом. Построим последовательность S$, 閔,…,Sfk, где S$ = SfF, S|+i = S; U £, a S; представляет собой множество Pred(S;). Из утверждения 1.1.4 следует, что эта последовательность верхних конусов стабилизируется при некотором к. Выберем из множества Sfk только те состояния, в которых второй компонент является начальным состоянием конечного автомата //, и спроецируем полученное множество на множество состояний системы S. Получим верхний конус [99J5 состояний, которые удовлетворяют формуле 夕=三//(夕i,...,夕八).
Теперь построим множество состояний [99J5 для формулы 夕= =\///(01,...,0八).Раеемотрим множеетво
Pred(S£)= (J Qp^nPredt^)).
(“"ex
В данном множестве Pred(Sj) необходимо оставить только те состояния, которые удовлетворяют условию всеобщности. Удалим «плохие» состояния, для которых условие всеобщности не
выполнено. Рассмотрим элементы базиса mm(Pred(5p)). Пусть состояние sf = ($i,qi) G mm(Pred(5p)). Если из состояния si системы переходов S существует такой переход t в некоторое состояние $2, что не существует перехода (夕,方)е X из ^i в финальное состояние 该 конечного автомата //, то sf необходимо исключить из базиса mm(Pred(5p)). Чтобы получить искомое множество состояний S〃,достаточно исключить из базиса все такие плохие состояния, так как система S является вполне структурированной системой переходов автоматного типа, т. е. любое состояние 63》si имеет точно такие же переходы, что и состояние б]. Множество S〃 является верхним конусом. Аналогичным образом, как и выше, строится стабилизирующаяся при некотором к последовательность верхних конусов, состоящих только из «хороших» состояний, которые удовлетворяют условию всеобщности. Выбирая из множества S/ только те состояния, в которых второй компонент является начальным состоянием конечного автомата //, и проецируя полученное множество на множество состояний системы переходов S, получим верхний конус [99J5 состояний, которые удовлетворяют формуле 夕= =\///(01,...,0八). 口
Следствие 3.2.4. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов автоматного типа и логик「LTLA“Puc) “ LTLA“Puc)・
Пример. Для взаимодействующих раскрашивающих процессов разрешима следующая простая формула логики линейного времени LTLA/(Puc)
true U 夕,
утверждающая, что все исполнения рано или поздно попадают в состояние, удовлетворяющее элементарному высказыванию 夕, которое интерпретируется верхним конусом. При 夕=《力(b)》 》1» это свойство может соответствовать ситуации, когда любое исполнение системы достигает состояния, в котором переменная х содержит пакет с не менее чем одним сообщением цвета Ь.
Неразрешимые темпоральные свойства. Рассмотрим машину Минского с двумя счётчиками 2сМ. Построим для машины 2сМ её «слабую» модель 2cMw следующим образом. Добавим
оператор недетерминированного выбора []. И в 2сМ заменим каждое правило перехода
if Xj > 0 then commi else comm?
на правило
commi [] сошш2.
В выражении Xj := Xj — 1 оператор «—» заменим оператором вычитания до нуля《㊀》. Таким образом, мы получили недетерминированную счётчиковую машину 2cMw.
Рассмотрим 2cMw как систему помеченных переходов. Для каждого счётчика Xj все переходы (из состояний первого типа) с выражением Xj := Xj + 1 пометим как incj, переходы (из состояний второго типа) с выражением Xj := Xj О 1 — как decj, а переходы, не изменяющие значения счётчика Xj, обозначим nulj (j = 1, 2). Если переходы incj, decj, nulj переводят машину в финальное состояние, то обозначим (переименуем) их соответственно halt^, halt],九а»?. В соответствии с новыми правилами переходов определим отношение переходов на множестве конфигураций S хТ х S, где
Т = {inci, ШС2, deci, de。?,九加 1,九加2} U
U {halt^, halt^ , halt^, halt^, halt^, halt^}.
Зададим естественным образом отношение < частичного порядка на множестве конфигураций S машины 2cMw. Для двух конфигураций системы 2cMw имеем:
(q, 3,從)W (匕 cj, 4) <^=^ q = qf и Ci c-, 〃 = 1, 2.
Это отношение является правильным квазипорядком по лемме Диксона.
Система переходов (2cMw, <) является вполне структурированной системой переходов автоматного типа (см. теорему 2.4.1).
Теорема 3.2.5. Задача проверки модели неразрешима для класса вполне структурированных систем переходов автоматного типа и логик 0ALf(Puc, Pdc) “ mALg/Puc, Pdc)・
S1
Рис. 3.3. Конечный автомат // с алфавитом X = »i U Х2, где »1 = {(Pj,incj), (p^,decj\ {p^.nuljY j= 1, 2}, S2 = {(Pj,halt^), {p^, halt J), (pj, halt^j = 1, 2}
Доказательство. Предположим противное. Допустим, что существует алгоритм, позволяющий ответить на вопрос о разрешимости произвольных формул автоматных логик 0ALf(Puc, Pdc) и mALgc(Puc, Pdc) для произвольной системы автоматного типа.
Рассмотрим двухсчётчиковую машину Минского 2сМ с начальной конфигурацией (q(),0,0) и построенную на её основе недетерминированную систему переходов 2cMw.
Для доказательства этого утверждения достаточно построить конечный автомат // и автомат Бюхи Лшс такие, что выполнимость (или же невыполнимость) формул автоматных логик mA『(Puc,PDC)и 3ALuc(Puc,Pdc) для состояния s0, т. е. so |= 3Af(Puc,PDC)и б。|= 0Азс(Рис,Ррс), означала бы существование у системы 2cMw исполнения, равного соответственно конечному и бесконечному (или, наоборот, в случае, если формулы не выполняются) исполнениям машины Минского 2сМ.
Итак, построим конечный автомат // =②,Q,q(),b,用 над алфавитом X (рис. 3.3), где
S = {(pj,incjY {p^,decj), ®,nul), (乃,九а»:),(才,haltj), {pj,halt^\, /= 1,2},
Рис = {pt^2} u {夕1,夕2}, pt =《4〉0», pj =《4》0» 6=1,2),
Pdc = {0[,夕力,0丁 =《写 < 0»(7 = 1,2),
множество состояний Q = {qo,q/}, где ^о ——начальное состояние, a F = {q/}.
Рис. 3.4. Автомат Бюхи Ашс с алфавитом S = {(pj,incj), (р^, decj), (0,,八加力;7= 1, 2}
Функцию переходов определим следующим образом:
b(q(),(夕1,配3)) = {q0}, b(qo,(02,玩02))=彳qo), b(qo, gj,de°i)) = {q。}, b(qo,(T^,deo2)) = {团}, 6(40,(01,九加1)) = {qo}, b(qo,(02",九加2)) = {他},
5^0, {pi,halt^) = {”}, b(qo,(夕2,九山分))={"}, b(qo,讨,九〃”))={"}, b(qo,(夕^,九a^J) = {"}, b(qo,(夕[,九a»?)) = {"}, b(qo,(。2",乩謂))={"}•
По построению конечный автомат // допускает только те переходы системы 2cMw, которые соответствуют переходам машины Минского 2сМ, и формула 0А『(Рис, Pdc) будет истинной для 2cMw тогда и только тогда, когда машина Минского останавливается. Следовательно, если существует алгоритм проверки истинности данной формулы BAf^Puc, Pdc) для системы 2cMw, то существует алгоритм решения задачи останова машины Минского. Пришли к противоречию.
Построим автомат Бюхи Ашс = ②,Q,q(),b,用 над алфавитом S = {{pj,iriCj), {р^, decj\ (р:,пи1) j = 1,2} (рис. 3.4). Множество состояний Q = {q。}, F = {q。}. Функцию переходов определим следующим образом:
b(qo,(01,配3)) = {"}, 5^0, {p^decx)) = {q。}, b(qo,(夕[,九加i)) = {qo},b(qo,(01,配3)) = {"}, 5^0, {p^decx)) = {q。}, b(qo,(夕[,九加i)) = {qo},b(qo,(02,力02)) = {"}, b(qo,(夕^,血02)) = {m}, 6®C,nul》={qo}・b(qo,(02,力02)) = {"}, b(qo,(夕^,血02)) = {m}, 6®C,nul》={qo}・
b(qo,(01,配3)) = {"}, 5^0, {p^decx)) = {q。}, b(qo,(夕[,九加i)) = {qo},
b(qo,(01,配3)) = {"}, 5^0, {p^decx)) = {q。}, b(qo,(夕[,九加i)) = {qo},
b(qo,(02,力02)) = {"}, b(qo,(夕^,血02)) = {m}, 6®C,nul》={qo}・
b(qo,(02,力02)) = {"}, b(qo,(夕^,血02)) = {m}, 6®C,nul》={qo}・
Формула 0Азс(Рис, Pdc) будет истинной для 2cMw тогда и только тогда, когда машина Минского работает бесконечно долго. Следовательно, если существует алгоритм проверки истинности данной формулы для системы 2cMw, то вновь имеем алгоритм решения задачи останова машины Минского. □
Теорема 3.2.6. Задача проверки модели является неразрешимой для класса вполне структурированных систем переходов автоматного типа и темпоральных логик ветвящегося времени 0CTLAf(Puc, Pdc) “ 0СТLAg(Puc, Pdc) “ линейного времени ^LTLAf^Puc, Pdc) “「LTLAg(Puc, Pdc)・
Доказательство. Для доказательства этого утверждения достаточно построить такие формулы логик ветвящегося времени 3CTLAf (Рис, Pdc} и т61ЪАз(Рис,无с) и линейного времени 「LTLA/(Puc,乃?с) и -iLTLAMPuc,无с), которые будут соответствовать формулам автоматных логик mAL/(Puc, ^Ъс) и тА1зс(Дус, Ррс) из доказательства теоремы 3.2.5.
Формула 夕 логики mCTLA/(Qjc, Рос) имеет вид:
pi • (mci) Vp2 •(ШС2) Vp^ • (des) V夕^ • (dec?) ^P^ •(八加i) V夕•(八加2)EU
Pi A {halt^)true V 夕2 八{halt^true V p^ A {haltY)truey
V 夕^八{halt^^true V p]- A {halt^true V p^ A {halt^true,
где 才=《Xj > 0», pj =《Xj》0», pj =《Xj < 0» (j = 1, 2). Система 2cMw удовлетворяет этой формуле тогда и только тогда, когда машина Минского 2сМ останавливается.
Для логики ЕСТЬА^^Дус, Рве) имеем формулу:
false EU
pi • (mci) Vр2 •(ШС2) Vр^ • (deci) Vр^ • (dec?) Vpf • (mz/i) Vр^ •(八加2)・
Система 2cMw удовлетворяет этой формуле тогда и только тогда, когда машина Минского 2сМ работает бесконечно долго.
Для логики -iLTLA/(Qjc, Рос) формула имеет вид:
「(夕 1 • (mci) Vp2 •(ШС2) Vp^ • (des) V夕^ • (dec?) Vp[ • (nuZi) Vp^ • (mz/2) U
Pl Л Ohalt+ true V 夕2 八 Ohalt+true V 〃t A Ohalt: trUe V
V 崂 A Ohalt- true V pf ^Ohaltotrue\/p- Л Ohaltotrue).
Система 2cMw удовлетворяет этой формуле тогда и только тогда, когда машина Минского 2сМ не останавливается.
Для логики -iLTLAMQjc, Рос) имеем:
「(false U
Р1 • (mci) V夕2 •(ШС2) Vp^ • (deci) V夕^ • (dec?) Vpf • (nul\) Vp^ •(八加2))・ Машина Минского 2cM не работает бесконечно долго. □
Рассмотрим счётчиковую машину с обнулениями гсМ, у которой правило переходов для состояний 伉 второго типа имеет вид:
8i: if Xj > 0 then (叼:=Xj — 1; goto 象)[] 勺•:= 0; goto 象/, где [] — оператор недетерминированного выбора. Счётчиковая машина с обнулениями (RCM — reset counter machine) принадлежит к классу счётчиковых машин с потерями.
Напомним, что для счётчиковых машин с потерями задача существования исполнения 6 состояние, из которого существует бесконечное исполнение, является неразрешимой (см. следствие 2.2.1).
Построим для счётчиковой машины с обнулениями гсМ её «слабую» модель rcMw следующим образом. В машине гсМ во всех правилах второго типа переходов заменим выражение Xj := Xj — 1 на Xj := %/ ㊀ 1 и уберём условие if Xj > 0 then. Как и ранее, рассмотрим недетерминированную счётчиковую машину rcMw как вполне структурированную систему переходов автоматного типа. Для каждого счётчика Xj все переходы (из состояний первого типа) с выражением Xj := Xj + 1 пометим как incj, переходы (из состояний второго типа) с выражением Xj := =%з•㊀ 1 — как decj, а переходы с выражением Xj := 0 обозначим nulj (j = 1,..., m). В соответствии с новыми правилами переходов определим отношение переходов на множестве конфигураций
S х Т х S, где Г — множество, состоящее из меток переходов incj, decj, nulj (j = 1,..., m).
Теорема 3.2.7. Задача проверки модели неразрешима для класса вполне структурированных систем переходов автоматного типа и автоматной логики ЗАЬш(Рцс\
Доказательство. Рассмотрим m-счётчиковую машину с обнулениями гсМ с начальной конфигурацией (q(), 0,..., 0) и построенную на её основе недетерминированную систему rcMw.
Рис. 3.5. Автомат Бюхи /& с алфавитом S = {(true, incj\ (р+, decj), (true, nulj); j = 1,, m}
Для доказательства этого утверждения достаточно построить автомат Бюхи /^ такой, что выполнимость формулы автоматной логики ЗАш(Рис) для начального состояния б。,т. е. so |= ЗАш{РцсУ означала бы существование у системы rcMw исполнения, равного исполнению машины гсМ, существование которого проверить алгоритмически невозможно.
Итак, построим автомат Бюхи 人=(X, Q, ^о, ^ F) над алфавитом X = Рис х Г (рис. 3.5), где
Рис = {true,夕力,...,р+};才=《叼・ > 0» (j = 1,... ,m),
rJ-' — {zTZC], ♦ ♦ ♦ , ITIiC^yi, de。], ♦ ♦ ♦ , d^Cffi, nul、, ♦ ♦ ♦ , Tl/Ltl^ri},
множество состояний Q = {qo,q/}, где q() - начальное состояние, a F = {q/}.
Функция переходов определяется следующим образом (/ = =1,..., m):
b(qo,(勿“е, incj)) = Q,b(q『,(true,玩力))=F,
5(^0, {true, nulj)) = Q,b(q『,(true, nulj)) = F,
b(qo,(才,立马))=Q,b(q/,(才,deq) = F.
По построению автомат Бюхи 人 допускает только те переходы системы rcMw, которые соответствуют переходам машины гсМ. И следовательно, автомат Л^ допускает для машины гсМ существование исполнения в конфигурацию, из которой существует бесконечное исполнение. Задача существования такого исполнения для счётчиковых машин с потерями является алгоритмически неразрешимой [66] (см. следствие 2.2.1).□
Теорема 3.2.8. Задача проверки модели является неразрешимой для класса вполне структурированных систем переходов автоматного типа и темпоральных логик mCTLA(Puc) “ 「LTLA(PuQ・
Доказательство. Как и ранее, для доказательства этого утверждения достаточно построить такие формулы темпоральных логик mCTLA(^jc) и -|ЫЪА(Дус), которые будут соответствовать формуле автоматной логики ^KL^Pjjc) из доказательства теоремы 3.2.7.
Формула 夕 логики mCTLA(Qjc) имеет вид:
true • (mci) V ... V true • (mcm) V 夕j • (dej) V ... V p+ • (decm) V
V true •(八加1) V ... V true • (nulm) EU
(false EU true • (mci) V ... V true • (mcm) Vpj • (deci) V ... Vp^ • (dec^) VV true •(八加1) V ... V true • (nulm)),
где 才=《Xj > 0», j = 1,..., m.
Для логики -iLTLA(Qjc) формула имеет вид:
(true • (mci) V ... V true • (mcm) V 夕j • (dej) V ... V p+ • (decm) V
V true •(八加1) V ... V true • (nulm) U
(false U true• (irig) V ... V true • (mcm) V夕j • (deci) V ... Vp^ • (decm) VV true •(八加1) V ... V true •(八加加))),
где 才=《Xj > 0», j = 1,..., m.
Если система rcMw удовлетворяет этим эквивалентным формулам, тогда у машины гсМ существует исполнение в конфигурацию, из которой существует бесконечное исполнение. □
Системы переходов с сильной и транзитивной совместимостью.
Разрешимые темпоральные свойства. Теперь мы рассмотрим подмножества темпоральных логик, в рамках которых любая формула будет отображать разрешимое темпоральное свойство для классов вполне структурированных систем переходов с сильной и транзитивной совместимостью.
Теорема 3.2.9. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов с сильной совместимостью и формул ь-поОмножест8a модального fi-исчисления, находящихся 6 позитивной нормальной форме без модального оператора 用,при интерпретации элементарных высказываний как верхних конусов.
Доказательство почти полностью повторяет доказательство теоремы 3.2.1 с поправкой на случай вполне структурированных систем переходов с сильной совместимостью. Также доказательство этой теоремы может быть найдено в [60, 61]. □
Следствие 3.2.5. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов с сильной совместимостью и логики 0CTLAf(Puc)・
Пример. Для вполне структурированных систем переходов с сильной совместимостью мы имеем разрешимость формулы
true •(方 1) V true •(方2) V true •(方3) EU 夕,
выражающей существование у системы некоторого исполнения, составленного только из переходов ti,方2 или 方3, ведущего в верхний конус р. При глобальной проверке строится множество всех состояний, из которых такое исполнение возможно. Для обыкновенных сетей Петри или сетей Петри с обнуляющими дугами конус 夕 может означать наличие определённого количества ресурсов (фишек) в соответствующих местах сети, причём конус 夕 легко представляется своим базисом, который выражает минимальные требования к ресурсам мест, например, вектором (ci, С2,..., сп), где Ci = М(工i) минимальное количество фишек, которое должно содержать место Xi (1 < г < п).
Пусть S = ((S, Т, т, б。),W) — вполне структурированная система переходов с транзитивной совместимостью и эффективным транзитивным предбазисом, где S = Q х D. Рассмотрим специальное подмножество модального //-исчисления следующего вида:
d::=true I false |夕|Z|gV 夕|夕八夕|《方》夕|从Z.夕,
где р е Р, Z е V и
R《力2』se = {s I 3/ G M^e [s T 61 T 6『PI
6],…,s八》s〃,6〃 二 б〃[ У" < sf]}.
Так как множество R《力)夕]]se = TrPredtQ^J^e) представляет собой верхний конус, то наряду с предыдущей теоремой можно утверждать разрешимость задачи глобальной проверки модели для класса вполне структурированных систем переходов с транзитивной совместимостью и данного специального подмножества модального //-исчисления.
Таким образом, например, для FIFO-канальных систем с потерями имеем разрешимость формулы
从Z(《3)ZV《方2》ZV《方3》ZVp),
означающей существование пути, составленного из переходов ti, 方2 или 方з, между которыми возможны переходы потери (сообщений), в некоторый верхний конус р. Элементарное высказывание 夕 может задавать и некоторую критическую ситуацию, достижимость которой является отрицательным свойством для системы переходов. Обратимся к модели протокола АВР, рассмотренной в разделе 1.3.2 Напомним, что эта модель представляет собой FIFO-канальную систему с потерями. Пусть элементарное высказывание 夕=«w(cm)》01», что соответствует множеству глобальных состояний, в которых канал для сообщений см содержит подряд два сообщения: сначала 0, а затем 1. Очевидно, что 夕 интерпретируется верхним конусом. Если система находится в одном из таких глобальных состояний, значит, произошла недопустимая отправка передатчиком Sender сообщения с чередующимся битом 1 без подтверждения от Receiver о приёме сообщения с чередующимся битом 0. Таких ситуаций в рассматриваемой модели протокола АВР нет, поэтому для неё свойство, заданное следующей темпоральной формулой 夕,не выполняется:
夕=/zZ.(《Qvf!l V Ои!° V。厶!1 V c^lO V
ем?1 V еМ?0 V04?1 V0/?0 V Snd V Rcv^Z V 0),
где для краткости вместо подформулы 《方i》Z V ... V《±n》Z мы пишем ((ti V ... V “》Z.
Теорема 3.2.10. Задача локальной проверки модели разрешима для класса вполне структурированных систем переходов с сильной совместимостью и логики 3AL^c(Puc\
Доказательство. Проводится по аналогии с доказательством теоремы 3.2.3 структурной индукцией по вложению подформул в формуле 夕 автоматной логики ЭАЪшс{Рис\
Базис индукции. Рассмотрим разрешимость данной задачи для произвольного состояния so вполне структурированной системы переходов S с сильной совместимостью и формулы вида i43cg 1, • • • ,7М), где pi е Рис
Как и ранее (см. доказательство теоремы 3.2.2), построим вполне структурированную систему помеченных переходов Sf = =<S\T'「\ 5q) с сильной совместимостью, представляющую собой произведение системы переходов S = (S,T, т,бо) и замкнутого s-автомата Ашс =②,Q, 4о, b, F), где X = Рис хТ, F = =Q. Затем для системы S' построим дерево покрытия с корнем в начальном состоянии s$ = (s(),qo).
Состояние so системы переходов S удовлетворяет формуле 夕=m/зс(夕 1,...,夕八)тогда и только тогда, когда в дереве покрытия будет существовать лист, представляющий собой покрывающее состояние для некоторого предыдущего состояния на этой же ветке. Действительно, поскольку элементарные высказывания интерпретируются верхними конусами, наличие такого покрывающего состояния (листа) обеспечивает существование бесконечного пути, состоящего из финальных состояний. Все состояния этого пути будут покрывающими и, следовательно, будут удовлетворять тому же элементарному высказыванию, что и покрываемое состояние. Если же все листья дерева покрытия не являются покрывающими, т. е. все листья — тупиковые состояния, которые не имеют потомков, это означает, что не существует бесконечных исполнений системы S, удовлетворяющих 夕.
Так как все элементарные высказывания интерпретируются верхними конусами, если для состояния б。 формула 夕 вида m/зс(夕 1, • • • ,7М)выполнена, т. е. б。|=夕,то эта формула будет также верна и для любого состояния s > sq.
Предположение индукции. Рассмотрим некоторый автомат <зс(夕 1,…•,夕八)с алфавитом S = {夕 i,...,夕八} х Г, где ⑴ — произвольные формулы логики ЭАЪшс{Рис\ Предполагая, что
для произвольного состояния s системы S и формулы 屮i существует алгоритм проверки s =夕储 п проводя построения и рассуждения, аналогичные указанным выше, получим алгоритм проверки формул в общем случае.□
Следствие 3.2.6. Задача локальной проверки модели разрешима для класса вполне структурированных систем переходов с сильной совместимостью и темпоральных логик ЗСТЬА^Рис) и ^LTLA^PUC)
Пример. Для обыкновенных сетей Петри или сетей Петри с обнуляющими дугами разрешимо свойство
false EU {t^true .(方i) V {t^true .(方2) V {t4)true •(方3), выражающее существование бесконечного исполнения, построенного с помощью только лишь переходов ti,方2 или 方3, в любом состоянии которого переход 方4 является активным. Разрешимое свойство, утверждающее, что у системы переходов все исполнения отличные от указанного, можно задать в виде формулы логики линейного времени следующим образом:
-i(%/se U (t4)true •(方 1) V (t4)true •(方2) V (t4)true •(方3)).
Теорема 3.2.11. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов с сильной совместимостью и формул логики AL“Puc) вида 14/01,,0八).
Доказательство. Полностью повторяет первую часть доказательства теоремы 3.2.4.□
Следствие 3.2.7. Задача глобальной проверки модели разрешима для класса вполне структурированных систем переходов с сильной совместимостью и логики「LTLAf<Puc)・
Пример. Для сетей Петри с обнуляющими дугами возможно построение множества состояний, для которых будет истинной формула
「О〃е •(方1) V Ot2 0订 true • (土2) V Оз Ch* true •(方3) U 夕),
выражающая, что все исполнения должны быть отличными от исполнения, ведущего в верхний конус 夕 и составленного только из переходов ti,方2 или 方3, причём после переходов 方2 и 方з обязательно должен следовать переход ti. Если для некоторого состояния эта формула не выполняется, значит, из него существует указанное исполнение.
Для того чтобы приведённые выше теоремы были верны и в случае вполне структурированных систем переходов с транзитивной совместимостью, например, для систем с потерями, необходимо, чтобы формулы автоматной логики имели специальный вид, а именно: каждое состояние автомата формулы должно иметь петли, соответствующие переходам потери.
Неразрешимые темпоральные свойства. И, наконец, мы рассмотрим такие подмножества темпоральных логик, в рамках которых могут быть построены формулы, выражающие неразрешимые свойства (проблемы) для класса вполне структурированных систем переходов с сильной совместимостью (и, следовательно, для систем переходов с транзитивной совместимостью).
Теорема 3.2.12. Задача проверки модели неразрешима для класса вполне структурированных систем переходов с сильной совместимостью и логик mCTLAf(PDc), ^СТЬАш{Рпс\ ^LTLAf^Pnc) “「LTLAJPdc).
Доказательство. Рассмотрим двухсчётчиковую машину с обнулениями 2гсМ как вполне структурированную систему переходов с сильной совместимостью. Для каждого счётчика Xj все переходы из состояний первого типа с выражением Xj := Xj + 1 пометим как incj, переходы (из состояний второго типа) с выражением Xj := Xj — 1 — как decj, а переходы с выражением Xj := 0 обозначим nulj (/=1,2). Если переходы incj, decj, nulj переводят машину в финальное состояние, то переименуем их соответственно в halt^, halt;, halt^.
Для доказательства этого утверждения достаточно построить формулы соответствующих темпоральных логик, такие, что выполнимость каждой такой формулы означала бы существование у системы 2гсМ исполнения, равного исполнению счётчиковой
машины Минского 2сМ, существование которого проверить алгоритмически невозможно.
Для логики mCTLA/(Fpc) такая формула имеет вид:
夕].5加1) V02" .(八加2)V
V true •〃八5)V true •〃八3) V true • (dej) V true • (dec?) EU夕]A (halt^)true V p^ A (halt^true V
V {halt^)true V {halt^true V〈halt;)true V (halt^true, где элементарное высказывание pj =《勺・ W 0», / = 1, 2. Система 2гсМ удовлетворяет этой формуле тогда и только тогда, когда машина Минского 2сМ останавливается.
Для логики ECTLA^^Fpc) имеем следующую формулу:
false EU 0[•(八"八)Vp^ •(八"切 V
V true • (mci) V true •(分八色)V true • (deci) V true • (dec?), где pj =《4 W 0», / = 1, 2. Система 2rcM удовлетворяет этой формуле тогда и только тогда, когда машина Минского 2сМ работает бесконечно долго.
Для логики -iLTLA/(Ppc) формула имеет вид:
「(夕[.(八加1) V02" .(八加2)V
V true • (mci) V true • (mc2)V true • (deci) V true • (dec?) UРГ 八 Owt?^e VP^ Л Ohalt^rue V
V Ohait+ true V Ohalt+true V Qhalt- true V Qhalt- true),
где pj = «xj < 0», j = 1, 2 Система 2rcM удовлетворяет этой формуле тогда и только тогда, когда машина Минского 2сМ не останавливается.
Для логики -iLTLA^^Fpc) имеем:
(false U р^ • (null) Vр^ • {nul^) V
V true • (mci) V true •〃八C2) V true • (deci) V true • (dec?)),где pj = «xj W 0», / = 1, 2. Система 2rcM удовлетворяет этойформуле тогда и только тогда, когда машина Минского 2сМ неработает бесконечно долго.□
CTLA(PuaPoo)
CTLAу {Рис, Pdc)mCTLA(Pu。,О。。) CTLAs(Pu。,P。。)
CTLA/(P。。)BCTLAf(Puc,PDC} BCTLA(Puc} BCTLA^(Puc, PDC} CTLA^(Puc)
mCTLA(Pu。, Pdc)mCTLA(Pu。, Pdc)mCTLA/(Puo) mCTLAs(Puo) ЗСТЬАДРрс) 3CTLAw(Fnc)mCTLA/(Puo) mCTLAs(Puo) ЗСТЬАДРрс) 3CTLAw(Fnc)-^LTLA^Puc, Pdc)-^LTLA^Puc, Pdc)^LTLAy (F[/c) 「LTLAs(Puo)「LTLA/(P。。)^LTLACJ(Fpc)^LTLAy (F[/c) 「LTLAs(Puo)「LTLA/(P。。)^LTLACJ(Fpc)Рис. 3.7. Границы разрешимости логик CTLA и LTLA для класса вполне структурированных систем переходов с сильной совместимостьюРис. 3.7. Границы разрешимости логик CTLA и LTLA для класса вполне структурированных систем переходов с сильной совместимостью
mCTLA(Pu。, Pdc)
mCTLA(Pu。, Pdc)
mCTLA/(Puo) mCTLAs(Puo) ЗСТЬАДРрс) 3CTLAw(Fnc)
mCTLA/(Puo) mCTLAs(Puo) ЗСТЬАДРрс) 3CTLAw(Fnc)
-^LTLA^Puc, Pdc)
-^LTLA^Puc, Pdc)
^LTLAy (F[/c) 「LTLAs(Puo)「LTLA/(P。。)^LTLACJ(Fpc)
^LTLAy (F[/c) 「LTLAs(Puo)「LTLA/(P。。)^LTLACJ(Fpc)
Рис. 3.7. Границы разрешимости логик CTLA и LTLA для класса вполне структурированных систем переходов с сильной совместимостью
Рис. 3.7. Границы разрешимости логик CTLA и LTLA для класса вполне структурированных систем переходов с сильной совместимостью
CTLA/(Pu。)
LTLA/(Pu。)
Рис. 3.6. Границы разрешимости логик CTLA и LTLA для класса вполне структурированных систем переходов автоматного типа
Дерево разрешимости темпоральных логик. В этом разделе подводится итог главы. На рис. 3.6 и 3.7 наглядно представлены границы разрешимости для темпоральных логик LTLA и CTLA и классов вполне структурированных систем переходов с сильной совместимостью и вполне структурированных систем переходов автоматного типа.
Ачасова С. М., Бандман О. Л. Корректность параллельных вычислительных процессов. — Новосибирск: Наука, 1990. — 253 с.
Борщев А. В., Карпов Ю. Г., Рудаков В. В. О корректности параллельных алгоритмов 〃 Программирование. 1996. № 4. С. 5-17.
Карпов Ю. Г. Теория автоматов. — СПб.: Питер, 2003. — 208 с.
Карпов Ю. Г. Формальное описание и верификация протоколов на основе CSS 〃 Автоматика и вычислительная техника (Рига). 1986. № 6. С. 21-30.
Кларк Э. М, Грамберг О., Пелед Д. Верификация моделей программ: Model Checking. — М.: МЦНМО, 2002. — 416 с.
Котов В. Е. Сети Петри. — М.: Наука, 1984.
Кузьмин Е. В., Соколов В. А. Проверка модели для вполне структурированных систем переходов автоматного типа 〃 Материалы Международного рабочего совещания «Распределенные информационно-вычислительные ресурсы и математическое моделирование» (DICR'04). Новосибирск, 2004. С. 73-85.
Кузьмин Е. В., Соколов В. А. Взаимодействующие раскрашивающие процессы 〃 Моделирование и анализ информационных систем. 2004. Т. 11 (2). С. 8-17.
Кузьмин Е. В. О разрешимости задачи проверки модели для автоматной логики и вполне структурированных систем переходов автоматного типа 〃 Моделирование и анализ информационных систем. 2004. Т. 11 (1). С. 8-17.
Кузьмин Е. 5., Соколов В. А. Проверка свойств вполне структурированных моделей 〃 Материалы Всероссийской научной конференции, посвящённой 200-летию Ярославского госуниверситета им. П.Г. Демидова. Ярославль: Яр ГУ, 2003. С. 50-54.
Кузьмин Е. В. Недетерминированные счётчиковые машины 〃 Моделирование и анализ информационных систем. 2003. Т. 10 (2). С. 41-49.
Кузьмин Е. В. О разрешимости задачи проверки модели для модального //-исчисления и некоторых классов вполне структурированных систем переходов 〃 Моделирование и анализ информационных систем. 2003. Т. 10 (1). С. 50-55.
Ломазова И. А. Вложенные сети Петри: моделирование и анализ распределённых систем с объектной структурой. — М.: Научный мир, 2004. — 208 с.
Матиясевич Ю. В. Диофантовость перечислимых множеств 〃 ДАН СССР. 1970. Т. 191, № 2. С. 279-282.
Минский М. Вычисления и автоматы. — М.: Мир, 1971. — 268 с.
Непомнящий В. А. Практические методы верификации программ 〃 Кибернетика. 1984. № 2. С. 21-28, 43.
Питерсон Дж. Теория сетей Петри и моделирование систем.— М.: Мир, 1984. - 263 с.
Хоар Ч. Взаимодействующие последовательные прсщессн: Пер. с англ. — М.: Мир, 1989. — 264 с.
Хопкрофт Д., Мотвани Л, Ульман Д. Введение в теорию автоматов, языков и вычислений. 2-е изд.: Пер. с англ. — М.: Вильямс, 2002. - 528 с.
Abdulla Р.4, Cerans К., Jonsson 8, Yih-Kuen Т. General decidability theorems for infinite-state systems 〃 Proc. 11th IEEE Symp. Logic in Computer Science (LICS5%), 1996. P. 313-321.
Abdulla P. A., Cerans K., Jonsson B., Yih-Kuen T. Algorithmic analysis of programs with well quasi-ordered domains 〃 Information and Computation, 1997.
Abdulla P., Bouajjani A., Jonsson B. On-the-fly Analysis of Systems with Unbounded, Lossy Fifo Channels 〃 Proc. 10th Intern. Conf, on Computer Aided Verification (CAV'98). LNCS 1427, 1998.
Abdulla P., Jonsson B. Verifying Programs with Unreliable Channels 〃 Proc. Logic in Comp. Science (LICS'93), 1993. P. 160-170.
Abdulla P., Jonsson B. Undecidable verification problems for programs with unreliable channels 〃 Information and Computation, 130(1), 1996. P. 71-90.
Alur A., Kannan S., Yannakakis M. Communicating hierarchical automata 〃 ICALP'99, Springer LNCS 1644, 1999. P. 169-178.
Alur A., Courcoubetis C, Dill D. Model-checking for real-time systems 〃 Proc. 5th IEEE Int. Symp. on Logic in Computer Science, Philadelphia, 1990. P. 414-425.
Araki T., Kasami T. Some decision problems related to the reachability problem for Petri nets 〃 Theoretical Computer Science, 3(1), 1977. P. 85-104.
Bouajjani A., Habermehl P. Symbolic reachability analysis of FIFO- channel systems with nonregular sets of configurations 〃 Proc, of ICALP'97, LNCS 1256, 1997.
Bouajjani A., Mayr R. Model Checking Lossy Vector Addition Systems 〃 Proc. 16th Intern. Symp. on Theoretical Aspects in Computer Science (STACS'99), LNCS 1563, Trier (Germany), 1999.
Biichi 工 R. On a decision method in restricted second order arithmetic 〃 Proc. Int. Congr. Logic, Method and Philos. Sci. 1960, Stanford, 1962. P. 1-12.
Burkart 0., Caucal D, Moller F., Steffen B. Verification over Infinite States. Chapter in the Handbook of Process Algebra, Elsevier Publishers, 2001. P. 545-623.
Burkart 0., Esparza 工 More infinite results 〃 Electronic Notes in Theoretical Computer Science, 6, 1996.
Bartlett K., Scantlebury A., Wilkinson P. A note on reliable fullduplex transmissions over half duplex lines 〃 Communications of the ACM, 2 (5), 1983. P. 323-342.
Cece G., Finkel A., Purushothaman Iyer S. Unreliable channel are easier to verify than perfect channels 〃 Information and Computation, 124 (1), 1995. P. 20-31.
Clarke E., Grumberg 0., Peled D. Model Checking. — The MIT Press, 2001.
Clarke E. M., Emerson E. A. Design and synthesis of synchronization skeletons using branching time temporal logic 〃 LNCS 131, 1981. P. 52-71.
Christensen S., Hirshfeld Y., Moller F. Bisimulation equivalence is decidable for basic parallel processes 〃 Proc. CONCUR'93, LNCS 715, P. 143-157.
Dam M. Fixpoints of Biichi automata 〃 International Conference on the Foundations of Software Technology and Theoretical Computer Science (FST&TCS), LNCS, vol. 652, 1992. P. 39-50.
Daniele M, Giunchiglia F., Vardi M. У. Improved automata generation for linear temporal logic 〃 Computer-Aided Verification, Proc. 11th Int. Conference, v. 1633, 1999. P. 249-260.
Dickson L. E. Finiteness of the odd perfect and primitive abundant numbers with 广 distinct prime factors 〃 Amer. Journal Math, 35, 1913. P. 413-422.
Dufourd C., Jancar Q, Schnoebelen Ph. Boundedness of Reset P/T nets 〃 Proc. ICALP99, LNCS 1644, Springer, 1999. P. 301-310.
Dufourd C., Finkel A., Schnoebelen Ph. Reset nets between decidability and undecidability 〃 Proc. ICALP'98, LNCS 1443, Springer, 1998. P. 103-115.
Emerson E. A. Temporal and modal logic 〃 Handbook of Theoretical Computer Science, v. B, 1990. P. 995-1072.
Esparza,On the decidabilty of model checking for several 〃-calculi and Petri nets 〃 Proc. CAAP,94, LNCS 787, 1994. P. 115-129.
Esparza /. Decidability of model-checking for infinite-state concurrent systems 〃 Acta Informatica, 34, 1997. P. 85-107.
Esparza /., Kiehn A. On the model checking problem for branching time logics and basic parallel processes 〃 Proc. Of CAV'95, LNCS 939, Springer-Verlag, 1995. P. 353-366.
Finkel A. Reduction and covering of infinite reachability trees 〃 Information and Computation, 89(2), 1990. P. 144-179.
Finkel A., Schnoebelen Ph. Well-structured transition systems everywhere! 〃 Theoretical Computer Science, 256(1-2), 2001. P. 63-92.
Finkel A., Schnoebelen Ph. Fundamental structures in well- structured infinite transition systems 〃 Proc. 3rd Latin American Theoretical Informatics Symposium (LATIN'98), Campinas, Brazil, Apr. 1998, LNCS 1380, Springer, 1998. P. 102-118.
Gerth A., Peled D., Vardi M. Y., Wolper P. Simple on-the-fly automatic verification of linear temporal logic 〃 Proc, of the 15th Workshop on Protocol Specification, Testing, and Verification, 1995.
Hack M. Decision problems for Petri nets and vector addition systems. — Project MAC Memo 59. Cambridge, 1975.
Hack M. The equality problem for vector addition systems is undecidable 〃 Theoretical Computer Science, 2, №1, 1976. P.77-96.
Hennessy M. Algebraic Theory of Processes. — MIT Press, 1988.
Hennessy M., Milner R. On observing nondeterminism and concurrency 〃 Lecture Notes in Computer Science, 85 (1980). P. 295-309.
Hennessy M, Milner R. Algebraic laws for nondeterminism and concurrency 〃 Journal of Association of Computer Machinery, 32, 1985. P. 137-162.
Higman G. Ordering by divisibility in Abstract Algebra 〃 Proc. London Math. Soc., 3(2), 1952. P. 326-336.
Hoare C. A. R. Communicating sequential processes. — PrenticeHall, 1985.
Hopcroft /. E., Ullman J. D. Introduction to Automata Theory, Languages and Computation. — Addison Wesley, 1979.
ISO. Data communications — HDLC procedures — elements of procedures. Technical Report ISO 4335, International Standards Organization, Geneva, Switzerland, 1979.
Kouzmin £ V., Shilov N. V., Sokolov V. A. Model Checking 〃-Calculus in Well-Structured Transition Systems 〃 Proc. 11th Int. Symposium on Temporal Representation and Reasoning, Tatihou, France, IEEE Press, 2004. P. 152-155.
Kouzmin Е. V., Shilov N. V., Sokolov V.A. Model Checking 什Calculus in Well-Structured Transition Systems 〃 Joint Bulletin of NCC & IIS, Comp. Science, Novosibirsk, n. 20, 2004. P. 49-59.
Kouzmin E. V., Sokolov V. A. Communicating Colouring Automata 〃 Proc. Int. Workshop on Program Understanding (sat. of PSF03), 2003. P. 40-46.
Kouchnarenko O., Schnoebelen Ph. A model for recursive-parallel programs 〃 Proc. 1st Int. Workshop on Verification of Infinite State Systems (INFINITY'96), Pisa, Italy, Aug. 1996, vol. 5 of Electronic Notes in Theor. Comp. Sci. Elsevier, 1997.
Kozen D. Results on the propositional 〃-calculus 〃 Theoretical Computer Science, 27, 1983. P. 242-272.
Larsen K. Proof systems for satisfiability in Hennesy-Milner logic with recursion 〃 Theoretical Computer Sci., 72, 1990. P. 265-288.
Mayr R. Lossy counter machines. — Tech. Report TUM-I9827, Institut fiir Informatik, TUM, Munich, Germany, October 1998.
Mayr R. Decidability and complexity of model checking problems for infinite-state systems: PhD dissertation. — Technischen Universitat Miinchen, 1998.
Milner R. A Calculus of Communicating Systems 〃 LNCS 92, Springer-Verlag, 1980.
Milner R. Communication and Concurrency. — Prentice Hall, 1989.
Minsky M. Computation: Finite and Infinite Machines. — Prentice Hall, 1967.
Moller F. Infinite results 〃 Proc. CONCUR'96, LNCS 1119, 1996. P. 195-216.
Moller F., Birtwistle G. Logic for Concurrency 〃 LNCS 1043, 1996.
Peterson 工 L. Petri Net Theory and the Modeling of Systems.— Prentice-Hall Int., 1981.
Pnueli A. The temporal logic of programs 〃 FOCS77, IEEE, 1977.
Pratt V. A decidable 〃-calculus 〃 Proceedings of 22nd FOCS (1981). P. 421-427.
Shilov N. V., Yi K. Puzzles for Learning Model Checking, Model Checking for Programming Puzzles, Puzzles for Testing Model Checkers 〃 Electr. Notes Theor. Comput. Sci. 43, 2001.
Shilov N. V., Yi K. On Expressive and Model Checking Power of Propositional Program Logics 〃 Ershov Memorial Conference, 2001. P. 39-46.
Shilov N. I/., Yi K. How to find a coin: propositional program logics made easy 〃 Bulletin of the European Association for Theoretical Computer Science, v.75, 2001. P. 127-151.
Shilov N. V. Program Schemata vs. Automata for Decidability of Program Logics 〃 Theor. Comput. Sci. 175(1), 1997. P. 15-27.
Somenzi F., Bloem R. Efficient Biichi automata from LTL formulae 〃 Computer-Aided Verification, Proc. 12th Intern. Conference, v. 1633, 2000. P. 247-263.
Steffen B. Characteristic formulae 〃 Proc. ICALP (1989).
Stirling С. P. Temporal logics for CCS. 〃 Proc, of REX Workshop, 1988.
Stirling С. P. Modal and temporal logics 〃 Handbook of Logic in Computer Science, v. 2, Oxford University Press, 1992. P. 477-563.
Stirling С. P. Modal and temporal logics for processes 〃 LNCS 1043, 1996, P. 149-237.
Stirling C., Walker D. Local model checking in the modal 〃-cal- culus 〃 Theoretical Computer Science, 89 (1991), P. 161-177.
Vardi M. У. An automata-theoretic approach to linear temporal logic 〃 Logics for Concurrency, LNCS 1043, 1996. P. 238-266.
Vardi M. Y., Wolper P. Reasoning about infinite computations 〃 Information and Computation, 115(1), 1994. P. 1-37.
Vardi M. Y., Wolper P. An automata-theoretic approach to automatic program verification 〃 Proc, of the First Symposium on Logic in Computer Science, 1986. P. 322-331.
Wolper P. Temporal logic can be more expressive 〃 Information and Control, 56, 1983.
Wolper P., Vardi M. У., Sistla A. P. Reasoning about infinite computation paths 〃 Proc. 24th IEEE Symposium on Foundations of Computer Science, 1983. P. 185-194.
Предметный указатель
Автомат
—Бюхи 123
обобщённый 128
—конечный 123
Взаимодействующие процессы, независимые от данных 63 Взаимодействующие раскрашивающие процессы 67 Вполне структурированная система помеченных переходов 27
—автоматного типа 43
—с сильной рефлексивной совместимостью 43
—с сильной совместимостью по возрастанию 27 по убыванию 40
—с транзитивной совместимостью
по возрастанию 28
по убыванию 40
со строгой сильной совместимостью 37
со строгой транзитивной совместимостью 38
Граф диофантова полинома 92
Дерево
—достижимости 27
разрешимости логик 162 Диаграмма переходов 26
Задача
— проверки модели 113 Замкнутый s-автомат 123
Идеал 21
Исполнение 26
Квазипорядок 18
—правильный 19
Конус
—верхний 21
—нижний 21
Логика
—автоматная 122
—линейного времени слабая 125
—Хеннеси-Милнера 116
-CTL 117
-CTLA 119
-LTL 125
-LTLA 126
Логики
—ветвящегося времени 116
—линейного времени 124
Лемма
—Диксона 23
—Хигмана 24
Метод
—насыщения 29
—проверки модели 113
Модальное //-исчисление 120
Мультимножество 17
Отношение
-22
—вложения « 23
—обнуления т『2 82
—потери 81
>s 81
классическое ―“ 82
ограниченной 一*力)82
субклассическое у 82
Отображение
-Pred 26, 29
—Succ 26
Покрывающее дерево системы переходов 34
Последовательное исполнение 26
Предбазис
—эффективный 30
Предпорядок 18
Проблема
— включения 91, 110
—Гильберта (десятая) 91
—достижимости 28, 78, 100 нулевой конфигурации 111
управляющего состояния 32
—неизбежности 36
—ограниченности 39, 76, 83, 106
—рекуррентного состояния 84
—тотальной
ограниченности 77, 109
— эквивалентности 91, 110
—останова 37
—поддержки управляющего состояния 36
—покрытия 29
—субпокрытия 42
Проверка модели
—глобальная 116
— локальная 116
Протокол АВР 54
Сети Петри 46
—с обнуляющими дугами 50
Система
—переходов, независимых от данных 60
—помеченных переходов 26
—с ненадёжными каналами 51
Слабое вычисление 94
Сравнение логик 127 Счётчиковая машина
—Минского 76
—недетерминированная 102, 103
слабо вычисляющая полином 110
—с обнулениями 82
—с обнулениями и ошибками проверки нуля 90
—с потерями 80, 81
—с ошибками 90
слабо вычисляющая полином 95
—сложения 95, 110
—умножения 94, 109
Темпоральные свойства
—систем переходов 138
разрешимые 138, 155
неразрешимые 148, 160
Уравнение диофантово 92
Формул
—замыкание 129
FIFO-канальная система 52
—с ошибочными вставками 59
—с потерями 53
E. V. KUZMIN
V. A. SOKOLOV
WELL-STRUCTURED LABELED TRANSITION SYSTEMS
PHYSICS AND MATHEMATICS PUBLISHERS
International Academic Publishing Company “Nauka”Russian Academy of Sciences
Moscow, 2005, 176 pages
In the book we consider a class of well-structured labeled transition systems, representing a formalism for modeling and analysis of correctness of parallel and distributed systems, such as computers and complexes with a parallel and distributed architecture, parallel programs, data transmission protocols, models of technological and business processes. Special attention is paid to the solvability of the classical problems of boundedness, reachability, covering, inevitability, equivalence, control state maintainability, halt problem, and other important semantic and temporal properties.
The book is designed for scientists, professors and students, who are interested in formal methods of modeling, analysis and verification of parallel and distributed systems.
Е. В. Кузьмин
В. А. Соколов
ВПОЛНЕ СТРУКТУРИРОВАННЫЕСИСТЕМЫПОМЕЧЕННЫХ ПЕРЕХОДОВ
МОСКВАФИЗМАТЛИТ2005
УДК 519.68/.69
ББК В18
К89
Кузьмин Е. В., Соколов В. А. Вполне структурированные системы помеченных переходов. — М.: ФИЗМАТЛИТ, 2005.— 176 с. - ISBN 5-9221-0598-1
В монографии рассматривается класс вполне структурированных систем помеченных переходов, представляющих собой формализм для моделирования и анализа корректности параллельных и распределённых систем, таких как вычислительные машины и комплексы с параллельной и распределенной архитектурой, параллельные программы, протоколы передачи данных, модели технологических и бизнес-процессов, при этом основное внимание уделяется разрешимости классических проблем ограниченности, достижимости, покрытия, неизбежности, поддержки управляющего состояния, останова, эквивалентности и других важных семантических и темпоральных свойств.
Книга предназначена для научных работников, преподавателей, аспирантов и студентов, интересующихся формальными методами моделирования, анализа и верификации параллельных и распределенных систем.
Рис. 23. Библиогр.: 90 назв.
Рецензента:
доктор технических наук, профессор, главный научный сотрудникИнститута вычислительной математикии математической геофизики СО РАН
О. Л. Бандман;
лаборатория теоретического программированияИнститута систем информатики им. А. П. Ершова СО РАН
Работа выполнена при поддержкеРоссийского фонда фундаментальных исследований(проект 03-01-00804).
© ФИЗМАТЛИТ, 2005
© Е. В. Кузьмин, 2005
ISBN 5-9221-0598-1ISBN 5-9221-0598-1© В. А. Соколов, 2005
ISBN 5-9221-0598-1
ISBN 5-9221-0598-1