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

Глава 4

Эквивалентность процессов

4.1Понятие эквивалентности процессов и связанные с ним задачи

Одно и то же поведение может быть представлено различными процессами. Например, рассмотрим два процесса:

a

a - a - a - . . .

Хотя у первого процесса всего одно состояние, а у второго множество состояний бесконечно, но эти процессы представляют одно и то же поведение, которое заключается в постоянном выполнении одного и того же действия a.

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

В этой главе мы излагаем несколько определений понятия эквивалентности процессов. Выбор того или иного варианта данного понятия в конкретной ситуации должен определяться тем, как именно в данной ситуации понимается одинаковость поведения процессов.

63

Впараграфах 4.2 и 4.3 вводятся понятия трассовой эквивалентности и сильной эквивалентности процессов. Данные понятия используются в той ситуации, когда все действия, выполняющиеся в процессах, имеют одинаковый статус.

Впараграфах 4.8 и 4.9 предлагаются другие варианты понятия эквивалентности процессов: наблюдаемая эквивалентность и наблюдаемая конгруэнция. Данные понятия используются в тех ситуациях, когда мы рассматриваем невидимое действие τ как несущественное, и считаем две трассы одинаковыми, если одна может быть получена из другой путём вставок и/или удалений невидимых действий τ.

С каждым из возможных вариантов понятия эквивалентности процессов связаны две естественные задачи.

1.Распознавание для двух заданных процессов, являются ли они эквивалентными.

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

4.2Трассовая эквивалентность процессов

Как уже было сказано выше, мы хотели бы рассматривать два процесса как эквивалентные, если они описывают одно и то же поведение. Поэтому, если мы рассматриваем поведение процесса как порождение некоторой трассы, то необходимым условием эквивалентности процессов P1 и P2 является совпадение множеств их трасс:

T r(P1) = T r(P2)

(4.1)

В некоторых ситуациях условие (4.1) можно использовать в качестве определения эквивалентности между P1 и P2. Однако нижеследующий пример показывает, что это условие не отражает один важный аспект поведения процессов.

64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

A a

 

 

a

 

A

 

 

?

 

AU

 

b

AA c

 

c

(4.2)

 

UA

? ?

 

 

A

 

b

 

 

 

 

Множества трасс этих процессов совпадают:

T r(P1) = T r(P2) = {ε, a, ab, ac}

(где ε – пустая последовательность).

Однако эти процессы отличаются тем, что

в левом процессе после выполнения первого действия (a) сохраняется возможность выбора следующего действия (b или c), в то время как

в правом процессе после выполнения первого действия такого выбора нет:

если первый переход был совершён по левому ребру, то вторым действием может быть только действие b,

а если по правому - то только действие c,

т.е. второе действие было предопределено ещё до выполнения первого действия.

Если мы не хотели бы рассматривать эти процессы как эквивалентные, то условие (4.1) надо некоторым образом усилить. Один из вариантов такого усиления излагается ниже. Для того, чтобы его сформулировать, определим сначала понятие трассы из некоторого состояния процесса.

Каждый вариант поведения процесса P = (S, s0, R) мы интерпретируем как порождение некоторой последовательности переходов

s0

a1 -

s1

a2 -

s2

a3 -

. . .

(4.3)

 

 

 

65

начинающейся с начального состояния, т.е. s0 = s0.

Мы можем рассматривать порождение последовательности (4.3) не только с начального, а с произвольного состояния s S, т.е. рассматривать последовательность вида (4.3), в которой s0 = s. Последовательность (a1, a2, . . .) меток этих переходов мы будем называть трассой с началом в s. Множество всех таких трасс мы будем обозначать знакосочетанием T rs(P ).

Пусть P1 и P2 – процессы вида

 

Pi = (Si, si0, Ri)

(i = 1, 2)

 

Рассмотрим произвольную конечную последовательность пе-

реходов в P1 вида

 

 

 

 

 

s10 = s0

a1 -

s1

a2 -

. . .

an -

sn (n ≥ 0)

(4.4)

 

 

 

(случай n = 0 соответствует пустой последовательности переходов (4.4), к которой sn = s01)

Последовательность (4.4) можно рассматривать как начальный этап функционирования процесса P1, а каждую трассу из T rsn (P1) – как некоторое продолжение этого этапа.

Процессы P1 и P2 называются трассово эквивалентными, если

для каждого начального этапа (4.4) функционирования процесса P1 существует начальный этап функционирования процесса P2

s0

= s0

a1 -

s0

a2 -

. . .

an -

s0

(4.5)

 

 

 

2

0

1

 

 

 

n

 

который имеет точно такую же трассу a1 . . . an, что и (4.4), и в конце которого имеется точно такой же выбор дальнейшего продолжения, что и в конце этапа (4.4), т.е.

T rsn (P1) = T rsn0 (P2)

(4.6)

и, кроме того, имеет место симметричное условие: для каждой последовательности переходов в P2 вида (4.5) должна существовать последовательность переходов в P1 вида (4.4), такая, что имеет место равенство (4.6).

66