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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
On-line Appendix of this paper. http://www.doc.ic.ac.uk/ỹoshida/hopis
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)
Aspinall, D., Hofmann, M.: Advanced Topics in Types and Programming Languages. In: Pierce, B.C. (ed.) chapter Dependent Types, MIT Press, Cambridge (2005)
Bonelli, E., Compagnoni, A., Gunter, E.: Correspondence Assertions for Process Synchronization in Concurrent Communications. J. of Funct. Progr. 15(2), 219–248 (2005)
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)
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
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)
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)
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)
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)
Gay, S.: Bounded polymorphism in session types. MSCS (to appear)
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)
Gay, S., Hole, M.: Subtyping for Session Types in the Pi-Calculus. Acta Info. 42(2/3), 191–225 (2005)
Gay, S., Vasconcelos, V.T.: A new approach to functional session types (October 2006)
Hennessy, M., Rathke, J., Yoshida, N.: SafeDpi: A language for controlling mobile code. Acta Informatica 42(4-5), 227–290 (2005)
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)
Hu, R.: Implementation of a distributed mobile Java. Master’s thesis, Imperial College London (2006)
Neubauer, M., Thiemann, P.: An implementation of session types. In: Jayaraman, B. (ed.) PADL 2004. LNCS, vol. 3057, pp. 56–70. Springer, Heidelberg (2004)
Sangiorgi, D.: Expressing Mobility in Process Algebras: First-Order and Higher Order Paradigms. PhD thesis, University of Edinburgh (1992)
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)
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)
Vasconcelos, V.T.: A note on a typing system for the higher-order π-calculus. Keio University (September 1993)
Vasconcelos, V.T., Gay, S., Ravara, A.: Typechecking a multithreaded functional language with session types. TCS 368(1-2), 64–87 (2006)
Walker, D.: Advanced Topics in Types and Programming Languages. In: Pierce, B.C. (ed.) Substructural Type Systems, MIT Press, Cambridge (2005)
Web Services Choreography Working Group. Web Services Choreography Description Language. http://www.w3.org/2002/ws/chor/
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
Yoshida, N., Hennessy, M.: Assigning types to processes. I & C 172, 82–120 (2002)
Yoshida, N., Vasconcelos, V.T.: Language Primitives and Type Disciplines for Structured Communication-based Programming Revisit. In: SecRet’06. ENTCS, Elsevier, Amsterdam (to appear)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Mostrous, D., Yoshida, N. (2007). Two Session Typing Systems for Higher-Order Mobile Processes. In: Della Rocca, S.R. (eds) Typed Lambda Calculi and Applications. TLCA 2007. Lecture Notes in Computer Science, vol 4583. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73228-0_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-73228-0_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73227-3
Online ISBN: 978-3-540-73228-0
eBook Packages: Computer ScienceComputer Science (R0)