Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Матвей сгдм.DOC
Скачиваний:
1
Добавлен:
27.04.2019
Размер:
753.66 Кб
Скачать

2.2.2. Реализация

Реализация комбинирующего оператора || очевидным обра­зом основана на L4:

взаим(P,Q) = λz.

if P(z) = "BLEEP Q(z) = "BLEEP then "BLEEP

else взаим(P(z),Q(z))

2.2.3. Протоколы

Поскольку каждое действие (P||Q) требует одновременного участия Р и Q, каждая последовательность таких действий должна быть возможной для обоих операндов. По этой же причине операция /s дистрибутивна относительно ||.

L1. протоколы(P||Q) = протоколы(Р) ∩ протоколы(Q)

L2. (P||Q)/s = (P/s) || (Q/s)

2.3. Параллелизм

Описанный в предыдущем разделе оператор можно обоб­щить на случай, когда его операнды Р и Q имеют различные алфавиты:

αР αQ

Когда такие процессы объединяются для совместного испол­нения, события, содержащиеся в обоих алфавитах, требуют одновременного участия Р и Q (как было описано в преды­дущем разделе). События же из алфавита Р, не содержа­щиеся в алфавите Q, не имеют никакого отношения к Q, который физически неспособен ни контролировать, ни даже замечать их. Такие события могут происходить при участии Р независимо от Q. Аналогично Q может самостоятельно уча­ствовать в событиях, содержащихся в его алфавите, но от­сутствующих в алфавите Р. Таким образом, множество всех событий, логически возможных для данной системы, есть про­сто объединение алфавитов составляющих ее процессов:

α(P || Q) = αP ∪ αQ

Это редкий пример операции, когда у операндов и результата различные алфавиты. Если же алфавиты операндов совпадают, то этот же алфавит имеет и их результирующая комбинация, и в этом случае у операции (P || Q) в точности тот же смысл, что и у операции, описанной в предыдущем раз­деле.

Примеры

X1. Пусть αТАШУМ = {мон, шок, звяк, щелк, ирис}, где «звяк» – звук монеты, попадающей в монетоприемник шумного торгового автомата, а «щелк» – щелчок, издаваемый автоматом при завершении каждой торговой операции. Если у шумного торгового автомата кончился запас ирисок, то

ТАШУМ = (мон → звяк → шок → щелк → ТАШУМ)

Покупатель у этого автомата определенно предпочитает ириску: не сумев получить ее, он восклицает «черт», после чего берет шоколадку:

αКЛИЕНТ = {мон, шок, черт, ирис}

КЛИЕНТ = (мон → (ирис → КЛИЕНТ) | черт → шок → КЛИЕНТ)

Результатом параллельной работы этих двух процессов яв­ляется

(ТАШУМ || КЛИЕНТ) = μХ. (мон → (звяк → черт → шок → щелк → Х

| черт → шок → КЛИЕНТ)

Заметим, что событие звяк может как предшествовать собы­тию черт, так и наоборот. Они могут произойти и одновре­менно, и порядок, в котором они будут зафиксированы, не имеет значения. Заметим, что настоящая математическая формула никак не отражает того факта, что клиент предпо­читает получить ириску, нежели выругаться. Формула есть абстракция реальной действительности, не учитывающая люд­ские эмоции и сосредоточенная лишь на описании возмож­ности наступления или ненаступления событий из алфавита процесса независимо оттого, желательны они или нет.

Х2. Фишка стартует со средней нижней клетки поля и может

i

1

2

1

2

3

j

по нему вверх, вниз, влево или вправо. Пусть

αР = {вверх, вниз}

Р = (вверх → вниз → Р)

αQ = {влево, вправо}

Q = (вправо → влево → Q | влево → вправо → Q)

Поведение фишки можно определить как P || Q. В этом при­мере алфавиты αР и αQ не имеют общих событий. Переме­щения фишки, следовательно, представляют собой произволь­ное чередование действий процессов Р и Q. Без помощи па­раллелизма описать такое чередование очень сложно. Обычно требуется взаимная рекурсия с уравнением для каждого со­стояния системы. Пусть, например, Rij отвечает поведению фишки (Х2), находящейся в i-строке и j-м столбце поля, где i ∈ {1,2}, j{1,2,3}. Тогда (P || Q) = R12, где

R21 = (вниз → R11 | вправо → R22)

R11 = (вверх → R21 | вправо → R12)

R22 = (вниз → R12 | влево → R21 | вправо → R23)

R12 = (вверх → R22 | влево → R11 | вправо → R13)

R23 = (вниз → R13 | влево → R22)

R13 = (вверх → R23 | влево → R12)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]