Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
23.05.2015
Размер:
1.7 Mб
Скачать

k := k + 1 k := k 1 - O - B P

@

 

 

 

 

 

 

@ (k

n) ?

 

 

 

 

 

 

@

 

 

 

q := q

[f]

(k < n) ?

 

@

@

 

 

q := q0

·

 

 

 

 

 

 

 

@

 

 

 

D (k ≤ 0) ?

C

 

 

 

R@ E

 

 

 

 

 

 

 

 

?

 

 

 

@@

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In ? f

(k > 0) ?

 

 

 

Out ! qˆ

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In ? f

 

Out ! qˆ

 

 

?

 

?

?

 

L

 

 

 

 

 

 

 

- M

7.6Операции на процессах с передачей сообщений

Операции на процессах с передачей сообщений аналогичны операциям на процессах в исходном смысле данного понятия (см. главу 3).

7.6.1Префиксное действие

Пусть заданы процесс P и оператор op.

Процесс op.P получается из процесса P добавлением

к множеству его состояний – нового состояния s, которое является начальным в op.P ,

к множеству переходов – нового перехода с меткой op из s в s0P

к множеству переменных – всех переменных, входящих в op.

192

7.6.2Альтернативная композиция

Пусть процессы P1 и P2 таковы, что SP1 ∩ SP2 = .

Тогда можно определить процесс P1 + P2, называемый альтернативной композицией процессов P1 и P2:

множества его состояний, переходов, и начальное состояние определяются так же, как определяются соответствующие компоненты процесса P1 + P2 в главе 3

def

• XP1+P2 = XP1 XP2

def

• IP1+P2 = IP1 IP2

Если же SP1 ∩ SP2 6= , то для определения процесса P1 + P2 сначала надо заменить в P2 те состояния, которые входят также и в P1, на новые элементы, и модифицировать соответствующим образом другие компоненты P2.

7.6.3Параллельная композиция

Пусть процессы P1 и P2 таковы, что XP1 ∩ XP2 = .

Тогда можно определить процесс P1 | P2, называемый параллельной композицией процессов P1 и P2:

множество его состояний и начальное состояние определяются так же, как определяются соответствующие компоненты процесса P1 | P2 в главе 3

def

• XP1+P2 = XP1 XP2

def

• IP1+P2 = IP1 IP2

• множество переходов процесса P1 | P2 определяется следующим образом:

– для

каждого перехода s1 op - s01 процесса P1, и

каждого состояния s процесса P2

193

процесс P1 | P2 содержит переход

(s1, s) op - (s01, s)

– для

каждого перехода s2 op - s02 процесса P2, и

каждого состояния s процесса P1

процесс P1 | P2 содержит переход

(s, s2)

op -

(s, s0

)

 

 

2

 

– для каждой пары переходов вида

s

1

op1-

s0

 

R

P1

 

op2

1

 

s

2

-

s0

 

R

P2

 

 

 

2

 

где

один из операторов op1, op2 имеет вид α ? x,

а другой – α ! e, причём t(x) = t(e)

(имя в обоих операторах – одно и то же)

процесс P1 | P2 содержит переход

(s1, s2)

x := e

(s10 , s20 )

-

Если же XP1 ∩ XP2 6= , то для определения процесса P1 | P2 сначала надо заменить в одном из процессов те переменные, которые входят также и в другой процесс, на новые переменные.

7.6.4Ограничение

Пусть заданы процесс P и подмножество L Names. Ограничением P по L называется процесс

P \ L

который получается из P удалением тех переходов, метки которых содержат имена из L.

194