Skip to main content

Kickstarting Choreographic Programming

  • Conference paper
  • First Online:
Web Services, Formal Methods, and Behavioral Types (WS-FM 2014, WS-FM 2015)

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

Abstract

We present an overview of some recent efforts aimed at the development of Choreographic Programming, a programming paradigm for the production of concurrent software that is guaranteed to be correct by construction from global descriptions of communication behaviour.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.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

Institutional subscriptions

Notes

  1. 1.

    http://www.chor-lang.org/.

  2. 2.

    http://www.jolie-lang.org/.

  3. 3.

    http://www.chor-lang.org/.

References

  1. Business Process Model and Notation. http://www.omg.org/spec/BPMN/2.0/

  2. WS-BPEL OASIS Web Services Business Process Execution Language. http://docs.oasis-open.org/wsbpel/2.0/wsbpel-specification-draft.html

  3. Baltazar, P., Caires, L., Vasconcelos, V.T., Vieira, H.T.: A type system for flexible role assignment in multiparty communicating systems. In: Palamidessi, C., Ryan, M.D. (eds.) TGC 2012. LNCS, vol. 8191, pp. 82–96. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. Bettini, L., Coppo, M., D’Antoni, L., De Luca, M., Dezani-Ciancaglini, M., Yoshida, N.: Global progress in dynamically interleaved multiparty sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 418–433. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  5. Bhargavan, K., Corin, R., Deniélou, P.-M., Fournet, C., Leifer, J.J.: Cryptographic protocol synthesis and verification for multiparty sessions. In: CSF, pp. 124–140. IEEE Computer Society (2009)

    Google Scholar 

  6. Bravetti, M., Zavattaro, G.: Towards a unifying theory for choreography conformance and contract compliance. In: Lumpe, M., Vanderperren, W. (eds.) SC 2007. LNCS, vol. 4829, pp. 34–50. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  7. Briais, S., Nestmann, U.: A formal semantics for protocol narrations. Theor. Comput. Sci. 389(3), 484–511 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  8. Caires, L., Pfenning, F.: Session types as intuitionistic linear propositions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 222–236. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Caleiro, C., Viganò, L., Basin, D.A.: On the semantics of Alice&Bob specifications of security protocols. Theor. Comput. Sci. 367(1–2), 88–122 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  10. Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8 (2012)

    Article  MATH  Google Scholar 

  11. Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: POPL, pp. 263–274 (2013)

    Google Scholar 

  12. Carbone, M., Montesi, F., Schürmann, C.: Choreographies, logically. In: Baldan, P., Gorla, D. (eds.) CONCUR 2014. LNCS, vol. 8704, pp. 47–62. Springer, Heidelberg (2014)

    Google Scholar 

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

    Chapter  Google Scholar 

  14. Girard, J.-Y.: Linear logic. Theor. Comput. Sci. 50, 1–102 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  15. Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  16. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of the POPL, vol. 43, no. 1, pp. 273–284. ACM (2008)

    Google Scholar 

  17. International Telecommunication Union: Recommendation Z.120: message sequence chart (1996)

    Google Scholar 

  18. Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction- and process-oriented choreographies. In: Proceedings of SEFM, pp. 323–332. IEEE (2008)

    Google Scholar 

  19. Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. ACM SIGARCH Comput. Archit. News 36(1), 329–339 (2008)

    Article  Google Scholar 

  20. Montesi, F.: Choreographic programming. Ph.D. thesis, IT University of Copenhagen (2013). http://fabriziomontesi.com/files/m13_phdthesis.pdf

  21. Montesi, F., Guidi, C., Zavattaro, G.: Service-oriented programming with Jolie. In: Web Services Foundations, pp. 81–107 (2014)

    Google Scholar 

  22. Montesi, F., Yoshida, N.: Compositional choreographies. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013 – Concurrency Theory. LNCS, vol. 8052, pp. 425–439. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  23. Needham, R.M., Schroeder, M.D.: Using encryption for authentication in large networks of computers. Commun. ACM 21(12), 993–999 (1978)

    Article  MATH  Google Scholar 

  24. Neykova, R., Yoshida, N., Hu, R.: SPY: local verification of global protocols. In: Legay, A., Bensalem, S. (eds.) RV 2013. LNCS, vol. 8174, pp. 358–363. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  25. Preda, M.D., Gabbrielli, M., Giallorenzo, S., Lanese, I., Mauro, J.: Deadlock freedom by construction for distributed adaptive applications. CoRR, abs/1407.0970 (2014)

    Google Scholar 

  26. Dalla Preda, M., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M.: AIOCJ: a choreographic framework for safe adaptive distributed applications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 161–170. springer, Heidelberg (2014)

    Google Scholar 

  27. Qiu, Z., Zhao, X., Cai, C., Yang, H.: Towards the theoretical foundation of choreography. In: WWW, pp. 973–982, United States. IEEE Computer Society Press (2007)

    Google Scholar 

  28. W3C WS-CDL Working Group: Web services choreography description language version 1.0. (2004). http://www.w3.org/TR/2004/WD-ws-cdl-10-20040427/

  29. Yoshida, N., Hu, R., Neykova, R., Ng, N.: The scribble protocol language. In: Abadi, M., Lluch Lafuente, A. (eds.) TGC 2013. LNCS, vol. 8358, pp. 22–41. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

Download references

Acknowledgements

The author was supported by the Danish Council for Independent Research project Choreographies for Reliable and efficient Communication software (CRC), grant No. DFF–4005-00304, and by the EU COST Action IC1201 Behavioural Types for Reliable Large-Scale Software Systems (BETTY).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabrizio Montesi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Montesi, F. (2016). Kickstarting Choreographic Programming. In: Hildebrandt, T., Ravara, A., van der Werf, J., Weidlich, M. (eds) Web Services, Formal Methods, and Behavioral Types. WS-FM WS-FM 2014 2015. Lecture Notes in Computer Science(), vol 9421. Springer, Cham. https://doi.org/10.1007/978-3-319-33612-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-33612-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-33611-4

  • Online ISBN: 978-3-319-33612-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics