Advertisement

On Progress for Structured Communications

  • Mariangiola Dezani-Ciancaglini
  • Ugo de’Liguoro
  • Nobuko Yoshida
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4912)

Abstract

We propose a new typing system for the π-calculus with sessions, which ensures the progress property, i.e. once a session has been initiated, typable processes will never starve at session channels. In the current literature progress for session types has been guaranteed only in the case of nested sessions, disallowing more than two session channels interfered in a single thread. This was a severe restriction since many structured communications need combinations of sessions. We overcome this restriction by inferring the order of channel usage, but avoiding any tagging of channels and names, neither explicit nor inferred. The simplicity of the typing system essentially relies on the session typing discipline, where sequencing and branching of communications are already structured by types. The resulting typing enjoys a stronger progress property than that one in the literature: it assures that for each well-typed process P which contains an open session there is an irreducible process Q such that the parallel composition P|Q is well-typed too and it always reduces, also in presence of interfered sessions.

Keywords

Type System Parallel Composition Reduction Rule Typing Rule Session Communication 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Beaton, J., Weijiland, W.: Process Algebra. Cambridge Tracks in Theoretical Computer Science. In: CUP, vol. 18 (2000)Google Scholar
  2. 2.
    Bonelli, E., Compagnoni, A., Gunter, E.: Correspondence Assertions for Process Synchronization in Concurrent Communications. Journal of Functional Programming 15(2), 219–248 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Briais, S., Nestmann, U.: A Formal Semantics for Protocol Narrations. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 163–181. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Caires, L.: Spatial-Behavioral Types, Distributed Services, and Resources.. In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2007. LNCS, vol. 4661, pp. 263–280. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Carbone, M., Honda, K., Yoshida, N.: Structured Communication-Centred Programming for Web Services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Coppo, M., Dezani-Ciancaglini, M., Yoshida, N.: Asynchronous Session Types and Progress for Object-Oriented Languages. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 1–31. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Corin, R., Deniélou, P.-M., Fournet, C., Bhargavan, K., Leifer, J.: Secure Implementations for Typed Session Abstractions. In: CSF 2007, pp. 170–186. IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  8. 8.
    Dezani-Ciancaglini, M., Mostrous, D., Yoshida, N., Drossopoulou, S.: Session Types for Object-Oriented Languages. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 328–352. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Gay, S.: Bounded Polymorphism in Session Types. Mathematical Structures in Computer Science (to appear, 2007)Google Scholar
  10. 10.
    Gay, S., Hole, M.: Subtyping for Session Types in the Pi-Calculus. Acta Informatica 42(2/3), 191–225 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Gay, S., Vasconcelos, V.T.: Asynchronous Functional Session Types. TR 2007–251, Department of Computing, University of Glasgow (2007)Google Scholar
  12. 12.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Disciplines for Structured Communication-based Programming. In: Hankin, C. (ed.) ESOP 1998 and ETAPS 1998. LNCS, vol. 1381, pp. 22–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  13. 13.
    Hu, R., Yoshida, N., Honda, K.: Language and Runtime Implementation of Sessions for Java. In: ICOOOLPS 2007 (2007), http://www.doc.ic.ac.uk/~rh105/sessiondj.html
  14. 14.
    Igarashi, A., Kobayashi, N.: A Generic Type System for the Pi-Calculus. Theoretical Computer Science 311(1-3), 121–163 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Kobayashi, N.: A Partially Deadlock-Free Typed Process Calculus. ACM TOPLAS 20(2), 436–482 (1998)CrossRefGoogle Scholar
  16. 16.
    Kobayashi, N.: Type Systems for Concurrent Programs. In: Aichernig, B.K., Maibaum, T.S.E. (eds.) Formal Methods at the Crossroads. From Panacea to Foundational Support. LNCS, vol. 2757, pp. 439–453. Springer, Heidelberg (2003)Google Scholar
  17. 17.
    Kobayashi, N.: A Type System for Lock-Free Processes. Information and Computation 177, 122–159 (2002)zbMATHMathSciNetGoogle Scholar
  18. 18.
    Kobayashi, N.: Type-Based Information Flow Analysis for the Pi-Calculus. Acta Informatica 42(4–5), 291–347 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Kobayashi, N.: A New Type System for Deadlock-Free Processes. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 233–247. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    Kobayashi, N.: Type Systems for Concurrent Programs. Extended version of [17], Tohoku University (2007)Google Scholar
  21. 21.
    Laneve, C., Padovani, L.: The Must Preorder Revisited: An Algebraic Theory for Web Services Contracts. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR. LNCS, vol. 4703, pp. 212–225. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Takeuchi, K., Honda, K., Kubo, M.: An Interaction-based Language and its Typing System. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994)Google Scholar
  23. 23.
    Web Services Choreography Working Group. Web Services Choreography Description Language, http://www.w3.org/2002/ws/chor/
  24. 24.
    Yoshida, N., Berger, M., Honda, K.: Strong Normalisation in the π-Calculus. Information and Computation 191(2), 145–202 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Yoshida, N., Vasconcelos, V.T.: Language Primitives and Type Disciplines for Structured Communication-based Programming Revisited. In: SecReT 2006. ENTCS, vol. 171, pp. 73–93. Elsevier, Amsterdam (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Mariangiola Dezani-Ciancaglini
    • 1
  • Ugo de’Liguoro
    • 1
  • Nobuko Yoshida
    • 2
  1. 1.Dipartimento di InformaticaUniversità di Torino 
  2. 2.Department of ComputingImperial College London 

Personalised recommendations