Professional Documents
Culture Documents
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Distributed Programs
Dr. Mattox Beckman
Illinois Institute of Technology
Department of Computer Science
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Outline
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Motivation
No interference!
m 0 and S
0
, . . . , S
n
are nondeterminstic programs.
S
0
is the initialization code.
g B;
B is a guard
1
= c?u
2
= c!t
Eff(
1
,
2
) = Eff(
2
,
1
) = u := t
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Communication
< [S
1
S
n
], >< [S
1
S
n
], >
S
k
= do
m
1
j=1
g
j
R
j
od
S
l
= do
m
2
j=1
h
j
T
j
od
g
j
1
= B
1
;
1
h
j
2
= B
2
;
2
|= B
1
B
2
M[[Eff(
1
,
2
)]]() = {}
S
i
S
i
for i = k, l
S
k
R
j
1
; S
k
S
l
T
j
2
; S
l
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Transforming to a nondeterministic program
Then S [S
1
S
n
] can be transformed as...
T(S) S
1,0
; S
2,0
; ; S
n,0
;
do
(i,j,k,l)
B
i,j
B
k,l
Eff(
i,j
,
k,l
); S
i,j
; S
k,l
od
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Activity
Do the Distributed Conversion Activity
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Proving Deadlock
The partial correctness will be the same, but what about deadlock?
Given
T(S) S
1,0
; S
2,0
; ; S
n,0
;
do
(i,j,k,l)
B
i,j
B
k,l
Eff(
i,j
,
k,l
); S
i,j
; S
k,l
od
n
i=1
m
i
j=1
B
i,j
BLOCK
(i,j,k,l)
(B
i,j
B
k,l
)