• Nenhum resultado encontrado

Communication problems in the π-calculus

N/A
N/A
Protected

Academic year: 2021

Share "Communication problems in the π-calculus"

Copied!
10
0
0

Texto

(1)
(2)

Communication

Problems

in the 7r-Calculus

M. R. F. Benevides*

F. Prottit

Abstract

In this paper we deal with the notions of deadlock, starvation, and communication errors in the asynchronous polyadic 7f-calculus. We show that detecting deadlock or starvation in a given specification in 7f-calculus is an undecidable problem. We also extend the proof of undecidability of the notion of communication errors in the polyadic 7f-calculus presented in [14].

K eywords: Communicating Systems; Correctness of Concurrent

Pro-grams; Process Calculus ,

1 Introd uction

When specifying distributed systems and concurrent programs, one crucial question is to ensure the absence of deadlock, starvation, and communication errors. However, standard mechanisms for detecting a priori such situations in a given specification can hardly be found for general cases, since those notions are usually difficult to deal with. In fact, this is the case for the polyadic 7r-calculus: in this work, we show that detecting deadlock or star-vation in a given specification in 7f-calculus is an undecidable problem. We

*Universidade Federal do Rio de Janeiro, Instituto de Matemática and COPPE, Caixa Postal 68511, 21945-970, Rio de Janeiro, RJ, Brasil. Partially supported by the Con-selho Nacional de Desenvolvimento Científico e Tecnológico, CNPq, Brasil. E-mail: mario~cos.ufrj.br

tUniversidade Federal do Rio de Janeiro, NCE, Caixa Postal 2324, 20001-970, Rio de Janeiro, RJ, Brasil. E-mail: fabiop@nce .ufrj .br

(3)

also extend the proof of undecidability of the notion of communication errors in the polyadic 7f-calculus presented in Vasconcelos and Ravara's work [14].

The proof of the undecidability of deadlock detection follows the same strategy employed in [14]: the problem of deciding whether a lambda term has a normal form [6] is reduced to the problem of deciding whether a pro-cess is capable of reachii1g a deadlock situation, by defining a computable function f from À-terms into processes of the 7f-calculus, and showing that the decidability of the predicate ' f(M) E DEAD' implies the decidability of ' M .J- '. The reduction imposes no restrictions on À-terms, which may be either open or closed. The definition of f embodies the encoding of the lazy À-calculus into the the 7f-calculus described in [10, 12].

The proof of undecidability for communication errors also employs the approach described above. It is in fact an slight extension ofthe proofin [14], which is based on a reduction that considers closed À-terms only. Here, open terms are also allowed.

The undecidability of starvation detection follows as a corollary of the undecidability for deadlock.

2 N otions of communication error, deadlock, and starvation in the 1r-calculus

The concepts and definitions of the asynchronous polyadic 7f-calculus are used here as usual [4, 7,9]. Below, we briefly present some definitions. Definition 1 The set n of processes of the polyadic 7f-calculus is given by the following grammar:

(4)

Definition 2 The set af action labels is given by the fallawing grammar, where {i} ç {v}\{a}:

a ::= 7 I a[v] llIiã[v]

An internal communication within a process is denoted by 7 ( silent ac-tian). The input actian a[v] denotes the reception on a of the sequence of names v. The autput actian lIiã[v] denotes the emission to a of the sequence of names v, where some of them are bound. The symbol ~ denotes the reflexive and transitive closure of -4, and ~ denotes ~~~.

In what follows, we present the notions of communication errors, dead-lock, and starvation. A process with a communication error, after some silent transitions, is capable of reaching a situation in which there is a discordancy on the number of parameters involved in a communication. A pr9cess is capable of deadlock if it may reach a situation in which the computation cannot evolve. Finally, a process is capable of starvation if some part of the system may become precluded from computations.

Definition 3 [13] The set ERR af 7r-pracesses with a cammunicatian errar is the fallawing set:

