- •Вопрос №9(Система аксиом ив, Полнота и независимость системы аксиом)
- •Аксиомы ив
- •1.6. Операции над протоколами
- •1.6.1. Конкатенация
- •1.6.2. Сужение
- •1.6.3. Голова и хвост
- •1.6.4. Звездочка
- •1.6.5. Порядок
- •1.6.6. Длина
- •1.7. Реализация протоколов
- •1.8. Протоколы процесса
- •1.8.1. Законы
- •1.8.2. Реализация
- •1.8.3. После
- •1.9. Дальнейшие операции над протоколами
- •1.9.1. Замена символа
- •1.9.2. Конкатенация
- •1.9.3. Чередование
- •1.9.4. Индекс
- •1.9.5. Обратный порядок
- •1.9.6. Выборка
- •1.9.7. Композиция
- •2.2. Взаимодействие
- •2.2.1. Законы
- •2.2.2. Реализация
- •2.2.3. Протоколы
- •2.3. Параллелизм
- •2.3.1. Законы
- •2.3.2. Реализация
- •2.3.3. Протоколы
- •1.10.1. Соответствие спецификации
- •1.10.2. Доказательства
1.9.6. Выборка
Если s – последовательность пар, определим s ↓ x как результат выборки из s всех пар, первый элемент которых есть x, и замены каждой такой пары на ее второй элемент, Первый и второй элементы пары будем разделять точкой. Так, если
s = <a.7, b.9, a.8, c.0 >, то s ↓ a = <7, 8>, a s ↓ d = <>.
L1. <> ↓ x = <>
L2. (<y, z>^t) ↓ x = t ↓ x если у ≠ x
L3. (<x.z>^t) ↓ x = <z>^(t ↓ x)
Если s не является последовательностью пар, то s ↓ а обозначает число вхождений а в s {как это определялось в разд. 1.6.6).
1.9.7. Композиция
Пусть символ √ означает успешное завершение процесса. Значит, этот символ может появиться только в конце протокола. Пусть t – протокол, отражающий последовательность событий с того момента, как s успешно завершился. Композицию s и t обозначим (s; t). Если в s отсутствует символ √, то t не может начаться:
L1. s; t = s если ^ (<√>) в s)
Если же символ √ присутствует в конце s, то он удаляется а t присоединяется к результату:
L2. (s^<√>); t = s^t если (<√> в s)
Символ √ можно рассматривать как своего рода "клей", склеивающий s и t; при отсутствии клея t не может прилипнуть (L1). Если символ √ встречается (что ошибочно) в середине протокола, то из соображений общности условимся, что все символы после его первого вхождения следует считать ошибочными и опустить.
L2A. (s^<√>^u); t = s^t если (<√>) в s)
Эта необычная операция композиции обладает рядом обычных алгебраических свойств. Как и конкатенация, она ассоциативна. В отличие от конкатенации она монотонна как по первому, так и по второму аргументу с <√> в качестве левой, единицы.
L3. s; (t; u) = (s; t); u
L4A. s ≤ t ⇒ ((u; s) ≤ (u; t))
L4B. s ≤ t ⇒ ((s; u) ≤ (t; u))
L5. <>; t = t
L6. <√>; t = t
Если символ √ не встречается нигде, кроме конца протокола, то <√> является также и правой единицей:
L7. s; <> = s при условии, что ^(<√> в (s)’)
Вопрос №28(Взаимодействие процессов, Параллельные процессы)
Процесс определяется полным описанием его потенциального поведения. При этом часто имеется выбор между несколькими различными действиями, например опусканием большой или маленькой монеты в щель торгового автомата ТАС (1.1.3 Х4). В каждом таком случае выбор того, какое из событий произойдет в действительности, может зависеть от окружения, в котором работает процесс. Так, например, покупатель сам решает, какую монету ему опустить. К счастью, само окружение процесса может быть описано как процесс, поведение которого определяется в уже знакомых нам терминах. Это позволяет исследовать поведение целой системы, состоящей из процесса и его окружения, взаимодействующих по мере их параллельного исполнения. Всю систему также следует рассматривать как процесс, поведение которого определяется в терминах поведения составляющих его процессов; эта система в свою очередь может быть помещена в еще более широкое окружение. На самом деле, лучше всего забыть разницу между процессами, окружениями и системами; все они – всего лишь процессы, поведение которых может быть предписано, описано, зафиксировано и проанализировано простым и единообразным способом.