- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
базис индукции:
Если k = 0, то Pi(0) по определению совпадает с процессом 0, который можно вложить в любой процесс.
индуктивный переход:
Пусть для каждого i = 1, . . . , n Pi(k−1) ,→ Pi(k).
По определению процессов из совокупности (5.5), имеют место соотношения
Pi(k) = Pi(P1(k−1)/A1, . . . , Pn(k−1)/An)
Pi(k+1) = Pi(P1(k)/A1, . . . , Pn(k)/An)
Соотношение Pi(k) ,→ Pi(k+1) следует из теоремы 28.
Определим для каждого i = 1, . . . , n процесс [[Ai]] как предел
def |
(k) |
[[Ai]] = |
lim Pi |
|
k→∞ |
Из теоремы 30 следует, что для каждого i = 1, . . . , n верна цепочка равенств
Pi([[A1]]/A1, . . . , [[An]]/An) =
= Pi(( lim P1(k))/A1 |
, . . . , ( lim Pn(k))/An) = |
k→∞ |
k→∞ |
= lim Pi(P1(k)/A1, . . . , Pn(k)/An) = |
|
k→∞ |
|
= lim (Pi(k+1)) = [[Ai]] |
|
k→∞ |
|
т.е. список процессов |
|
[[A1]], . . . , [[An]] |
является решением системы уравнений, соответствющей РО (5.1) (переменными в этой системе уравнений являются процессные имена).
5.6 Эквивалентность РО
Пусть заданы два РО вида
|
(1) |
(1) |
и |
|
(2) |
(2) |
(5.7) |
.A.1. |
= P1 |
.A.1. |
= P1 |
||||
|
|
|
|
|
|
|
|
|
(1) |
(1) |
|
|
(2) |
(2) |
|
|
An |
= Pn |
|
|
An |
= Pn |
|
|
|
|
|
|
|
|
|
135
Для каждого списка процессов Q1, . . ., Qn мы будем обозначать выражение над процессами (и его значение)
Pi(j)(Q1/A1(j), . . . , Qn/An(j)) |
(i = 1, . . . , n; j = 1, 2) |
сокращённо в виде знакосочетания
Pi(j)(Q1, . . . , Qn)
Пусть задана некоторая эквивалентность µ на множестве всех процессов.
Мы будем говорить, что РО (5.7) являются эквивалентными относительно µ, если для
• каждого списка процессов Q1, . . ., Qn, и |
|
• каждого i = 1, . . . , n |
|
имеет место соотношение |
|
Pi(1)(Q1, . . . , Qn) , Pi(2)(Q1, . . . , Qn) |
µ |
Теорема 31. |
|
Пусть заданы |
|
• два РО вида (5.7), и |
|
• конгруэнция µ на множестве процессов. |
|
Если РО (5.7) эквивалентны относительно µ, то процессы, определяемые этими РО, т.е.
{[[A(1)i ]] | i = 1, . . . , n} и {[[A(2)i ]] | i = 1, . . . , n}
тоже эквивалентны относительно µ, т.е. для каждого i = 1, . . . , n имеет место соотношение
[[A(1)i ]] , [[A(2)i ]] µ
136
5.7Переходы на P Expr
Существует другой способ определения соответствия между ПВ и процессами. Данный способ связан с определением множества переходов R на совокупности P Expr всех ПВ. Каждый переход из R представляет собой тройку
(P, a, P 0) |
(5.8) |
где P, P 0 P Expr, и a Act.
Если (5.8) R, то мы сокращённо обозначаем этот факт в
виде знакосочетания |
|
P a - P 0 |
(5.9) |
Понятие перехода определяется индуктивно, т.е.
•указываются тройки вида (5.8), которые являются переходами по определению, и
•описываются правила построения новых переходов из уже имеющихся.
Вэтом параграфе мы предполагаем, что
•значением каждой процессной константы является конечный процесс, и
•каждый конечный процесс является значением некоторой процессной константы.
Внижеследующих правилах, определяющих множество пере-
ходов R, символы P, P 0 обозначают произвольные ПВ, и символ a обозначает произвольное действие из Act.
1. если P – процессная константа, то
Pa - P 0
где P 0 – процессная константа, такая, что
• значения P и P 0 имеют вид
(S, s0, R) и (S, s1, R)
соответственно, и
137
|
• R содержит переход s0 |
|
|
|
|
a - |
|
|
s1 |
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
2. |
a.P |
a - |
|
P |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
3. |
если P |
a - |
P 0 , то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
• |
P + Q |
|
|
a - |
P 0 , и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
a - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
• |
Q + P |
|
|
P 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
a - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
P 0 | Q , и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
• P | Q |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
a - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
• |
Q | P |
|
Q | P 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
• если L Names, a 6= τ, и name(a) 6 L, то |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
P \ L |
|
|
|
|
a - |
|
P 0 \ L |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
• для каждого переименования f |
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
P [f] |
|
|
|
f(a)- |
|
P 0[f] |
|
|
||||||||
4. если a 6= τ, то из |
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
P |
1 |
|
|
a - |
P |
0 |
|
и |
|
P |
2 |
|
a¯ |
- |
P 0 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
2 |
|||||||||||
|
следует, что |
|
|
|
|
|
|
|
|
|
τ - |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
P1 | P2 |
|
P10 | P20 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
5. для каждого РО (5.1) и каждого i {1, . . . , n} |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
если |
Pi |
|
|
|
|
a - |
|
P 0 |
(5.10) |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a - |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
то |
Ai |
|
|
|
|
P 0 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Можно доказать, что для каждого ПВ P существует лишь конечное множество переходов с началом P , т.е. имеющих вид
Pa - P 0
Для каждого ПВ P P Expr процесс [[P ]], соответствующий этому ПВ, имеет вид
(P Expr, P, R)
138