- •Введение
- •Предмет теории процессов
- •Верификация процессов
- •Спецификация процессов
- •Понятие процесса
- •Представление поведения динамических систем в виде процессов
- •Неформальное понятие процесса и примеры процессов
- •Неформальное понятие процесса
- •Пример процесса
- •Другой пример процесса
- •Действия
- •Определение понятия процесса
- •Понятие трассы
- •Достижимые и недостижимые состояния
- •Замена состояний
- •Операции на процессах
- •Префиксное действие
- •Пустой процесс
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Свойства операций на процессах
- •Эквивалентность процессов
- •Понятие эквивалентности процессов и связанные с ним задачи
- •Трассовая эквивалентность процессов
- •Сильная эквивалентность
- •Критерии сильной эквивалентности
- •Логический критерий сильной эквивалентности
- •Критерий сильной эквивалентности, основанный на понятии бимоделирования
- •Алгебраические свойства сильной эквивалентности
- •Распознавание сильной эквивалентности
- •Полиномиальный алгоритм распознавания сильной эквивалентности
- •Минимизация процессов
- •Минимальные процессы относительно
- •Алгоритм минимизации процессов
- •Наблюдаемая эквивалентность
- •Определение наблюдаемой эквивалентности
- •Логический критерий наблюдаемой эквивалентности
- •Критерий наблюдаемой эквивалентности, основанный на понятии наблюдаемого БМ
- •Алгебраические свойства наблюдаемой эквивалентности
- •Другие критерии эквивалентности процессов
- •Наблюдаемая конгруэнция
- •Мотивировка понятия наблюдаемой конгруэнции
- •Определение понятия наблюдаемой конгруэнции
- •Логический критерий наблюдаемой конгруэнтности
- •Критерий наблюдаемой конгруэнтности, основанный на понятии НБМ
- •Алгебраические свойства наблюдаемой конгруэнции
- •Распознавание наблюдаемой конгруэнтности
- •Минимизация процессов относительно наблюдаемой конгруэнции
- •Рекурсивные определения процессов
- •Процессные выражения
- •Понятие рекурсивного определения процессов
- •Вложение процессов
- •Предел последовательности вложенных процессов
- •Процессы, определяемые процессными выражениями
- •Эквивалентность РО
- •Доказательство эквивалентности процессов при помощи РО
- •Проблемы, связанные с понятием РО
- •Примеры доказательства свойств процессов
- •Потоковые графы
- •Мастерская
- •Неконфликтное использование ресурса
- •Планировщик
- •Семафор
- •Процессы с передачей сообщений
- •Действия с передачей сообщений
- •Вспомогательные понятия
- •Типы, переменные, значения и константы
- •Функциональные символы
- •Выражения
- •Понятие процесса с передачей сообщений
- •Множество переменных процесса
- •Начальное условие
- •Операторы
- •Определение процесса
- •Функционирование процесса
- •Пример процесса с передачей сообщений
- •Понятие буфера
- •Представление поведения буфера в виде процесса
- •Операции на процессах с передачей сообщений
- •Префиксное действие
- •Альтернативная композиция
- •Параллельная композиция
- •Ограничение
- •Переименование
- •Эквивалентность процессов
- •Понятие конкретизации процесса
- •Понятие эквивалентности процессов
- •Процессы с составными операторами
- •Мотивировка понятия процесса с составными операторами
- •Понятие составного оператора
- •Понятие процесса с СО
- •Функционирование процесса с СО
- •Операции на процессах с СО
- •Преобразование процессов с передачей сообщений в процессы с СО
- •Конкатенация СО
- •Редукция процессов с СО
- •Пример редукции
- •Понятие конкретизации процесса с СО
- •Отношения эквивалентности на процессах с СО
- •Метод доказательства наблюдаемой эквивалентности процессов с СО
- •Пример доказательства наблюдаемой эквивалентности процессов с СО
- •Дополнительные замечания
- •Другой пример доказательства наблюдаемой эквивалентности процессов с СО
- •Рекурсивные определения процессов
- •Примеры процессов с передачей сообщений
- •Разделение множеств
- •Задача разделения множеств
- •Распределённый алгоритм решения задачи разделения множеств
- •Процессы Small и Large
- •Анализ алгоритма разделения множеств
- •Вычисление квадрата
- •Сети Петри
- •Протоколы передачи данных в компьютерных сетях
- •Понятие протокола
- •Методы исправления искажений в кадрах
- •Методы обнаружения искажений в кадрах
- •Пример протокола
- •Протокол с чередующимися битами
- •Двунаправленная передача
- •Дуплексный протокол с чередующимися битами
- •Двунаправленная конвейерная передача
- •Протокол скользящего окна с возвратом
- •Протокол скользящего окна с выборочным повтором
- •Криптографические протоколы
- •Понятие криптографического протокола
- •Шифрование сообщений
- •Формальное описание КП
- •Примеры КП
- •Представление структур данных в виде процессов
- •Понятие структуры данных
- •Семантика языка параллельного программирования
- •Описание языка параллельного программирования
- •Конструкции языка L
- •Программы на языке L
- •Семантика языка L
- •Семантика выражений
- •Семантика деклараций
- •Семантика операторов
- •Исторический обзор и современное состояние дел
- •Робин Милнер
- •Исчисление взаимодействующих систем (CCS)
- •Теория взаимодействующих последовательных процессов (CSP)
- •Алгебра взаимодействующих процессов (ACP)
- •Процессные алгебры
- •Мобильные процессы
- •Гибридные системы
- •Другие математические теории и программные средства, связанные с моделированием процессов
- •Бизнес-процессы
6.5Семафор
В этом примере, как и в примере из предыдущего параграфа, предполагается, что заданы n процессов
P1, . . . , Pn (6.24) причём для каждого i = 1, . . . , n процесс Pi имеет вид
Pi = (αi? ai1 . . . aiki βi?)
где
•αi? и βi? – служебные действия, представляющие собой сигналы о начале и о конце очередного сеанса работы процесса Pi, и
•ai1, . . . , aiki – собственные действия процесса Pi.
Мы хотели бы создать такой процесс P , в котором все процессы P1, . . ., Pn работали бы совместно, причём эта совместная работа должна подчиняться следующему режиму:
•если в некоторый момент времени какой-либо из процессов Pi начал очередной сеанс своей работы исполнением действия αi?,
•то этот сеанс должен быть непрерываемым, т.е. все последующие действия процесса P должны быть действиями процесса Pi, до тех пор, пока Pi не завершит этот сеанс.
Данное требование можно выразить в терминах трасс: каждая трасса процесса P должна иметь вид
αi? ai1 . . . aiki βi? αj? aj1 . . . ajkj βi? . . .
т.е. каждая трасса tr процесса P должна представлять собой конкатенацию трасс
tr1 · tr2 · tr3 . . .
каждая из которых представляет собой сеанс работы какого-либо процесса из (6.24).
163
Искомый процесс P мы определим следующим образом:
P := ( P1[f1] | . . . | Pn[fn] | Sem ) \ {π, ϕ}
где
•Sem – процесс, предназначенный для задания требуемого режима работы процессов P1, . . ., Pn, данный процесс называется семафором и имеет вид
Sem = ( π! ϕ! )
• fi : αi 7→π, βi 7→ϕ
Спецификация процесса P представляется следующим соотношением:
+
P ≈ τ.a11. . . . a1k1 . P + . . . + (6.25) + τ.an1. . . . ankn . P
Доказательство того, что процесс P удовлетворяет этой спецификации, производится при помощи теоремы о разложении:
P = ( P1[f1] |
| . . . | Pn[fn] | Sem ) \ {π, ϕ} |
|
||||||||||||||
|
|
π?.an1 |
. . . . .a1nkn ϕ?.Pn[fn|] |
|
|
| |
|
|
|
|
π, ϕ |
|
|
|||
|
|
π?.a11. . . . .a1k .ϕ?.P1[f1] . . . |
|
|
\ { |
|
|
|
|
|||||||
| |
π!. ϕ!. Sem |
|
| |
|
|
|
|
|
} |
|||||||
|
| |
a11. . . . .a1k .ϕ?.P1[f1] . . . |
| |
|
|
|
|
|
|
|
|
|||||
|
τ. |
π?.an1. . .1. .ankn ϕ?.Pn| |
[fn] |
|
|
\ { |
π, ϕ |
|
+ |
|||||||
|
| ϕ!. Sem |
|
|
|
| |
|
|
|
|
} |
|
|||||
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ . . . + |
an1. . . . .ankn1ϕ?.Pn[fn] |
| |
|
|
|
| |
|
|
|
π, ϕ |
|
|||||
+τ. |
|
|
|
|
|
|
|
|||||||||
|
|
π?.a11. . . . .a1k .ϕ?.P1[f1] |
| |
. . . |
|
\ { |
|
|
} |
|||||||
|
|
| |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|ϕ!. Sem
. . .
+
τ.a11. . . . a1k1 .τ. P + . . . + τ.an1. . . . ankn .τ. P ≈
+
≈ τ.a11. . . . a1k1 . P + . . . + τ.an1. . . . ankn . P
В заключение обратим внимание на следующий момент. Наличие префикса “τ.” в каждом слагаемом в правой части соотношения (6.25) означает, что выбор альтернативы в начальный момент функционирования процесса P определяется
164
•не в окружающей среде процесса P ,
•а внутри процесса P .
Если бы этого префикса не было, то это означало бы, что выбор альтернативы в начальный момент функционирования процесса P определяется окружающей средой процесса P .
165