Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Вопросы эквивалентности схем параллельных программ
Аннотация:Рассматриваются вопросы эквивалентности схем параллельных программ. Предложен метод сравнения систем рекурсивных уравнений на эквивалентность, позволяющий анализировать различные свойства программ.
Abstract:In this article discusses the equivalence of schemes of parallel programs. This allows you to analyze the program for various properties: detect deadlocks and locks in distributed program, loops, verify accessibility, to prove the equivalence (may, must, observational) of programs and branches.
| Авторы: Кораблин Ю.П. (y.p.k@mail.ru) - Российский государственный социальный университет, г. Москва (профессор), Москва, Россия, доктор технических наук, Кучугуров И.В. (tws13@mail.ru) - Российский государственный социальный университет, г. Москва, Косакян М.Л. (xbix@list.ru) - Российский государственный социальный университет, г. Москва, Москва, Россия, Аспирант | |
| Ключевые слова: разрешимость систем рекурсивных уравнений, эквивалентность, эквациональная характеризация, процессная семантика, верификация |
|
| Keywords: solvability of system of recursive equations, equivalence, equational characterization, process semantics, verification |
|
| Количество просмотров: 18721 |
Версия для печати Выпуск в формате PDF (5.83Мб) Скачать обложку в формате PDF (1.28Мб) |
Вопросы эквивалентности схем параллельных программ
Статья опубликована в выпуске журнала № 4 за 2011 год. [ на стр. 66 – 72 ]
При создании качественных программ важную роль играет этап верификации, в процессе которого возникает потребность анализа отдельных частей программы на наличие тупиков, блокировок, зацикливаний и т.д. Также возникает необходимость проверки программ на различные виды эквивалентности. При этом программе сопоставляется множество вычислительных последовательностей (путей). В [1] было показано, что множество вычислительных последовательностей (ВП)
где Определим метод сравнения систем рекурсивных уравнений вида Элементы множеств Заметим, что при внешнем сходстве этого преобразования с использованием аксиомы дистрибутивности Определим операции над множествами выражений и аксиоматизируем свойства операций над этими множествами. Пусть (S1) (S2) (S3)
Используя теперь в дополнение к ранее приведенным аксиомам формальной системы аксиомы построим алгоритм сравнения двух систем рекурсивных уравнений следующим образом. Пусть даны две системы рекурсивных уравнений для выражений
Применяя аксиомы S1 и S2 в сочетании со свойствами ассоциативности и коммутативности операции
где все Возможны следующие ситуации: а) б) в) Представленную выше процедуру выписывания уравнений продолжаем для получаемых пар 1. Построены две системы рекурсивных уравнений, эквивалентные с точностью до обозначений (на каждом шаге построения систем имела место только ситуация а)). В этом случае множество вычислительных последовательностей, задаваемых выражениями 2. Построены две системы рекурсивных уравнений, в процессе построения которых имели место лишь ситуации а) и б). В этом случае множество вычислительных последовательностей, определяемых выражением 3. При построении систем рекурсивных уравнений имела место ситуация в) либо ситуация б) применялась как в прямом, так и в инверсном виде, то есть, если при первоначальном появлении ситуации б) имеет место гипотеза о том, что множество ВП, определяемых выражением Продемонстрируем применение предложенного метода на следующем примере. Пример 1. Пусть
Выясним, эквивалентны ли значения
Полученные системы уравнений совпадают с точностью до обозначения переменных, а следовательно, значения Разрешимость систем рекурсивных уравнений Докажем, что множество ВП, характеризуемое системой уравнений Введем оператор
Оператор Обозначим через
то есть каждому множеству ВП
где
Запись Поскольку решение системы рекурсивных уравнений ассоциируется с Пример 2. Пусть дана система уравнений:
Тогда
Зададим несколько первых аппроксимаций решения этой системы:
где H Данное решение в точности совпадает с полученным ранее результатом. Для доказательства корректности задания априорной семантики необходимо показать, что решение системы рекурсивных уравнений Область для поиска решения систем рекурсивных уравнений вида (*) есть Для Прежде чем определить метрику на области S, приведем ряд определений и известных результатов из области метрических пространств. Определение 1. Метрика d на множестве
Определение 2. Последовательность Определение 3. Последовательность Определение 4. Метрическое пространство Лемма 1. Метрическое пространство Определение 5 (Хаусдорфова мера). Пусть а) Метрика между б) Метрика между Теорема 1. Если Следствием этой теоремы является полнота метрического пространства ( Определим метрику на искомой области Определение 6. Пусть Лемма 2. Пространство Доказательство. Выберем Поскольку Последовательности Далее возьмем Лемма 3. Отображение Y метрического пространства Доказательство. Пусть Если Если Приписывание в конец последовательности элемента В соответствии с определением Очевидно, что для уменьшения значения функции меры Отсюда, в силу свойства оператора Доказанная лемма позволяет использовать следующее свойство отображений полных метрических пространств. Теорема 2 (теорема Банаха). Пусть 1) 2) Из этой теоремы с учетом вышеизложенного непосредственно следует искомый результат. Теорема 3. Оператор Таким образом, определенная выше семантика языка распределенного программирования является корректной. Эквивалентность схем распределенных программ в случае отсутствия побочного эффекта В [3] были рассмотрены методы доказательства эквивалентности схем программ. В частности, с использованием методов денотационной семантики доказана справедливость следующего утверждения: Оно может быть записано в базисном языке распределенного программирования следующим образом: Используя алгебраические методы данной главы, докажем справедливость утверждения
Обозначим
Представим теперь
Нетрудно заметить, что множество При первоначальном вычислении выражения Очевидно, что наличие побочного эффекта является нежелательной ситуацией. Поэтому целесообразно построение формализма, позволяющего осуществлять анализ программ, не допускающих побочного эффекта. Для этой цели следует переопределить ряд понятий, введенных ранее, и добавить аксиомы, характеризующие их свойства. Вначале расширим множество тестов Запись «…» означает все введенные ранее тесты. Новое множество тестов характеризуется следующим блоком аксиом: (G1) (G2) (G3) F (G4) (G5) (G6) (G7) (G8) Отметим, что данная система аксиом позволяет эффективно работать лишь с семантическими значениями распределенных программ, не содержащих операций взаимодействия в качестве защит альтернативных команд. Наличие же таких операций в защитах альтернативных команд требует более тонкого анализа, в частности, учета среды вычисления булевского выражения после выполнения обмена, ибо выполнение команды ввода может изменить значения переменных соответствующего процесса, тогда как выполнение команды вывода не приводит к изменению этих значений в процессе, в котором осуществляется передача данных. Далее модифицируем значение Расширение множества тестов ведет к необходимости модифицировать ранее определенные понятия префикса и суффикса. Определение 7. Частичные функции
Отметим, что, когда Докажем ранее приведенное утверждение
Полученные системы уравнений совпадают с точностью до обозначения переменных, откуда вытекает эквивалентность выражений Программная реализация Авторами была создана программа, которая позволяет определить эквивалентность систем рекурсивных уравнений. Для такой оценки необходимо ввести в соответствующие поля программы две системы рекурсивных уравнений для сравнения. Программа выполнит преобразования систем и ответит на вопрос эквивалентности. Таким образом, предложенный в работе метод сравнения семантических значений схем программ, представленных системами рекурсивных уравнений, позволяет исследовать схемы программ на эквивалентность (неэквивалентность), а также вложенность схем программ. Разработанная программа сравнения систем рекурсивных уравнений дает возможность существенно упростить и автоматизировать процесс анализа семантических значений распределенных программ. Теория, изложенная авторами в [1] и в данной работе, позволяет создать программный комплекс по верификации распределенных программ, который сэкономит временные и трудозатраты при создании качественного ПО. Литература 1. Кораблин Ю.П. Семантика языков распределенного программирования. М.: Изд-во МЭИ, 1996. 102 с. 2. Korablin Yu.P. Deciding equivalence of functional schemes for parallel programs // Mathematical Centre, Department of Computer Science, Reseach Report IW 200/82, Amsterdam, 1982. 3. Кораблин Ю.П. Семантика языков программирования. М.: Изд-во МЭИ, 1992. 102 с.p |
| Постоянный адрес статьи: http://www.swsys.ru/index.php?page=article&id=2915 |
Версия для печати Выпуск в формате PDF (5.83Мб) Скачать обложку в формате PDF (1.28Мб) |
| Статья опубликована в выпуске журнала № 4 за 2011 год. [ на стр. 66 – 72 ] |
Статья опубликована в выпуске журнала № 4 за 2011 год. [ на стр. 66 – 72 ]
Возможно, Вас заинтересуют следующие статьи схожих тематик:Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Процессная семантика языков распределенного программирования
- Разработка инструментов верификации драйверов на основе семантических моделей
- Компьютерное моделирование для интеллектуальной оценки динамического взаимодействия твердых тел
- Метод ограничений верифицируемых моделей
- Синтезирование программ на основе описания графоаналитической модели
Назад, к списку статей


