Advertisement

The Paths to Choreography Extraction

  • Luís Cruz-Filipe
  • Kim S. Larsen
  • Fabrizio Montesi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10203)

Abstract

Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification and synthesis of correct-by-construction software. They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most software does not come with choreographies yet, which prevents their application. To attack this problem, previous work investigated choreography extraction, which automatically constructs a choreography that describes the behavior of a given set of programs or protocol specifications.

We propose a new extraction methodology that improves on the state of the art: we can deal with programs that are equipped with state and internal computation; time complexity is dramatically better; and we capture programs that work by exploiting asynchronous communication.

References

  1. 1.
    Arun-Kumar, S., Hennessy, M.: An efficiency preorder for processes. Acta Inf. 29(8), 737–760 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Basu, S., Bultan, T.: Choreography conformance via synchronizability. In: WWW, pp. 795–804 (2011)Google Scholar
  3. 3.
    Business Process Model and Notation. http://www.omg.org/spec/BPMN/2.0/
  4. 4.
    Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8 (2012)Google Scholar
  6. 6.
    Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: Giacobazzi, R., Cousot, R. (eds.) POPL, pp. 263–274. ACM (2013)Google Scholar
  7. 7.
    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). doi: 10.1007/978-3-662-44584-6_5 Google Scholar
  8. 8.
    Carbone, M., Dardha, O., Montesi, F.: Progress as compositional lock-freedom. In: Kühn, E., Pugliese, R. (eds.) COORDINATION 2014. LNCS, vol. 8459, pp. 49–64. Springer, Heidelberg (2014). doi: 10.1007/978-3-662-43376-8_4 CrossRefGoogle Scholar
  9. 9.
    Carbone, M., Lindley, S., Montesi, F., Schürmann, C., Wadler, P.: Coherence generalises duality: A logical explanation of multiparty session types. In: Desharnais, J., Jagadeesan, R. (eds.) 27th International Conference on Concurrency Theory, CONCUR 2016, August 23–26, 2016, Québec City, Canada, vol. 59 of LIPIcs, pp. 33:1–33:15. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2016)Google Scholar
  10. 10.
    Coppo, M., Dezani-Ciancaglini, M., Yoshida, N., Padovani, L.: Global progress for dynamically interleaved multiparty sessions. Math. Struct. Comput. Sci. 26(2), 238–302 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Cruz-Filipe, L., Montesi, F.: A core model for choreographic programming. In: FACS 2016. LNCS. Springer (accepted for publication)Google Scholar
  12. 12.
    Cruz-Filipe, L., Montesi, F.: Choreographies, divided and conquered. CoRR, abs/1602.03729 (2016). Submitted for publicationGoogle Scholar
  13. 13.
    Cruz-Filipe, L., Montesi, F.: Choreographies in practice. In: Albert, E., Lanese, I. (eds.) FORTE 2016. LNCS, vol. 9688, pp. 114–123. Springer, Cham (2016). doi: 10.1007/978-3-319-39570-8_8 CrossRefGoogle Scholar
  14. 14.
    Preda, M., Gabbrielli, M., Giallorenzo, S., Lanese, I., Mauro, J.: Dynamic choreographies. In: Holvoet, T., Viroli, M. (eds.) COORDINATION 2015. LNCS, vol. 9037, pp. 67–82. Springer, Cham (2015). doi: 10.1007/978-3-319-19282-6_5 Google Scholar
  15. 15.
    Deniélou, P.-M., Yoshida, N.: Multiparty session types meet communicating automata. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 194–213. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28869-2_10 CrossRefGoogle Scholar
  16. 16.
    Honda, K., Mukhamedov, A., Brown, G., Chen, T.-C., Yoshida, N.: Scribbling interactions with a formal foundation. In: Natarajan, R., Ojo, A. (eds.) ICDCIT 2011. LNCS, vol. 6536, pp. 55–75. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-19056-8_4 CrossRefGoogle Scholar
  17. 17.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Lange, J., Tuosto, E.: Synthesising choreographies from local session types. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 225–239. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-32940-1_17 CrossRefGoogle Scholar
  19. 19.
    Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: Rajamani, S.K., Walker, D. (eds.) Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, Mumbai, India, pp. 221–232. ACM, 15–17 January 2015Google Scholar
  20. 20.
    Montesi, F.: Choreographic Programming. Ph.D. thesis, IT University of Copenhagen (2013). http://fabriziomontesi.com/files/choreographic_programming.pdf
  21. 21.
    Montesi, F., Yoshida, N.: Compositional choreographies. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013. LNCS, vol. 8052, pp. 425–439. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-40184-8_30 CrossRefGoogle Scholar
  22. 22.
    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). doi: 10.1007/978-3-642-00590-9_23 CrossRefGoogle Scholar
  23. 23.
    Ng, N., Yoshida, N.: Pabble: Parameterised scribble for parallel programming. In: 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP 2014, Torino, Italy, pp. 707–714. IEEE Computer Society, 12–14 February 2014Google Scholar
  24. 24.
    Sangiorgi, D., Walker, D.: The \(\pi \)-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  25. 25.
    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/

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Luís Cruz-Filipe
    • 1
  • Kim S. Larsen
    • 1
  • Fabrizio Montesi
    • 1
  1. 1.University of Southern DenmarkOdenseDenmark

Personalised recommendations