Abstract
The notion of session is fundamental in service oriented applications, as it separates interactions between different instances of the same service, and it groups together basic units of work. Together with sessions, session types were introduced to track the type of the values exchanged in each session. In this paper we propose an algorithm to infer a restricted form of session types and we show that the problem is not directly related to the unification since we are in a context with duality in interactions. The discussion is based on a SCC-like [3] calculus adapted to fit session types. The calculus simplifies the discussion imposing strong syntactic constraints, but the ideas and the proposed algorithm can be adopted to study the type inference for other session oriented calculi. Also an OCaml prototype of the algorithm has been developed to show its feasibility.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bonelli, E., Compagnoni, A.: Multipoint. session types for a distributed calculus. In: Proceedings of 3rd Trustworthy Global Computing, Sophia-Antipolis, France (2007)
Booth, D., Liu, C.: Web Services Description Language (wsdl) Version 2.0 Part 0: Primer (2006), http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327 .
Boreale, M., Bruni, R., Caires, L., De Nicola, R., Lanese, I., Loreti, M., Martins, F., Montanari, U., Ravara, A., Sangiorgi, D., Vasconcelos, V., Zavattaro, G.: SCC: A service centered calculus. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 38–57. Springer, Heidelberg (2006)
Bruni, R., Mezzina, L.G.: A deadlock free type system for a calculus of services and sessions (submitted 2007), http://www.di.unipi.it/~bruni/publications/scctype.ps.gz
Bugliesi, M., Castagna, G., Crafa, S.: Access control for mobile agents: The calculus of boxed ambients. ACM Trans. Program. Lang. Syst. 26(1), 57–124 (2004)
Cardelli, L., Gordon, A.D.: Mobile ambients. Theor. Comput. Sci. 240(1), 177–213 (2000)
Chinnici, R., Haas, H., Lewis, A., Moreau, J.-J., et al.: Web Services Description Language (wsdl) Version 2.0 Part 2: Adjuncts (2006), http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327
Chinnici, R., Moreau, J.-J., Ryman, A., Weerawarana, S.: Web Services Description Language (wsdl) Version 2.0 Part 1: Core Language (2006), http://www.w3.org/TR/2006/CR-wsdl20-20060327
Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Services Description Language (wsdl) 1.1 (2001), http://www.w3.org/TR/2001/NOTE-wsdl-20010315
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)
Gapeyev, V., Levin, M., Pierce, B.: Recursive subtyping revealed. J. Funct. Program. 12(6), 511–548 (2002)
Garralda, P., Compagnoni, A., Dezani-Ciancaglini, M.: Bass: boxed ambients with safe sessions. In: PPDP 2006: Proceedings of the 8th ACM SIGPLAN symposium on Principles and practice of declarative programming, pp. 61–72. ACM Press, New York (2006)
Gay, S., Hole, M.: Subtyping for session types in the pi calculus. Acta Inform. 42(2), 191–225 (2005)
Honda, K., Vasconcelos, V., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998 and ETAPS 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)
Mezzina, L.G.: OCaml prototype of the type inference algorithm, http://www.lmezzina.com/sesstypes.zip
Robinson, J.A.: Logic and logic programming. Commun. ACM 35(3), 40–65 (1992)
Vasconcelos, V., Honda, K.: Principal typing-schemes in a polyadic -calculus (1992)
Vasconcelos, V.T.: Recursive types in a calculus of objects. Transactions of Information Processing Society of Japan 35(9), 1828–1836 (1994)
Vasconcelos, V.T., Tokoro, M.: A typing system for a calculus of objects. In: Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software, London, UK, pp. 460–474. Springer, Heidelberg (1993)
Yoshida, N., Vasconcelos, V.: Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Electron. Notes Theor. Comput. Sci. 171(4), 73–93 (2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mezzina, L.G. (2008). How to Infer Finite Session Types in a Calculus of Services and Sessions. In: Lea, D., Zavattaro, G. (eds) Coordination Models and Languages. COORDINATION 2008. Lecture Notes in Computer Science, vol 5052. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68265-3_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-68265-3_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68264-6
Online ISBN: 978-3-540-68265-3
eBook Packages: Computer ScienceComputer Science (R0)