Guaranteeing liveness in an object calculus through behavioural typing

A typing discipline for concurrent objects is defined. A decidable type system is constructed which features a liveness property of well-typed object configurations: all pending request messages are treated within a finite number of steps (modulo fairness). The type system is exhibited on OL2, a variant of the asynchronous π-calculus. The present paper builds on previous work. It extends the safety results of [11]. It also provides for the incremental extension of well-typed (and well-behaved) configrations: when the code of an object is type checked in the context of an interface repository, it can be added a existing configuration while preserving the liveness property.

[1]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[2]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

[3]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[4]  Vasco Thudichum Vasconcelos,et al.  Principal Typing Schemes in a Polyadic pi-Calculus , 1993, CONCUR.

[5]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1996, POPL '96.

[6]  B. Pierce,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[7]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[8]  Elie Najm,et al.  A Formal Semantics for the ODP Computational Model , 1995, Comput. Networks ISDN Syst..

[9]  António Ravara,et al.  Behavioural Types for a Calculus of Concurrent Objects , 1997, Euro-Par.

[10]  Elie Najm,et al.  A calculus of object bindings , 1997 .

[11]  Elie Najm,et al.  Infinite types for distributed object interfaces , 1999, FMOODS.

[12]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[13]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[14]  Franz Puntigam Types for Active Objects Based on Trace Semantics , 1997 .

[15]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[16]  Luca Cardelli,et al.  Subtyping recursive types , 1993 .

[17]  Kohei Honda,et al.  An Interaction-based Language and its Typing System , 1994, PARLE.

[18]  Naoki Kobayashi,et al.  A partially deadlock-free typed process calculus , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[19]  Gérard Boudol,et al.  Typing the Use of Resources in a Concurrent Calculus (Extended Abstract) , 1997, ASIAN.

[20]  Oscar Nierstrasz,et al.  Object-oriented software composition , 1995 .