ERR = {P I p ~ lIu(ã[Vl, ...,Vn].Q I a(xl, ...,xm).R I S),a E U, and n # m}. Definition 4 The set DEAD of 7r-pracesses which are capable af deadlack is the fallawing set:

a

DEAD = {P I p ~ Q and Q f+, for alI a.}

Definition 5 The set ST ARV af 7r-pracesses which are capable afstarvatian is the fallawing set:

ã STARV = {P I p ~ lIu(a.A I B), where a is a(i) or ã[v],a E u, and B ~}.

(5)

3 Encoding the lazy À-calculus into the 7r-calculus

The transference of results from the À-calculus to the 7r-calculus is achieved by using the encoding of the lazy À-calculus described below.

Definition 6 [3, 6,-12J The set A o of À-terms is defined by the grammar below, where x and y range over the set of À-calculus variables:

M ::= x I Àx.M I M N

Free variables, closed terms, substitution, alpha-conversion etc. are defined as usual. The reduction relation is --t, and the reflexive and transitive closure of --t is ==>. We write M .!. if M is convergent, and M t otherwise. In the lazy À-calculus [1 ], the redex is always at the left extreme of a term. Milner's encoding of the lazy À-calculus into the 7r-calculus is given in the next definition:

Definition 7 [10, 12] The encoding of the lazy À-calculus into the 7r-calculus is given by the following rules:

[Àx.MDp ~ p(x, q).[M]q [xDp ~ x[P]

[MN]p ~ vuv([M]u I u[v,p] I !v(q).[N]q)

In what follows, some properties of the encoding are presented.

Lemma 8 [12, 14]

(6)

a

b. If M t then [M]p ~, for alI a.

c. If M =} Àx.N then [M]p p~ ;<; [N]q. [ ] x[ql >

d. If M =} x then M p ~ "" O . e. [M]p fj ERR.

Proof. Clauses a, b, and c are clauses 1, 3, and 4 of Lemma 2 in [14]. Clause d is Lemma 3 in [14]. Clause e is Proposition 5.4, 3 in [12]. D

4 U ndecidability proofs

Now we are ready to present the undecidability results. Theorem 9 is a generalization of Theorem 4 in [14]. The remaining results, although not surprising, up to the authors' knowledge are new.

Theorem 9 The problem 'P E ERR' is undecidable.

Proof. Let us show that if the problem ' p E ERR' is decidable, then the problem ' M .!. ' is decidable. Let f : A o-+ n be such that

f(M) ~ vPXIX2 ...xn([MDp I pD I XI0 I X20 I. ..I Xn()),

where Xl, X2, ..., Xn are the free variables ocurring in M. The function f is clearly computable by the encoding of the lazy À-calculus into the 7r-calculus, Now we will prove that f(M) fj ERR if and only if M t. First, assume that

a

M t. Then, by Lemma 8b, [MDp ~, for alI a. This means that there is no interaction between [MDp and pD, XI0, X2(), ..., Xn(). That is, there is no communication error due to an interaction involving [MDp and the ports

(7)

above. Since [ M]p <t E RR by Lemma 8e, it follows that f ( M) <t E RR. Now, assume that f(M) <t ERR. We claim that:

(a) M ~ >..x.N. Otherwise, if M => >..x.N, then [M]p p~q) by Lemma 8c. That is, there is an interaction between [M]p and p[] that causes a commu-nication error .

(b) M ~ x. Otherwise, if M => x, then [M]p XJ}1, by Lemma 8d. This means that there is an interaction between [M]p and xO leading to a communication error.

Bya) and b), we conclude that M => MN. Therefore, M t. O

Theorem 10 The problem 'P E DEAD' is undecidable.

Proof. Let us show that if the problem ' p E DEAD' is decidable, then the problem ' M .J- ' is decidable. Let f : A o-+ II be such that

f(M) ~ VPXIX2 ...xn([M]p I p[y, w].Po I Xl(Pl).Pl I X2(P2).P2 I. ..I Xn(Pn).Pn), where: Xl,X2, ...,Xn are the free variables ocurring in M; Y,W,Pl, ...,Pn are new names; and Pi = vai(Ai I Ãi), where Ai = aiO.Ai and Ãi = ãiD.Ãi. The function f is clearly computable by the encoding of the lazy >..-calculus into the 7r-calculus. Now we will prove that f(M) <t DEAD if and only if M .J-. Assume that f ( M) <t D E AD .Then there is a such that [ M]p ~ .Thus, by Lemma 8b, M .J-. On the other hand, assume that M .J- and f(M) E DEAD. Under these assumptions, we have that:

(a) M ~ >..x.N. Otherwise, if M => >..x.N, then [M]p p~q) by Lemma 8c. That is, there is a possible action for f(M), and after this action the com-putation goes on, contradicting the assumption.

(8)

(b) M ~ x. Otherwise, if M =?- x, then [M]p ~ , by Lemma 8d. Again, this means that there is a possible action for f(M), and after this action the computation goes on, contradicting the assumption.

Bya) and b), we conclude that M =?- MN. Therefore, M t, a contradiction. D

