- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
базис индукции:
Если Q = Pi, то Q0 = Pi0, и (5.2) верно по предположению.
индуктивный переход:
Из теоремы 27 следует, что для каждого подвыражения Q выражения P имеет место импликация: если для каждого собственного подвыражения Q1 выражения Q (т.е. Q1 6= Q)
Q1 ,→ Q01
то верно (5.2).
Таким образом, (5.2) верно для каждого подвыражения Q выражения P . В частности, (5.2) верно для P .
5.4Предел последовательности вложенных процессов
Пусть задана последовательность процессов |
|
{Pk | k ≥ 0} |
(5.3) |
такая, что |
(5.4) |
k ≥ 0 Pk ,→ Pk+1 |
Последовательность процессов (5.3), удовлетвряющая условию (5.4), называется последовательностью вложенных процессов.
Определим процесс P , называемый пределом последовательности (5.3).
Пусть процессы Pk (k ≥ 0) имеют вид
Pk = (Sk, s0k, Rk)
Мы можем считать, что все множества Sk (k ≥ 0) попарно не пересекаются.
Из (5.4) следует, что для каждого k ≥ 0 существует инъективное отображение
fk : Sk → Sk+1
такое, что
131
•fk(s0k) = s0k+1, и
•для любых s0, s00 Sk и любого a Act
(s0 |
a |
|
a |
→ s00) Rk |
(fk(s0) → fk(s00)) Rk+1 |
Обозначим
• символом S объединение S Sk, и
k≥0
•символом ρ – минимальную эквивалентность на S, обладающую следующим свойством:
k ≥ 0, s Sk (s, fk(s)) ρ
Компоненты искомого процесса P имеют следующий вид.
1.Состояниями процесса P являются классы разбиения множества S по эквивалентности ρ.
2.Начальным состоянием процесса P является класс, содержащий s00.
3.Переходы процесса P имеют вид
[s0] a - [s00]
где ( s0 a - s00 ) Rk для некоторого k ≥ 0.
Определённый выше предел последовательности (5.3) мы будем обозначать знакосочетанием
lim Pk
k→∞
Из определения предела последовательности (5.3) непосредственно следует, что для каждого k ≥ 0
Pk ,→ lim Pk
k→∞
Теорема 29.
Пусть заданы последовательности вложенных процессов
{Pk | k ≥ 0} и {Qk | k ≥ 0}
Тогда
132
• klim (a.Pk) = a.(klim Pk) |
|
|
||
|
→∞ |
→∞ |
|
|
• klim (Pk + Qk) = (klim Pk) + (klim Qk) |
||||
|
→∞ |
→∞ |
|
→∞ |
• |
klim (Pk | Qk) = (klim Pk) | (klim Qk) |
|||
|
→∞ |
→∞ |
→∞ |
|
• klim (Pk \ L) = (klim Pk) \ L |
||||
|
→∞ |
→∞ |
|
|
• klim (Pk[f]) = (klim Pk)[f] |
|
|
||
|
|
|||
|
|
|||
|
→∞ |
→∞ |
|
|
Ниже мы будем использовать следующее обозначение: если
•P – ПВ, в которое входят процессные имена A1, . . ., An, и
•P1, . . . , Pn – некоторые процессы
то знакосочетание
P (P1/A1, . . . , Pn/An)
обозначает выражение над процессами (а также его значение), получаемое из P заменой для каждого i = 1, . . . , n каждого вхождения процессного имени Ai на соответствующий процесс Pi.
Теорема 30. Пусть заданы
•ПВ P , в которое входят процессные имена A1, . . ., An, и
•последовательности вложенных процессов
{Pi(k) | k ≥ 0} (i = 1, . . . , n)
Тогда
P (( lim P1(k))/A1, . . . , ( lim Pn(k))/An) =
k→∞ k→∞
= lim P (P1(k)/A1, . . . , Pn(k)/An)
k→∞
Доказательство.
Данная теорема доказывается индукцией по структуре ПВ P , с использованием теоремы 29.
133
5.5Процессы, определяемые процессными выражениями
В этом параграфе мы излагаем правило, которое сопоставляет каждому ПВ P процесс [[P ]], определяемый этим ПВ.
Процессы, определяемые процессными константами, являются значениями этих констант.
Процессы, определяемые ПВ вида
a.P, P1 + P2, P1 | P2, P \ L, P [f]
являются результатами применения соответствующих операций к процессам определяемым ПВ P , P1 и P2, т.е.
def
[[a.P ]] = a.[[P ]]
def
[[P1 + P2]] = [[P1]] + [[P2]]
def
[[P1 | P2]] = [[P1]] | [[P2]]
def
[[P \ L]] = [[P ]] \ L
def
[[P [f] ]] = [[P ]] [f]
Опишем теперь правило, сопоставляющее процессы процессным именам.
Пусть задано РО вида (5.1). Определим последовательность списков процессов
|
|
|
{(P1(k), . . . , Pn(k)) | k ≥ 0} |
(5.5) |
|
следующим образом: |
|
|
|||
• |
(0) |
def |
. . . , Pn(0) |
def |
|
P1 |
= 0, |
= 0 |
|
•если процессы P1(k), . . ., Pn(k) уже определены, то для каждого i = 1, . . . , n
(k+1) |
def |
(k) |
/A1, . . . , Pn(k)/An) |
Pi |
= Pi(P1 |
Докажем, что для каждого k ≥ 0 и для каждого i = 1, . . . , n
Pi(k) ,→ Pi(k+1) |
(5.6) |
Доказательство будем вести индукцией по k.
134