- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
Заметим, что данный алгоритм корректен только в том случае, когда µ0 µ (что имеет место в том случае, когда этот алгоритм используется для вычисления членов последовательности (4.33)). В общей ситуации внешний цикл должен иметь вид
цикл для каждого (s1, s2) S1 × S2
Оценим сложность данного алгоритма. Обозначим символом A чиcло
def
A = max(|Act(P1)|, |Act(P2)|) + 1
• Внешний цикл делает не более |S1| · |S2| итераций.
• Оба цикла, содержащиеся в во внешнем цикле, делают не более |S1| · |S2| · A итераций.
Поэтому сложность этого алгоритма можно оценить функцией
O(|S1|2 · |S2|2 · A)
Поскольку для вычисления того члена последовательности (4.33), на котором наступает её стабилизация, нужно вычислить не больше чем |S1|·|S2| членов этой последовательности, то, следовательно, искомое отношение µi = µ(P1, P2) может быть вычислено за
время
O(|S1|3 · |S2|3 · A)
4.7Минимизация процессов
4.7.1Свойства отношений вида µ(P, P )
Теорема 8.
Для каждого процесса P ляется эквивалентностью.
Доказательство.
def 0
= (S, s , R) отношение µ(P, P ) яв-
1.Рефлексивность отношения µ(P, P ) следует из того, что диагональное отношение
IdS = {(s, s) | s S}
удовлетворяет условиям 1 и 2 из определения БМ, т.е.
88
IdS (4.30).
2.Симметричность отношения µ(P, P ) следует из того, что если отношение µ удовлетворяет условиям 1 и 2 из определения БМ, то обратное отношение µ−1 тоже удовлетворяет этим условиям, т.е.
если µ (4.30), то µ−1 (4.30).
3.Транзитивность отношения µ(P, P ) следует из того, что произведение
µ(P, P ) ◦ µ(P, P )
удовлетворяет условиям 1 и 2 из определения БМ, т.е.
µ(P, P ) ◦ µ(P, P ) µ(P, P )
Обозначим символом P процесс, компоненты которого имеют следующий вид.
•Множество состояний процесса P представляет собой совокупность классов эквивалентности, на которые разбивается множество S по отношению µ(P, P ).
•Начальным состоянием является класс [s0], который содержит начальное состояние s0 процесса P .
•Множество переходов процесса P состоит из всех переходов вида
|
|
[s1] |
a |
- |
[s2 |
] |
|
|
a - |
|
|
||||
где s1 |
s2 – произвольный переход из R. |
||||||
|
Процесс P называется фактор-процессом процесса P по эквивалентности µ(P, P ).
Теорема 9.
Для каждого процесса P отношение
def
µ = { (s, [s]) | s S}
89
является БМ между P и P .
Доказательство.
Проверим для µ свойства из определения БМ.
Свойство 0 верно по определению начального состояния процесса P . Свойство 1 верно по определению множества переходов процесса P .
Докажем свойство 2. Пусть P содержит переход
[s] a - [s0]
Докажем, что существует переход в R вида
sa - s00
такой, что (s00, [s0]) µ, т.е. [s00] = [s0], т.е.
(s00, s0) µ(P, P )
Из определения множества переходов процесса P следует, что R содержит переход вида
s1 |
a - |
s0 |
(4.38) |
|
|||
|
1 |
|
где [s1] = [s] и [s01] = [s0], т.е.
(s1, s) µ(P, P ) и (s01, s0) µ(P, P )
Так как µ(P, P ) – БМ, то из
•(4.38) R, и
•(s1, s) µ(P, P )
следует, что R содержит переход вида
s |
a - |
s00 |
(4.39) |
|
|||
|
1 |
|
где (s001, s01) µ(P, P ).
90
Так как µ(P, P ) транзитивно, то из
(s00 |
, s0 |
) |
|
µ(P, P ) |
и |
1 |
1 |
|
|
(s01, s0) µ(P, P )
следует
(s001, s0) µ(P, P )
Таким образом, в качестве искомого s00 можно взять s001.
Из теоремы 9 следует, что для каждого процесса P
PP
4.7.2Минимальные процессы относительно
Процесс P называется минимальным относительно , если
•каждое его состояние достижимо, и
•µ(P, P ) = IdS
(где S – множество состояний процесса P ).
Ниже минимальные процессы относительно называются просто минимальными процессами.
Теорема 10.
Пусть процессы P1 и P2 минимальны, и P1 P2. Тогда P1 и P2 изоморфны.
Доказательство.
Пусть Pi (i = 1, 2) имеет вид (Si, s0i , Ri), и пусть µ S1 × S2 – БМ между P1 и P2.
Поскольку µ−1 тоже является БМ, и композиция двух БМ – тоже БМ, то
•µ ◦ µ−1 – БМ между P1 и P1
•µ−1 ◦ µ – БМ между P2 и P2
91
откуда, используя определение отношений µ(Pi, Pi), и определение минимальности процесса, получаем включения
µ ◦ µ−1 µ(P1, P1) = IdS1 |
(4.40) |
µ−1 ◦ µ µ(P2, P2) = IdS2 |
|
Докажем, что отношение µ является функциональным, т.е. для каждого s S1 существует единственный элемент s0 S2, такой, что (s, s0) µ.
• |
Если s = s10, то полагаем s0 |
def |
= s20. |
•Если s 6= s01, то, поскольку каждое состояние в P1 достижимо, то в P1 существует путь
0 |
a1 - |
|
an |
- |
|
|
s1 |
|
. . . |
|
|
|
s |
Так как µ - БМ, то в P2 существует путь
s0 |
a1 - |
. . . |
an - |
s0 |
|
|
|||
2 |
|
|
|
|
причём (s, s0) µ.
Таким образом, в обоих случаях существует элемент s0 S2, такой, что (s, s0) µ.
Докажем единственность элемента s0 со свойством (s, s0) µ.
Если для некоторого элемента s00 S2 имеет место соотношение (s, s00) µ, то (s00, s) µ−1, откуда следует
(s00, s0) µ−1 ◦ µ = IdS2
поэтому s00 = s0.
По аналогичным соображениям, отношение µ−1 тоже является функциональным.
Из условий (4.40) нетрудно вывести биективность функции, которая соответствует отношению µ. По определению БМ, отсюда вытекает изоморфность P1 и P2.
Теорема 11. Пусть
92
•процесс P2 получается из процесса P1 удалением недостижимых состояний, и
def
• P3 = (P2) .
Тогда процесс P3 минимален, и
P1 P2 P3
Доказательство.
Так как каждое состояние в P2 достижимо, то из определения множества переходов процесса вида P следует, что каждое состояние P3 тоже достижимо.
Теперь докажем, что
µ(P3, P3) = IdS3 |
(4.41) |
т.е. предположим, что (s0, s00) µ(P3, P3), и докажем, что s0 = s00. Из определения процесса вида P следует, что существуют
состояния s1, s2 S2, такие, что
s0 |
= |
[s1] |
s00 |
= |
[s2] |
где [·] обозначает класс эквивалентности по отношению µ(P2, P2). Из теоремы 9 следует, что
(s1, s0) µ(P2, P3) (s00, s2) µ(P3, P2)
Поскольку композиция любых БМ тоже является БМ, то композиция
µ(P2, P3) ◦ µ(P3, P3) ◦ µ(P3, P2) |
(4.42) |
||||
является БМ между P2 и P2, поэтому |
|
||||
|
(4.42) µ(P2, P2) |
(4.43) |
|||
Поскольку (s1, s2) (4.42), то, ввиду (4.43), получаем: |
|
||||
|
s0 = [s1] = [s2] = s00 |
|
|||
В заключение отметим, что |
|
||||
• соотношение P1 |
P2 |
тривиально, и |
|
||
• соотношение P2 |
P3 |
следует из теоремы 9. |
|
|
|
|
|
||||
|
|
93