Theorem 11 The problem 'P E ST ARV ' is undecidable.

Proof. Let us show that if the problem ' p E ST ARV' is decidable, then the problem ' p E DEAD' is decidable. Let f : n -+ n be such that

f(P) = val ...an(P I AlI Ã1 I. ..1 An I Ãn)

where al ...an are the free names in P, Ai = aiO.Ai, and Ai = ãi[].Ai, 1 :::; i:::; n. The function f is clearly computable, since f(P) can be con-structed in finite time by examining the definition of P. It remains to prove that f(P) E ST ARV if and only if P E DEAD. If P E DEAD, then pro-cess P is clearly precluded from executing in f(P), that is f(P) E ST ARV . On the other hand, if P ~ DEAD, then f(P) will never reach a state where some of its parts cannot execute, that is, f(P) ~ ST ARV. D

References

[1] s. Abramsky. The lazy lambda calculus. Research Topics in Functional Programming, pp. 65-,-116. Addison-Wesley, 1989.

[2] S. Arun-Kumar and M. Hennessy. An efficiency preorder of processes. Acta Informatica 29(8) (1992) 737-760.

(9)

[3] H. Barendregt. The Lambda Calculus: Its Syntax and Semantics. Studies in Logic, vol. 103. North Holland, 1984. Revised edition.

[4] G. Boudol. Asynchrony and the pi-calculus. Technical Report RR-1702, INRIA Sophia-Antipolis, 1992.

[5] N. Cutland. Computability: An Introduction to Recursive Function The-ory. Cambridge University Press, 1980.

[6] J. R. Hindley and J. P. Seldin. Introduction to Combinators and ,\-Calculus. Cambridge University Press, 1986, p. 63.

[7] K. Honda and M. Tokoro. An object calculus for asynchronous com-munication. 5th European Conference on Object-Oriented Programming, LNCS 512 (1991) 141-162. Springer- Verlag.

[8] R. Milner. Communication and Concurrency. Prentice-Hall, London, 1989.

[9] R. Milner. The polyadic 7r-calculus: a tutorial. In F. L. Bauer, W. Brauer , and H. Schwichtenberg, eds. Logic and Algebra of Specification, Springer-Verlag, 1993.

[10] R. Milner. Functions as processes. Journal of Mathematical Structures in Computer Science 2(2) (1992) 119-141.

[11] D. Sangiorgi and R. Milner. The problem of "Weak bisimulation up to" .3rd International Conference on Concurrency Theory, LNCS 630 7 (1994) 331-336.

[12] D. Sangiorgi. Lazy functions and mobile processes. Technical Report RR-2515, INRIA, Sophia-Antipolis, 1995.

(10)

[13] V. T. Vasconcelos and K. Honda. Principal typing schemes in a polyadic 7r-calculus. 4th International Conference on Concurrency Theory, LNCS 715 (1993) 524-538. Springer- Verlag.

[14] V. T. Vasconcelos and A. Ravara. Communication errors in the 7r-calculus are undecidable. Information Processing Letters 71(5-6) (1999), 229-233.

Referências

Documentos relacionados

Lateral cephalometric X-rays were used to analyze the vertebral bone age of the individuals according to the method proposed by Caldas, used on both fe- male and male

Neste trabalho o objetivo central foi a ampliação e adequação do procedimento e programa computacional baseado no programa comercial MSC.PATRAN, para a geração automática de modelos

The semiotic game of the teacher here consists in using the signs (both gestures with fingers and words) introduced by the children and reproducing them, in order to share them

Extinction with social support is blocked by the protein synthesis inhibitors anisomycin and rapamycin and by the inhibitor of gene expression 5,6-dichloro-1- β-

No que respeita ao trabalho de investigação, através dos dados apresentados anteriormente, recolhidos, analisados e discutidos, pudemos dar resposta aos objetivos

Sendo que definiu-se o objetivo geral de promover a segurança do profissional perioperatório na técnica de braquiterapia; e os objetivos específicos de contribuir para a

We performed an in silico analysis of the variants found in the TTR gene and we assessed its implications in FAP TTR AO and gene expression, including the effect of SNPs on protein

Para conhecer a seleção completa, com todas cores e materiais, visite a área de IKEA das Crianças e a exposição de Móveis de Exterior, bem como www.IKEA.pt.. *Este artigo pode