The Evolution of Jolie

From Orchestrations to Adaptable Choreographies
  • Ivan Lanese
  • Fabrizio Montesi
  • Gianluigi Zavattaro
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8950)


Jolie is an orchestration language conceived during Sensoria, an FP7 European project led by Martin Wirsing in the time frame 2005–2010. Jolie was designed having in mind both the novel –at project time– concepts related to Service-Oriented Computing and the traditional approach to the modelling of concurrency typical of process calculi. The foundational work done around Jolie during Sensoria has subsequently produced many concrete results. In this paper we focus on two distinct advancements, one aiming at the development of dynamically adaptable orchestrated systems and one focusing on global choreographic specifications. These works, more recently, contributed to the realisation of a framework for programming dynamically evolvable distributed Service-Oriented applications that are correct-by-construction.


Dynamic Adaptation Adaptation Rule Adaptation Server Process Calculus Message Sequence Chart 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anderson, G., Rathke, J.: Dynamic software update for message passing programs. In: Jhala, R., Igarashi, A. (eds.) APLAS 2012. LNCS, vol. 7705, pp. 207–222. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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
  4. 4.
    Boreale, M., et al.: 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)CrossRefGoogle Scholar
  5. 5.
    Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: Sessions and pipelines for structured service programming. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 19–38. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Briais, S., Nestmann, U.: A formal semantics for protocol narrations. Theor. Comput. Sci. 389(3), 484–511 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Bruni, R., Hölzl, M., Koch, N., Lluch Lafuente, A., Mayer, P., Montanari, U., Schroeder, A., Wirsing, M.: A service-oriented UML profile with formal support. In: Baresi, L., Chi, C.-H., Suzuki, J. (eds.) ICSOC-ServiceWave 2009. LNCS, vol. 5900, pp. 455–469. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Business Process Model and Notation,
  9. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8 (2012)CrossRefzbMATHGoogle Scholar
  11. 11.
    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
  12. 12.
    Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On global types and multi-party session. Logical Methods in Computer Science 8(1) (2012)Google Scholar
  13. 13.
    Clark, A., Gilmore, S., Tribastone, M.: Quantitative analysis of web services using SRMC. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 296–339. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Coppo, M., Dezani-Ciancaglini, M., Venneri, B.: Self-adaptive monitors for multiparty sessions. In: PDP, pp. 688–696. IEEE Computer Society (2014)Google Scholar
  15. 15.
    Dalla Preda, M., Gabbrielli, M., Guidi, C., Mauro, J., Montesi, F.: Interface-based service composition with aggregation. In: De Paoli, F., Pimentel, E., Zavattaro, G. (eds.) ESOCC 2012. LNCS, vol. 7592, pp. 48–63. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  16. 16.
    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
  17. 17.
    Di Giusto, C., Pérez, J.A.: Disciplined structured communications with consistent runtime adaptation. In: Shin, S.Y., Maldonado, J.C. (eds.) SAC, pp. 1913–1918. ACM (2013)Google Scholar
  18. 18.
    Fiadeiro, J.L., Lopes, A., Bocchi, L.: A formal approach to service component architecture. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 193–213. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Foster, H., Uchitel, S., Magee, J., Kramer, J.: LTSA-WS: a tool for model-based verification of web service compositions and choreography. In: Osterweil, L.J., Rombach, H.D., Soffa, M.L. (eds.) ICSE, pp. 771–774. ACM (2006)Google Scholar
  20. 20.
    Fu, X., Bultan, T., Su, J.: Realizability of conversation protocols with message contents. International Journal on Web Service Res. 2(4), 68–93 (2005)CrossRefGoogle Scholar
  21. 21.
    Gabbrielli, M., Giallorenzo, S., Montesi, F.: Service-oriented architectures: From design to production exploiting workflow patterns. In: Omatu, S., Bersini, H., Corchado Rodríguez, J.M., González, S.R., Pawlewski, P., Bucciarelli, E. (eds.) Distributed Computing and Artificial Intelligence 11th International Conference. AISC, vol. 290, pp. 131–139. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  22. 22.
    Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic error handling in service oriented applications. Fundam. Inform. 95(1), 73–102 (2009)MathSciNetzbMATHGoogle Scholar
  23. 23.
    Harel, D., Thiagarajan, P.: Message sequence charts. In: UML for real, pp. 77–105. Kluwer Academic Publishers (2003)Google Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL, pp. 273–284. ACM (2008)Google Scholar
  26. 26.
    International Telecommunication Union. Recommendation Z.120: Message sequence chart (1996)Google Scholar
  27. 27.
    Lanese, I., Bucchiarone, A., Montesi, F.: A framework for rule-based dynamic adaptation. In: Wirsing, M., Hofmann, M., Rauschmayer, A. (eds.) TGC 2010, LNCS, vol. 6084, pp. 284–300. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  28. 28.
    Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction- and process-oriented choreographies. In: SEFM, pp. 323–332. IEEE Computer Society (2008)Google Scholar
  29. 29.
    Lanese, I., Martins, F., Vasconcelos, V.T., Ravara, A.: Disciplining orchestration and conversation in service-oriented computing. In: SEFM, pp. 305–314. IEEE Computer Society (2007)Google Scholar
  30. 30.
    Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  31. 31.
    Lapadula, A., Pugliese, R., Tiezzi, F.: Using formal methods to develop WS-BPEL applications. Sci. Comput. Program. 77(3), 189–213 (2012)CrossRefGoogle Scholar
  32. 32.
    Leite, L.A.F., Oliva, G.A., Nogueira, G.M., Gerosa, M.A., Kon, F., Milojicic, D.S.: A systematic literature review of service choreography adaptation. Service Oriented Computing and Applications 7(3), 199–216 (2013)CrossRefGoogle Scholar
  33. 33.
    Montesi, F.: Choreographic Programming. Ph.D. thesis, IT University of Copenhagen (2013),
  34. 34.
    Montesi, F., Guidi, C., Zavattaro, G.: Composing Services with JOLIE. In: Proc. of ECOWS, pp. 13–22. IEEE Computer Society (2007)Google Scholar
  35. 35.
    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)CrossRefGoogle Scholar
  36. 36.
    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)CrossRefGoogle Scholar
  37. 37.
    ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: An action/State-based model-checking approach for the analysis of communication protocols for service-oriented applications. In: Leue, S., Merino, P. (eds.) FMICS 2007. LNCS, vol. 4916, pp. 133–148. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  38. 38.
    van der Aalst, W.M.P., ter Hofstede, A.H.M., Kiepuszewski, B., Barros, A.P.: Workflow patterns. Distributed and Parallel Databases 14(1), 5–51 (2003)CrossRefGoogle Scholar
  39. 39.
    W3C WS-CDL Working Group. Web services choreography description language version 1.0 (2004),
  40. 40.
    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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Ivan Lanese
    • 1
  • Fabrizio Montesi
    • 2
  • Gianluigi Zavattaro
    • 1
  1. 1.Dep. of Computer Science and EngineeringINRIA FoCUS Team - Univ. BolognaBolognaItaly
  2. 2.Dep. of Mathematics and Computer ScienceUniversity of Southern DenmarkOdenseDenmark

Personalised recommendations