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

Истинность неравенств, соответствующих диаграммам (7.42) для обоих элементов совокупности (7.41), следует из (7.46), (7.47) и теоремы 36.

7.9Рекурсивные определения процессов

Для процессов с передачей сообщений можно ввести понятие рекурсивного определения, которое аналогично понятию РО, изложенному в главе 5.

РО для процессов с передачей сообщений очень похожи на функциональные программы.

Понятие РО определяется на основе понятия процессного выражения (ПВ), которое почти совпадает с соответствующим понятием из параграфа 5.1, поэтому мы лишь укажем отличия

вопределениях этих понятий.

Во всех ПВ вместо действий используются операторы.

Каждое процессное имя A имеет тип t(A), который представляет собой последовательность обычных типов из T ypes:

t(A) = (t1, . . . , tn) (n ≥ 0)

Каждое процессное имя A входит в каждое ПВ только вместе со списком выражений соответствующих типов, т.е. каждое вхождение процессного имени A в произвольное ПВ содержится в подвыражении вида

A(e1, . . . , en), где (t(e1), . . . , t(en)) = t(A)

Каждому ПВ P соответствует совокупность fv(P ) свободных переменных этого ПВ, которая состоит из всех переменных, имеющих свободные вхождения в P .

Понятие свободного и связанного вхождения переменной в ПВ определяется почти так же, как определяется аналогичное понятие в логике предикатов, только в случае ПВ роль кванторов играют операторы ввода и присваивания: каждое свободное вхождение переменной x в ПВ P становится связанным в ПВ

(α?x).P и в ПВ (x := e).P .

232

Рекурсивное определение (РО) процессов представляет собой список формальных равенств вида

 

A1(x11, . . . , x1k1 ) = P1

 

 

 

 

 

. . .

(7.48)

 

An(xn1, . . . , xnkn ) = Pn

 

 

 

 

где

A1, . . . , An – процессные имена,

для каждого i = 1, . . . , n список (xi1, . . . , xiki ) в левой части i–го равенства представляет собой список различных

переменных

P1, . . . , Pn – ПВ, которые удовлетворяют

условиям, изложенным в определении РО в параграфе 5.2,

а также следующему условию: для каждого i = 1, . . . , n

совокупность {xi1, . . . , xiki } совпадает с совокупностью fv(Pi) свободных переменных ПВ Pi.

РО (7.48) можно интерпретировать как функциональную программу, состоящую из рекурсивных определений функций

A1(x11, . . . , x1k1 ), . . . , An(xn1, . . . , xnkn )

Для каждого i = 1, . . . , n переменные xi1, . . ., xiki можно рассматривать как формальные параметры функции Ai(xi1, . . . , xiki ).

Читателю предлагается самостоятельно определить соответствие, которое сопоставляет каждому ПВ вида A(x1, . . . , xn), где

A – процессное имя, и

x1, . . . , xn – список различных переменных соответствующих типов

процесс [[A(x1, . . . , xn)]].

Примеры процессов, задаваемых в виде РО, будут изложены в главе 9.

Проблемы, связанные с РО в случае процессов с передачей сообщений, имеют тот же вид, что и для обычных РО:

233

распознавание существования конечных процессов, эквивалентных процессам вида [[A(x1, . . . , xn)]]

построение алгоритмов нахождения минимальных процессов, эквивалентных процессам вида [[A(x1, . . . , xn)]] в том случае, когда эти процессы конечны

распознавание эквивалентности процессов вида [[A(x1, . . . , xn)]]

распознавание эквивалентности РО

нахождение необходимых и достаточных условий единственности списка процессов, определяемого РО.

234