Advertisement

Two Session Typing Systems for Higher-Order Mobile Processes

  • Dimitris Mostrous
  • Nobuko Yoshida
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4583)

Abstract

This paper proposes two typing systems for session interactions in higher-order mobile processes. Session types for the HOπ-calculus capture high-level structures of communication protocols and code mobility as type abstraction, and can be used to statically check the safe and consistent process composition in communication-centric distributed software. Integration of arbitrary higher-order code mobility and sessions leads to technical difficulties in type soundness, because linear usage of session channels and completion of sessions are required in executed code. By using techniques from the linear λ-calculus, we develop a coherent and tractable session typing system for the HOπ-calculus. We also present an alternative system based on fine-grained process types. The formal comparison between the two systems offers insight on the interplay between higher-order code mobility and session types.

Keywords

Process Type Round Trip Time Initiate Interaction Type Soundness Session Type 
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. On-line Appendix of this paper. http://www.doc.ic.ac.uk/ỹoshida/hopis
  2. Ahern, A., Yoshida, N.: Formalising Java RMI with Explicit Code Mobility (A full version will appear in TCS). In: OOPSLA ’05, pp. 403–422. ACM Press, New York (2005)CrossRefGoogle Scholar
  3. Aspinall, D., Hofmann, M.: Advanced Topics in Types and Programming Languages. In: Pierce, B.C. (ed.) chapter Dependent Types, MIT Press, Cambridge (2005)Google Scholar
  4. Bonelli, E., Compagnoni, A., Gunter, E.: Correspondence Assertions for Process Synchronization in Concurrent Communications. J. of Funct. Progr. 15(2), 219–248 (2005)zbMATHCrossRefGoogle Scholar
  5. Carbone, M., Honda, K., Yoshida, N.: Structured Communication-Centred Programming for Web Services. In: ESOP’07. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007)Google Scholar
  6. Carbone, M., Honda, K., Yoshida, N., Milner, R., Brown, G., Ross-Talbot, S.: A theoretical basis of communication-centred concurrent programming. To be published by W3C (2006) Available at http://www.dcs.qmul.ac.uk/c̃arbonem/cdlpaper/workingnote.pdf
  7. 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
  8. Dezani-Ciancaglini, M., Yoshida, N., Ahern, A., Drossopoulou, S.: A distributed object oriented language with session types. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 299–318. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G.C., Larus, J.R., Levi, S.: Language Support for Fast and Reliable Message-based Communication in Singularity OS. In: Zwaenepoel, W. (ed.) EuroSys2006, ACM SIGOPS, pp. 177–190. ACM Press, New York (2006)Google Scholar
  10. Garralda, P., Compagnoni, A., Dezani-Ciancaglini, M.: BASS: Boxed Ambients with Safe Sessions. In: Maher, M. (ed.) PPDP’06, pp. 61–72. ACM Press, New York (2006)Google Scholar
  11. Gay, S.: Bounded polymorphism in session types. MSCS (to appear)Google Scholar
  12. Gay, S., Hole, M.: Types and Subtypes for Client-Server Interactions. In: Swierstra, S.D. (ed.) ESOP 1999 and ETAPS 1999. LNCS, vol. 1576, pp. 74–90. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  13. Gay, S., Hole, M.: Subtyping for Session Types in the Pi-Calculus. Acta Info. 42(2/3), 191–225 (2005)zbMATHCrossRefGoogle Scholar
  14. Gay, S., Vasconcelos, V.T.: A new approach to functional session types (October 2006)Google Scholar
  15. Hennessy, M., Rathke, J., Yoshida, N.: SafeDpi: A language for controlling mobile code. Acta Informatica 42(4-5), 227–290 (2005)zbMATHCrossRefGoogle Scholar
  16. 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
  17. Hu, R.: Implementation of a distributed mobile Java. Master’s thesis, Imperial College London (2006)Google Scholar
  18. Neubauer, M., Thiemann, P.: An implementation of session types. In: Jayaraman, B. (ed.) PADL 2004. LNCS, vol. 3057, pp. 56–70. Springer, Heidelberg (2004)Google Scholar
  19. Sangiorgi, D.: Expressing Mobility in Process Algebras: First-Order and Higher Order Paradigms. PhD thesis, University of Edinburgh (1992)Google Scholar
  20. 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
  21. Vallecillo, A., Vasconcelos, V.T., Ravara, A.: Typing the Behavior of Objects and Components using Session Types. In: FOCLASA’02. ENTCS, vol. 68(3), Elsevier, Amsterdam (2002)Google Scholar
  22. Vasconcelos, V.T.: A note on a typing system for the higher-order π-calculus. Keio University (September 1993)Google Scholar
  23. Vasconcelos, V.T., Gay, S., Ravara, A.: Typechecking a multithreaded functional language with session types. TCS 368(1-2), 64–87 (2006)zbMATHCrossRefGoogle Scholar
  24. Walker, D.: Advanced Topics in Types and Programming Languages. In: Pierce, B.C. (ed.) Substructural Type Systems, MIT Press, Cambridge (2005)Google Scholar
  25. Web Services Choreography Working Group. Web Services Choreography Description Language. http://www.w3.org/2002/ws/chor/
  26. Yoshida, N.: Channel dependency types for higher-order mobile processes. In: POPL ’04, pp. 147–160. ACM Press, New York (2004), Full version available at www.doc.ic.ac.uk/ỹoshida Google Scholar
  27. Yoshida, N., Hennessy, M.: Assigning types to processes. I & C 172, 82–120 (2002)Google Scholar
  28. Yoshida, N., Vasconcelos, V.T.: Language Primitives and Type Disciplines for Structured Communication-based Programming Revisit. In: SecRet’06. ENTCS, Elsevier, Amsterdam (to appear)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Dimitris Mostrous
    • 1
  • Nobuko Yoshida
    • 1
  1. 1.Department of Computing, Imperial College London 

Personalised recommendations