- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
|
ψ |
|
C |
|
D |
|
||
Op10 |
|
Op20 |
??
E F
θ
• {Op1, Op01} и {Op2, Op02} не имеют общих переменных.
Тогда верна диаграмма
|
|
|
|
|
ϕ |
|
|
||
|
· |
A |
|
|
B |
· |
|
||
|
|
|
|
||||||
Op1 |
1 |
|
|
|
|
Op2 |
2 |
||
|
|
|
|
||||||
|
Op0 |
|
|
|
|
Op0 |
|||
|
|
|
? |
|
? |
|
|
||
|
|
E |
|
|
F |
|
|
||
|
|
|
|
|
|
||||
|
|
|
|
|
θ |
|
|
7.8.15Другой пример доказательства наблюдаемой эквивалентности процессов с СО
В качестве примера использования теорем из параграфа 7.8.14 докажем наблюдаемую эквивалентность
• процесса
(Bu er n1 [P ass/Out] | Bu er n2 [P ass/In]) \ {P ass} (7.43)
226
где P ass 6In,{ Out}, и
• процесса Bu er n1+n2 .
Процесс (7.43) представляет собой последовательную композицию даух буферов размеров n1 и n2. Его потоковый граф имеет вид
' $' $
e Bu er uPass e Bu er u
In n - n Out
& 1 %& 2 %
Согласно определению операций на процессах с СО (см. параграф 7.8.5), графовое представление процесса (7.43) выглядит следующим образом:
|
(k1 < n1) ? |
|
|
|
(k2 > 0) ? |
|
|
|
|||||
|
In ? f1 |
|
|
|
|
|
Out ! qˆ2 |
|
|
|
|
||
|
q1 := q1 |
· |
[f1] |
- A |
q2 |
:= q0 |
|
|
|
|
|||
|
k1 := k1 |
|
|
|
2 |
− 1 |
|
|
|
||||
|
+ 1 |
k2 |
:= k2 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
(7.44) |
||||
|
|
|
|
|
|
|
(k < n |
) ? |
|||||
|
|
|
|
(k > 0) |
|
|
|||||||
|
|
|
|
1 |
|
2 |
|
2 |
|
|
|||
|
|
|
|
|
|
f2 := qˆ1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
q1 := q10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
k1 := k1 − 1 |
|
|
|
|
|||
|
|
|
|
|
|
q2 := q2 · [f2] |
|
|
|
|
|||
|
|
|
|
k2 := k2 + 1 |
|
|
|
|
Начальным условием процесса (7.44) является формула
( (n2 |
> 0) |
(k2 |
= 0) |
(q2 |
= ε) ) |
(n1 |
> 0) |
(k1 |
= 0) |
(q1 |
= ε) |
|
|
|
|
|
|
Графовое представление процесса Bu er n1+n2 имеет вид
227
|
(k < n1 + n2) ? |
|
|
|
(k > 0) ? |
|
|
|
|
In ? f |
|
|
|
Out ! qˆ |
|
|
|
|
q := q · [f] |
|
|
q := q0 |
|
|
|
|
k := k + 1 |
|
|
− |
1 |
||||
|
- |
a |
k := k |
|
||||
|
|
|
|
|
||||
|
|
|
|
|
|
|
Начальным условием процесса Bu er n1+n2 является формула
(n1 + n2 > 0) (k = 0) (q = ε)
Нетрудно проверить, что формула
|
q1≤ |
= k1 |
|
|
|
||||
|
0 |
|
| |
k1 ≤ n1 |
|
||||
| |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def |
|
q2≤ |
k |
|
n |
|
|
||
|
|
= k2 |
|
|
|||||
|
0 |
|
|
|
2 ≤ |
|
2 |
|
|
Inv = |
|
|
|
|
|
||||
n| |
1 |
|> 0 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n2 > 0 |
|
|
|
является инвариантом процесса (7.44). Этот факт следует, в частности, из истинности для каждой строки u и каждого символа a соотношений
( |u| |
[a] = [a] u = u + 1 |
||
u > 0 |
|u0 |
| = |u| − 1 |
|
| · |
| |
| · | |
| | |
В качестве инварианта второго процесса мы возьмём формулу
>.
Определим функцию µ : {A} × {a} → F m следующим образом:
( |
q |
= |
q |
|
· |
q |
) |
def |
2 |
1 |
|||||
µ(A, a) = |
|
|
|
||||
|
k = k2 + k1 |
Проверим свойства 1, 2, и 3 для функции µ.
1.Свойство 1 в данном случае представляет собой неравенство
(n2 |
> 0) |
(k2 |
= 0) |
(q2 |
= ε) |
||
|
(n1 |
> 0) |
(k1 |
= 0) |
(q1 |
= ε) |
|
|
|
|
|
|
|
|
|
|
(n1 + n2 > 0) (k = 0) (q = ε) |
||||||
|
|
|
|
|
|
|
|
которое, |
очевидно, верно. |
|
|
|
q = q2 · q1 |
) |
|
≤ ( k = k2 + k1 |
|
|
|
|
|
|
|
|
|
|
228
2.Проверим свойство 2.
•Для левого перехода процесса (7.44) неравенство (7.37) верно. В качестве (7.38) мы возьмем совокупность, единственным элементом которой является левый переход процесса Bu er n1+n2 .
Неравенство (7.39) в данном случае имеет вид
q1= q2 |
1 q1 |
|
|
k < n |
· |
k = k2 + k1 |
||
|
|
|
|
|
|
|
|
|
|
Inv |
|
|
|
|
|
|
|
что, очевидно, верно.
≤ (k < n1 + n2)
Пользуясь (7.33), запишем неравенство, соответствующее диаграмме (7.40) для данного случая в виде
q = q2 · q1
k = k + k
2 1
Inv
k1 < n1
k < n + n
1 2
≤ k ·+ 1 |
= k2 |
·+ k·1 |
+ 1 ) |
(7.45) |
q [z] = q2 |
q1 |
[z] |
|
Нетрудно установить, что последнее неравенство верно.
•Для среднего (внутреннего) перехода процесса (7.44) неравенство (7.37) верно. В качестве (7.38) мы возьмем совокупность, единственным элементом которой является пустой СП процесса Bu er n1+n2 .
Неравенство (7.39) в данном случае верно по тривиальной причине: правая часть в нём имеет вид >.
Пользуясь соотношением (7.33), запишем неравенство, соответствующее диаграмме (7.40) для данного слу-
чая, в виде
|
q = q2 |
q1 |
|
q = (q2 [ˆq1]) q10 |
|
|
k = k2 |
·+ k1 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
≤ ( k = k2 + 1 + k1 |
|
1 ) |
|
|
|
|
|
||
|
|
|
|
|
|
|
k1 > 0 |
|
|
· · |
|
(7.46) |
|
|
Inv |
|
|
− |
||
k2 < n2 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229
Данное неравенство следует из
–ассоциативности операции конкатенации, и
–истинности для каждой строки u соотношения
|u| > 0 u = [ˆu] · u0
•Для правого перехода процесса (7.44) неравенство (7.37) верно. В качестве (7.38) мы возьмем совокупность, единственным элементом которой является правый переход процесса Bu er n1+n2 .
Неравенство (7.39) в данном случае имеет вид
q2= q2 |
|
q1 |
|
|
k > 0 |
· |
|
k = k2 + k1 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Inv |
|
|
|
|
|
|
|
|
|
|
что, очевидно, верно.
≤ (k > 0)
Пользуясь соотношением (7.33), запишем неравенство, соответствующее диаграмме (7.40) для данного случая, в виде
|
q = q2 |
q1 |
|
|
|
qˆ2 = qˆ |
|
|
|
|
|
|
|
|
||
k = k2 |
·+ k1 |
|
|
|
|
|
|
|
|
|
|
|||||
|
Inv |
|
|
|
q0 |
= q20 |
|
q1 |
|
|
|
|
(7.47) |
|||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
≤ |
|
|
|
|
· |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
k > 0 |
|
|
|
k |
− |
1 = k |
2 |
− |
1 + k |
1 |
|
|
||||
k2> 0 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данное неравенство следует из истинности для каждой пары строк u, v соотношения
|u| > 0 |
( (u |
· v)0 |
= u0 |
|
v ) |
|
(u |
v)ˆ = uˆ |
· |
|
|
|
|
· |
|
|
3.Проверим свойство 3.
•Для левого перехода процесса Bu er n1+n2 неравенство (7.37) верно. В качестве (7.41) мы возьмем совокуп-
ность, состоящую из двух СП:
230
–левого перехода процесса (7.44), и
–последовательности из пары переходов,
первым элементов которой является средний (внутренний) переход процесса (7.44),
а вторым – левый переход процесса (7.44)
Неравенство (7.39) в данном случае имеет вид
q = q21 |
|
q1 |
2 |
|
|
|
|
k1 > 0 |
|
|
||||
|
k < n + n |
|
|
|
(k1 < n1) |
k2 < n2 |
|
|
||||||
|
· |
|
|
|
|
|||||||||
k = k2 + k1 |
|
≤ |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Inv |
|
|
|
|
|
|
k |
1 |
− |
1 < n |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Это неравенство верно (при его обосновании используется содержащийся в Inv конъюнктивный член n1 > 0).
Истинность неравенств, соответствующих диаграммам (7.42) для обоих элементов совокупности (7.41), следует из (7.45), (7.46) и теоремы 36.
•Для правого перехода процесса Bu er n1+n2 неравенство (7.37) верно. В качестве (7.41) мы возьмем сово-
купность, состоящую из двух СП:
–правого перехода процесса (7.44), и
–последовательности из пары переходов,
первым элементов которой является средний (внутренний) переход процесса (7.44),
а вторым – правый переход процесса (7.44)
Неравенство (7.39) в данном случае имеет вид
q = q2 q1 |
|
|
|
|
k1 > 0 |
|
||||
|
k > 0 |
· |
|
|
(k2 > 0) |
k2 < n2 |
|
|||
k = k2 + k1 |
|
≤ |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Inv |
|
|
|
|
k |
2 |
+ 1 > 0 |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Это неравенство верно (при его обосновании используется содержащийся в Inv конъюнктивный член n2 > 0).
231