Advertisement

Parameterised Multiparty Session Types

  • Nobuko Yoshida
  • Pierre-Malo Deniélou
  • Andi Bejleri
  • Raymond Hu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6014)

Abstract

For many application-level distributed protocols and parallel algorithms, the set of participants, the number of messages or the interaction structure are only known at run-time. This paper proposes a dependent type theory for multiparty sessions which can statically guarantee type-safe, deadlock-free multiparty interactions among processes whose specifications are parameterised by indices. We use the primitive recursion operator from Gödel’s System \(\mathcal T\) to express a wide range of communication patterns while keeping type checking decidable. We illustrate our type theory through non-trivial programming and verification examples taken from parallel algorithms and Web services usecases.

Keywords

Dependent Type Session Type Global Type Index Sort Multiparty Protocol 
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.

References

  1. 1.
    Aspinall, D., Hofmann, M.: Dependent Types. In: Advanced Topics in Types and Programming Languages. MIT Press, Cambridge (2005)Google Scholar
  2. 2.
    Ateniese, G., Steiner, M., Tsudik, G.: Authenticated group key agreement and friends. In: CCS 1998: Proceedings of the 5th ACM conference on Computer and communications security, pp. 17–26. ACM, New York (1998)CrossRefGoogle Scholar
  3. 3.
    Bettini, L., et al.: Global progress in dynamically interfered multiparty sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 418–433. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Bhargavan, K., Corin, R., Deniélou, P.-M., Fournet, C., Leifer, J.: Cryptographic protocol synthesis and verification for multiparty sessions. In: CSF, pp. 124–140 (2009)Google Scholar
  5. 5.
    Bonelli, E., Compagnoni, A.: Multipoint session types for a distributed calculus. In: Barthe, G., Fournet, C. (eds.) TGC 2007 and FODO 2008. LNCS, vol. 4912, pp. 240–256. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Caires, L., Vieira, H.T.: Conversation types. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 285–300. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centred programming for web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Carbone, M., Yoshida, N., Honda, K.: Asynchronous session types: Exceptions and multiparty interactions. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 187–212. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Castagna, G., Padovani, L.: Contracts for mobile processes. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009 - Concurrency Theory. LNCS, vol. 5710, pp. 211–228. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Cooley, J.W., Tukey, J.W.: An algorithm for the machine calculation of complex fourier series. Mathematics of Computation 19(90), 297–301 (1965)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
  12. 12.
    Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge Tracts in Theoretical Computer Science, vol. 7. CUP, Cambridge (1989)zbMATHGoogle Scholar
  13. 13.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty Asynchronous Session Types. In: POPL 2008, pp. 273–284. ACM, New York (2008)CrossRefGoogle Scholar
  14. 14.
    Hu, R., Yoshida, N., Honda, K.: Session-Based Distributed Programming in Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Leighton, F.T.: Introduction to parallel algorithms and architectures: arrays, trees, hypercubes. Morgan Kaufmann, San Francisco (1991)Google Scholar
  16. 16.
    Martin-Lőf, P.: Infinite terms and a system of natural deduction. In: Compositio Mathematica, pp. 93–103. Wolters-Noordhoof (1972)Google Scholar
  17. 17.
    Mostrous, D., Yoshida, N., Honda, K.: Global principal typing in partially commutative asynchronous sessions. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 316–332. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    Nelson, N.: Primitive recursive functionals with dependent types. In: Schmidt, D., Main, M.G., Melton, A.C., Mislove, M.W., Brookes, S.D. (eds.) MFPS 1991. LNCS, vol. 598, pp. 125–143. Springer, Heidelberg (1992)Google Scholar
  19. 19.
    Web Services Choreography Requirements (No. 11), http://www.w3.org/TR/ws-chor-reqs
  20. 20.
    Tait, W.W.: Infinitely long terms of transfinite type. In: Formal Systems and Recursive Functions, pp. 177–185. North Holland, Amsterdam (1965)Google Scholar
  21. 21.
    Web Services Choreography Working Group. Choreography Description Language, http://www.w3.org/2002/ws/chor/
  22. 22.
    Xi, H., Pfenning, F.: Dependent types in practical programming. In: POPL, pp. 214–227 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Nobuko Yoshida
    • 1
  • Pierre-Malo Deniélou
    • 1
  • Andi Bejleri
    • 1
  • Raymond Hu
    • 1
  1. 1.Department of ComputingImperial CollegeLondon

Personalised recommendations