- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
Данные условия имеют недостаток: в их формулировке участвуют потенциально неограниченные множества последовательностей переходов вида (4.4) и (4.5), а также потенциально неограниченные множества трасс из (4.6). Поэтому проверка данных условий представляется затруднительной даже в том случае, когда процессы P1 и P2 конечны.
Представляет интерес задача нахождения условий, равносильных условиям трассовой эквивалентности, которые можно было бы алгоритмически проверять для заданных процессов P1 и P2 в том случае, когда эти процессы конечны.
Иногда рассматривают такую эквивалентность между процессами, которая отличается от трассовой эквивалентности заменой условия (4.6) на более слабое условие:
Act(sn) = Act(s0n)
где для каждого состояния s знакосочетание Act(s) обозначает множество всех действий a Act, таких, что существует переход с началом в s и помеченный действием a.
4.3Сильная эквивалентность
Ещё одним вариантом понятия эквивалентности процессов является сильная эквивалентность. Для определения этого понятия мы введём вспомогательные обозначения.
После того, как процесс
P = (S, s0, R) |
(4.7) |
выполнит первое действие и перейдёт в новое состояние s1, его поведение будет неотличимо от поведения процесса
P 0 |
def |
(4.8) |
= (S, s1, R) |
имеющего те же компоненты, что и P , за исключением начального состояния.
Мы будем использовать обозначение
P |
a - |
P 0 |
(4.9) |
|
как сокращённую запись утверждения о том, что
67
• P и P 0 – процессы вида (4.7) и (4.8) соответственно, и
• R содержит переход s0 |
a - |
s1 . |
|
(4.9) можно интерпретировать как утверждение о том, что процесс P , может
•выполнить действие a, и после этого
•вести себя как процесс P 0.
Понятие сильной эквивалентности основано на следующем понимании эквивалентности процессов: если мы рассматриваем процессы P1 и P2 как эквивалентные, то должно быть выполнено следующее условие:
•если один из этих процессов Pi может
–выполнить некоторое действие a Act,
–и после этого вести себя как некоторый процесс Pi0
• то и другой процесс Pj (j {1, 2} \ {i}) тоже должен обладать способностью
–выполнить то же самое действие a,
–после чего вести себя как некоторый процесс Pj0, который эквивалентен Pi0.
Таким образом, искомая эквивалентность должна представлять собой некоторое бинарное отношение µ на множестве всех процессов, обладающее следующими свойствами.
(1) Если (P1, P2) µ, и для некоторого процесса P10 верно
утверждение |
a - |
|
(4.10) |
|
P1 |
P 0 |
|||
|
||||
|
1 |
|
||
то должен существовать процесс P20, такой, что выполнены |
||||
условия |
a - |
|
(4.11) |
|
P2 |
P 0 |
|||
|
||||
|
2 |
|
||
и |
|
|
(4.12) |
|
(P10, P20) µ |
68
(2)Симметричное свойство: если (P1, P2) µ, и для некоторого
процесса P20 верно (4.11), то должен существовать процесс P10, такой, что выполнены условия (4.10) и (4.12).
Заметим, что мы не требуем, чтобы µ было отношением эквивалентности.
Обозначим символом M совокупность всех бинарных отношений, которые обладают вышеприведёнными свойствами.
Множество M непусто: оно содержит, например, диагональное отношение, которое состоит из всех пар вида (P, P ), где P – произвольный процесс.
Встаёт естественный вопрос о том, какое же из отношений, входящих в M, можно использовать для определения понятия сильной эквивалентности.
Мы предлагаем наиболее простой ответ на этот вопрос: мы будем считать P1 и P2 сильно эквивалентными в том и только в том случае, когда существует хотя бы одно отношение µ M, которое содержит пару (P1, P2).
Таким образом, искомое отношение сильной эквивалентности на множестве всех процессов мы определяем как объединение всех отношений из M. Данное отношение обозначается символом
.
Нетрудно доказать, что
•M, и
•является отношением эквивалентности, т.к.
–рефлексивность следует из того, что диагональное отношение принадлежит M,
–симметричность следует из того, что если µ M, то µ−1 M
–транзитивность следует из того, что если µ1 M и
µ2 M, то µ1 ◦ µ2 M.
Если процессы P1 и P2 сильно эквивалентны, то этот факт обозначается знакосочетанием
P1 P2
69
Нетрудно доказать, что если процессы P1 и P2 сильно эквивалентны, то они трассово эквивалентны.
Для иллюстрации понятия сильной эквивалентности рассмотрим пару примеров.
1. Процессы |
|
|
|
|
|
|
|
|
|
||
|
|
|
a |
A a |
|
|
a |
|
A |
|
|
|
? |
|
AU |
|
|
b |
AA c |
|
c |
(4.13) |
|
|
UA |
? ? |
|
||
|
A |
|
b |
|
|
|
|
не являются сильно эквивалентными, так как они не являются трассово эквивалентными
|
|
|
|
2. Процессы |
|
|
|
|
a |
|
A a |
a |
|
A |
|
? |
UA |
||
|
|
A
b |
A b |
b b |
AU |
? ? |
|
|
A |
|
|
являются сильно эквивалентными.
70