эквационально характеризуемо, если имеется конечное множество
, таких, что
и для любого 
, 
,
, где
и
, что
, и
, что
.
, что позволит получить формальный метод для сравнения схем программ в языке
. Очевидно, что наличие одинаковых префиксов в рекурсивных уравнениях приводит к необходимости сравнения не пар выражений
, как это имело место в [2], а пар множеств выражений, имеющих одинаковые префиксы. Пусть даны две системы рекурсивных уравне- ний вида
;
, которые исследуются на эквивалентность. В этих системах заданы рекурсивные уравнения для выражений
и
соответственно. Обозначим через
множество выражений
, через
, через
и
– множества всех подмножеств
соответственно.
и
будем обозначать
и
соответственно. Для одноэлементных множеств
, используем также обозначение
. Очевидно, что в силу конечности множеств
и
, имеющих одинаковые префиксы, то потребуется дополнительно ввести операции над этими множествами. В частности, преобразуем выражения вида
к виду
, где
.
результаты этих преобразований различны. Так, например, если
, то
будет преобразовано к виду
, тогда как применение аксиомы дистрибутивности дало бы результат
, что, очевидно, не одно и то же.
являются элементами множеств
и
. Тогда аксиомы
задают свойства операций
и
для множеств выражений
,
,
.
,
,
,
и
соответственно, и пусть
и
,
.
к виду
,
,
попарно различны, а
и
.
и
, такое, что
, и наоборот, а также
, такое, что
, и наоборот. В этом случае продолжаем процесс выписывания уравнений для всех пар
и
;
и
(либо
), такое, что
(либо
). В этом случае продолжаем процесс выписывания уравнений для всех пар
и
одновременно, либо
, такое, что
и
, несравнимы.
до достижения одного из результатов.
и
, эквивалентны, а следовательно, схемы программ
. Этот случай свидетельствует о том, что схемы программ
и
– семантические значения, задаваемые системами уравнений
, где
, и
, где 



























































