Skip to main content

How to Infer Finite Session Types in a Calculus of Services and Sessions

  • Conference paper
Coordination Models and Languages (COORDINATION 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5052))

Included in the following conference series:

  • 328 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Bonelli, E., Compagnoni, A.: Multipoint. session types for a distributed calculus. In: Proceedings of 3rd Trustworthy Global Computing, Sophia-Antipolis, France (2007)

    Google Scholar 

  2. 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 .

  3. 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)

    Chapter  Google Scholar 

  4. 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

  5. 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)

    Article  Google Scholar 

  6. Cardelli, L., Gordon, A.D.: Mobile ambients. Theor. Comput. Sci. 240(1), 177–213 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  7. 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

  8. 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

  9. 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

  10. 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)

    Chapter  Google Scholar 

  11. Gapeyev, V., Levin, M., Pierce, B.: Recursive subtyping revealed. J. Funct. Program. 12(6), 511–548 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. Gay, S., Hole, M.: Subtyping for session types in the pi calculus. Acta Inform. 42(2), 191–225 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Mezzina, L.G.: OCaml prototype of the type inference algorithm, http://www.lmezzina.com/sesstypes.zip

  16. Robinson, J.A.: Logic and logic programming. Commun. ACM 35(3), 40–65 (1992)

    Article  Google Scholar 

  17. Vasconcelos, V., Honda, K.: Principal typing-schemes in a polyadic -calculus (1992)

    Google Scholar 

  18. Vasconcelos, V.T.: Recursive types in a calculus of objects. Transactions of Information Processing Society of Japan 35(9), 1828–1836 (1994)

    MathSciNet  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Doug Lea Gianluigi Zavattaro

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics