Skip to main content

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

  • Conference paper

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

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.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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