.
задает пошаговое применение одновременной подстановки аппроксимаций множеств ВП
, получаемых на предыдущем шаге, в оператор
вместо аргументов 
пустое множество ВП либо кортеж из n пустых множеств ВП. Тогда имеем
, то есть значению
соответствует кортеж
:
,
+
+
,
и
;
+
+
.
означает взятие l-й проекции n, получаемой в результате i применений оператора
.
, то очевидно, что последовательность
ассоциируется с последовательностью аппроксимаций, сопоставляемых исходной программе в языке L.
,
,
,
,
,
,
.
.
;
+

;
+
– фиксированная точка;
+
+
,
.
, такую, что
.
, то есть S является декартовым произведением областей
, где
– подмножество множества
, содержащее конечные и бесконечные ВП вида
, либо
, либо
,
и
.
обозначим через
префикс, состоящий из первых n элементов
, если длина
введем отношение частичного порядка следующим образом:
, если
является префиксом
.
точек метрического пространства называется фундаментальной, если она удовлетворяет критерию Коши, то есть если
.
.
называется полным, если в нем сходится любая фундаментальная последовательность.
, где
задается в определении 1, является полным.
– метрическое пространство.
и
определяется следующим образом:
.
определяется как
.
также является полным. Кроме того, любая фундаментальная последовательность
в
имеет предел:
.
, где
.
. Тогда
где
– проекции
на l-й компонент множества
является полным метрическим пространством, то есть каждая фундаментальная последовательность
в
где
и 
. Определим такое
, что
для всех
.
, такое, что "i, j>
Докажем, что для выбранного таким образом 
для
являются фундаментальными, в противном случае в силу определения меры
последовательность
также не являлась бы фундаментальной последовательностью, что противоречит условию. Для каждой фундаментальной последовательности
, существует предел
в пространстве
, а следовательно,
, такое, что

Отсюда, принимая во внимание определение
, что и требовалось доказать.
в себя является сжимающим отображением.
и
– аппроксимации множеств ВП, получаемые в результате применения оператора Y к кортежу пустых множеств
некоторое количество раз. Определим
и
для некоторых
и
Требуется показать, что
.
, то это неравенство справедливо, так как в этом случае
и, следовательно,
.
, то возьмем для определенности
. Применение оператора
не уменьшает длину каждой ВП
, где
, так как к каждой незавершенной последовательности, принадлежащей
будет приписан либо элемент
, либо элемент
, либо элемент из
.
означает завершение соответствующей последовательности зацикливанием. В силу аксиомы А8 (
) приписывание новых элементов в конец такой последовательности не изменяет последовательность. Таким образом, для любой последовательности
найдется последовательность
, такая, что
Значение функции меры
, если они не совпадают, где
– длина ВП
. Тогда из определения меры между двумя множествами последовательностей
и
следует
где
то есть
– это длина минимальной последовательности
имеет место отношение
причем
.
и
определяется как
где
.
был приписан хотя бы один новый элемент из области
.
для некоторого
, а следовательно, 
– полное метрическое пространство и
– сжимающее отображение, то есть
Тогда существует
такое, что справедливо
(
(
где
имеет минимальную фиксированную точку.
.
.
через
через
;
,
.
и
. Тогда имеем








содержит ВП, начинающиеся с
, тогда как множество
не содержит ВП, начинающихся с
. На первый взгляд, данный результат противоречит тому, что было получено в [3]. Однако суть проблемы заключается в том, что при получении этого результата в [3] предполагалось отсутствие побочного эффекта при вычислении выражений. Из этого предположения непосредственно следовало, что повторное вычисление одного и того же выражения всегда дает один и тот же результат. В данном случае повторное вычисление одного и того же выражения может привести к получению различных результатов. Проиллюстрируем этот факт следующим примером. Пусть дана программа, допускающая побочный эффект, то есть изменение значений переменных при вычислении выражений:
будет получено ложное значение, а следовательно, будут осуществлены выход из цикла
и переход к вычислению следующей команды. При этом значение переменной
, добавив в него отрицание и сложные тесты,
,
,
,
,
,
,
,
.
. С учетом нового определения тестов значение
определяется как
, где
. Аналогичным образом определяется значение
в том случае, когда не все защиты являются значениями булевских выражений. В этом случае в
и
определяются таблицей:








,
и 








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






+










