- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
7.8.10Понятие конкретизации процесса с СО
Для процессов с СО можно определить понятие конкретизации, аналогично тому, как это было сделано для обычных процессов с передачей сообщений в параграфе 7.7.1.
Для каждого процесса с СО P знакосочетание Conc(P ) обозначает процесс в исходном смысле данного понятия (см. параграф 2.4), который называется конкретизацией процесса P , и имеет следующие компоненты.
1.Состояниями Conc(P ) являются
•всевозможные означивания из Eval(XP ),
•а также дополнительное состояние s0, которое является начальным в Conc(P )
2.Для
• каждого перехода s1 |
Op- |
s2 процесса P , и |
|
•каждого означивания ξ Eval(XP ), такого, что
–ξ(atP ) = s1, и
–Op открыт на ξ
Conc(P ) содержит переход
ξa - ξ0
если ξ0(atP ) = s2, и имеет место один из следующих случаев:
(a)Op – внутренний, a = τ, и имеет место соотношение
ξOp- ξ0
которое означает следующее: если Op имеет вид
(op1, . . . , opn)
то существует последовательность ξ1, . . . , ξn означиваний из Eval(XP ), такая, что
212
• x XP \ {atP } ξ(x) = ξ1(x), ξ0(x) = ξn(x), и
• i = 2, . . . , n, если opi имеет вид (x := e), то
ξi(x) = ξi−1(e), y XP \{x, atP } ξi(y) = ξi−1(y)
(b)• Op = Op1 · (α ? x) · Op2,
•a = α ? v, где v – произвольное значение из Dt(x),
и
•существуют означивания ξ1 и ξ2 из Eval(XP ), такие, что
ξ Op1- ξ1 , ξ2 Op2- ξ0
ξ2(x) = v, y XP \ {x, atP } ξ2(y) = ξ1(y)
(c)• Op = Op1 · (α ! e) · Op2,
• существует означивание ξ1 из Eval(XP ), такое, что
ξ |
Op1- |
ξ1 , |
ξ1 |
Op2- |
ξ0 , a = α ! ξ1(e) |
|
|
3.Для
•каждого означивания ξ Eval(XP ), такого, что
ξ(IP ) = 1
• и каждого перехода в Conc(P ) вида ξ a - ξ0
Conc(P ) содержит переход s0 a - ξ0 .
Читателю предлагается самостоятельно исследовать взаимосвязь между
•конкретизацией произвольного процесса с передачей сообщений P , в том смысле, в каком это понятие было определено в параграфе 7.7.1, и
•конкретизацией процесса с СО, полученного в результате редукции процесса P .
213
7.8.11Отношения эквивалентности на процессах с СО
Пусть P1 и P2 – процессы с СО.
Мы будем говорить, что P1 и P2 наблюдаемо эквивалентны, и обозначать этот факт знакосочетанием
P1 ≈ P2
если их конкретизации наблюдаемо эквивалентны (в исходном смысле данного понятия, см. параграф 4.8).
+
Аналогичным образом определяется отношение ≈ наблюдаемой конгруэнции на процессах с СО.
Используя понятие редукции процессов с СО, можно определить ещё одно отношение эквивалентности на множестве процессов с СО. Данное отношение
r
• обозначается символом ≈ , и
• представляет собой минимальную конгруэнцию на множестве процессов с СО, обладающую следующим свойством: если P 0 получается из P в результате применения какоголибо правила редукции, то P ≈r P 0
r
(т.е. ≈ является пересечением всех конгруэнций на множестве процессов с СО, обладающих вышеуказанным свойством).
Читателю предлагается самостоятельно
• исследовать связь операций на процессах с СО с отноше-
+
ниями ≈ и ≈, т.е. установить свойства, аналогичные свойствам, изложенным в параграфах 3.7, 4.5, 4.8.4, 4.9.5
•сформулировать и обосновать необходимые и достаточные условия наблюдаемой эквивалентности процессов с СО, не использующие понятие конкретизации
+r
•исследовать взаимосвязь между отношениями ≈, ≈ и ≈
•найти такие правила редукции, чтобы было верно включе-
ние
r +
≈ ≈
214
7.8.12Метод доказательства наблюдаемой эквивалентности процессов с СО
Один из возможных методов доказательства наблюдаемой эквивалентности процессов с СО основан на излагаемой ниже теореме 34. Для формулировки этой теоремы мы введём вспомогательные понятия и обозначения.
1.Пусть P – процесс с СО.
Составной переход (СП) в P – это (возможно пустая) последовательность CT переходов процесса P вида
CT = s0 |
Op1- |
s1 |
Op2- |
. . . |
Opn- |
sn (n ≥ 0) |
|
|
|
||||
такая, что |
|
|
(7.24) |
|||
|
|
|
|
|
|
•среди Op1, . . . , Opn – не более одного СО ввода или вывода
•определена конкатенация
(. . . (Op1 · Op2) · . . .) · Opn
которую мы будем обозначать тем же символом CT .
Если последовательность (7.24) пуста, то её конкатенацией CT по определению является СО (>?).
Состояние s0 называется началом СП (7.24), а состояние sn – его концом.
Знакосочетание s0 CT- sn является сокращённой записью утверждения о том, что CT – это
•СП с началом s0 и концом sn
•а также – СО, соответствующий этому СП.
2.Пусть ϕ и ψ – формулы.
Знакосочетание ϕ ≤ ψ является сокращённой записью утверждения о том, что формула ϕ → ψ является тождественно истинной.
215
3.Пусть Op = (op1, . . . , opn) – внутренний СО, и ϕ – формула. Знакосочетание Op(ϕ) обозначает формулу, определяемую
рекурсивно:
( |
(op1, . . . , opn−1) (opn(ϕ)), |
если n > 1 |
||||||
def |
cond |
( |
Op |
) → |
ϕ, |
если |
n |
= 1 |
Op(ϕ) = |
|
|
|
|
где opn(ϕ) обозначает формулу, определяемую следующим образом: если opn имеет вид (x := e), то opn(ϕ) получается из ϕ заменой каждого вхождения в неё переменной x на выражение e.
4.Пусть ϕ, ψ – формулы, и Op1, Op2 – СО. Мы будем говорить, что верна диаграмма
ϕ
A B
Op1 |
Op2 |
(7.25) |
??
C D
ψ
если выполнено одно из следующих условий.
(a)Op1 и Op2 – внутренние СО, и верно неравенство
ϕ≤ (Op1 · Op2)(ψ)
(b)Op1 и Op2 можно представить в виде конкатенаций
Op1 = Op3 · (α ? x) · Op4
Op2 = Op5 · (α ? y) · Op6
где Op3, Op4, Op5, Op6 – внутренние СО, и верно нера-
венство
ϕ ≤ (Op01 · Op02)(ψ)
где
216
•Op01 = Op3 · (x := z) · Op4
•Op02 = Op5 · (y := z) · Op6
•z – новая переменная (т.е. не входящая в ϕ, ψ, Op1,
Op2)
(c)Op1 и Op2 можно представить в виде конкатенаций
Op1 = Op3 · (α ! e1) · Op4
Op2 = Op5 · (α ! e2) · Op6
где Op3, Op4, Op5, Op6 – внутренние СО, и верно неравенство
ϕ ≤ |
( (Op3 |
· Op4 |
|
Op5 |
|
Op6)(ψ) ) |
|
|
(Op3 |
Op5)(e1 |
= e2) |
||||
|
|
· |
· |
|
|
· |
|
Теорема 34.
Пусть P1 и P2 – два процесса с СО:
Pi = (XP |
, IP |
, SP |
, s0 , RP ) (i = 1, 2) |
i |
i |
i |
Pi i |
не имеющие общих состояний и общих переменных.
P1 и P2 находятся в отношении ≈, если существует функция µ вида
µ : SP1 × SP2 → Fm
обладающая следующими свойствами.
1. |
IP1 IP2 ≤ µ(sP0 1 , sP0 2 ). |
|
|
|
|
|
2. |
Для |
|
|
|
|
|
|
• каждой пары (A1, A2) SP1 × SP2 , и |
|
||||
|
• каждого перехода |
A1 |
|
Op- |
A10 процесса P1, такого, |
|
|
|
|
||||
|
что |
|
|
|
|
(7.26) |
|
cond (Op) µ(A1, A2) 6= |
|||||
|
существует совокупность СП процесса P2 с началом A2 |
|||||
|
{ A2 |
CTi- |
A2i | i =} |
(7.27) |
||
|
|
|||||
|
удовлетворяющая следующим условиям: |
|
217
(a) имеет место неравенство |
|
|
|
|
cond (Op) µ(A1, A2) |
≤ i_= cond (CTi) |
(7.28) |
||
(b) для каждого i = верна диаграмма |
|
|||
|
µ(A1, A2) |
|
||
A1 |
|
|
A2 |
|
|
|
|
Op |
CTi |
(7.29) |
??
A10 |
|
A2i |
|
||
|
µ(A10 , A2i ) |
3. Свойство, симметричное предыдущему: для
• |
каждой пары (A1, A2) SP1 × SP2 , и |
|
||||
• каждого перехода |
A2 |
|
Op- |
A20 процесса P2, такого, |
||
|
|
|||||
|
что верно (7.26) |
|
|
|
|
|
существует совокупность СП процесса P1 с началом A1 |
||||||
|
{ A1 |
CTi- |
A1i | i =} |
(7.30) |
||
|
|
удовлетворяющая следующим условиям:
(a)имеет место неравенство (7.28)
(b)для каждого i = верна диаграмма
218