Synthesis of Distributed and Adaptable Coordinators to Enable Choreography Evolution

  • Marco Autili
  • Paola Inverardi
  • Alexander Perucci
  • Massimo TivoliEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9640)


Software systems are often built by composing together software services distributed over the Internet. Choreographies are a form of decentralized composition that models the external interaction of the participant services by specifying peer-to-peer message exchanges from a global perspective. Nowadays, very few approaches address the problem of actually realizing choreographies in an automatic way. Most current approaches are rather static and are poorly suited to the need of the Future Internet. In this chapter, we propose a method for the automatic synthesis of evolving choreographies. Coordination software entities are synthesized in order to proxify and control the participant services’ interaction. When interposed among the services, coordination entities enforce the collaboration specified by the choreography. The ability to evolve the coordination logic in a modular way enables choreography evolution in response to possible changes. We illustrate our method at work on a running example in the domain of Intelligent Transportation Systems (ITS).



This research work has been supported by the Ministry of Education, Universities and Research, prot. 2012E47TM2 (project IDEAS - Integrated Design and Evolution of Adaptive Systems), by the European Union’s H2020 Programme under grant agreement number 644178 (project CHOReVOLUTION - Automated Synthesis of Dynamic and Secured Choreographies for the Future Internet), and by the Ministry of Economy and Finance, Cipe resolution n. 135/2012 (project INCIPICT - INnovating CIty Planning through Information and Communication Technologies).


  1. 1.
    Andersson, J., Baresi, L., Bencomo, N., de Lemos, R., Gorla, A., Inverardi, P., Vogel, T.: Software engineering processes for self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 51–75. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  2. 2.
    Angelopoulos, K., Souza, V.E.S., Pimentel, J.: Requirements and architectural approaches to adaptive software systems: a comparative study. In: SEAMS 2013, pp. 23–32 (2013)Google Scholar
  3. 3.
    Autili, M., Inverardi, P., Tivoli, M.: Automated synthesis of service choreographies. IEEE Softw. 32(1), 50–57 (2015)CrossRefzbMATHGoogle Scholar
  4. 4.
    Autili, M., Tivoli, M.: Distributed enforcement of service choreographies. In: FOCLASA (2014)Google Scholar
  5. 5.
    Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  6. 6.
    Calinescu, R., Rafiq, Y.: Using intelligent proxies to develop self-adaptive service-based systems. In: TASE 2013, pp. 131–134 (2013)Google Scholar
  7. 7.
    Cámara, J., Correia, P., De Lemos, R., Garlan, D., Gomes, P., Schmerl, B., Ventura, R.: Evolving an adaptive industrial software system to use architecture-based self-adaptation. In: SEAMS 2013, pp. 13–22 (2013)Google Scholar
  8. 8.
    Cardellini, V., Casalicchio, E., Grassi, V., Iannucci, S., Lo Presti, F., Mirandola, R.: MOSES: a framework for QoS driven runtime adaptation of service-oriented systems. IEEE Trans. Softw. Eng. 38(5), 1138–1159 (2012)CrossRefGoogle Scholar
  9. 9.
    Cheng, B.H.C., et al.: Using models at runtime to address assurance for self-adaptive systems. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 101–136. Springer, Cham (2014). CrossRefGoogle Scholar
  10. 10.
    Cugola, G., Ghezzi, C., Pinto, L.: DSOL: a declarative approach to self-adaptive service orchestrations. Computing 94(7), 579–617 (2012)CrossRefzbMATHGoogle Scholar
  11. 11.
    de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  12. 12.
    European Commission: Digital Agenda for Europe - Future Internet Research and Experimentation (FIRE) initiative (2015)Google Scholar
  13. 13.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: A formal approach to adaptive software: continuous assurance of non-functional requirements. Formal Aspects Comput. 24(2), 163–186 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: Proceedings of WOSS 2002, pp. 27–32 (2002)Google Scholar
  15. 15.
    Gomaa, H., Hashimoto, K.: Dynamic self-adaptation for distributed service-oriented transactions. In: SEAMS 2012, pp. 11–20 (2012)Google Scholar
  16. 16.
    Güdemann, M., Salaün, G., Ouederni, M.: Counterexample guided synthesis of monitors for realizability enforcement. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, pp. 238–253. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  17. 17.
    Hu, D.H., Yang, Q.: CIGAR: concurrent and interleaving goal and activity recognition. In: AAAI 2008, pp. 1363–1368 (2008)Google Scholar
  18. 18.
    Huebscher, M.C., McCann, J.A.: A survey of autonomic computing - degrees, models, and applications. ACM Comput. Surv. 40(3), 1–28 (2008)CrossRefGoogle Scholar
  19. 19.
    IBM: An Architectural Blueprint for Autonomic Computing. White Paper, 4th edn., IBM (2006)Google Scholar
  20. 20.
    Kazhamiakin, R., Pistore, M.: Analysis of realizability conditions for web service choreographies. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 61–76. Springer, Heidelberg (2006). CrossRefGoogle Scholar
  21. 21.
    Kazhamiakin, R., Pistore, M.: Choreography conformance analysis: asynchronous communications and information alignment. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 227–241. Springer, Heidelberg (2006). CrossRefGoogle Scholar
  22. 22.
    Kephart, J., Chess, D.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)CrossRefGoogle Scholar
  23. 23.
    Kramer, J., Magee, J.: The evolving philosophers problem: dynamic change management. IEEE Trans. Softw. Eng. 16(11), 1293–1306 (1990)CrossRefGoogle Scholar
  24. 24.
    Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: 2007 Future of Software Engineering, FOSE 2007, pp. 259–268, May 2007Google Scholar
  25. 25.
    Lamport, L.: Time clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)CrossRefzbMATHGoogle Scholar
  26. 26.
    Leite, L., Moreira, C.E., Cordeiro, D., Gerosa, M.A., Kon, F.: Deploying large-scale service compositions on the cloud with the CHOReOS Enactment Engine. In: Proceedings of 13th IEEE International Symposium on Network Computing and Applications (NCA 2014), pp. 121–128. IEEE (2014)Google Scholar
  27. 27.
    Salifu, M., Yu, Y., Bandara, A.K., Nuseibeh, B.: Analysing monitoring and switching problems for adaptive systems. J. Syst. Softw. 85(12), 2829–2839 (2012)CrossRefGoogle Scholar
  28. 28.
    Santhanam, G.R., Basu, S., Honavar, V.: TCP – compose* – a TCP-net based algorithm for efficient composition of web services using qualitative preferences. In: Bouguettaya, A., Krueger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 453–467. Springer, Heidelberg (2008). CrossRefGoogle Scholar
  29. 29.
    Song, S., Lee, S.-W.: A goal-driven approach for adaptive service composition using planning. Math. Comput. Model. 58(1–2), 261–273 (2013)CrossRefGoogle Scholar
  30. 30.
    Swanson, J., Cohen, M.B., Dwyer, M.B., Garvin, B.J., Firestone, J.: Beyond the rainbow: self-adaptive failure avoidance in configurable systems. In: FSE 2014, pp. 377–388 (2014)Google Scholar
  31. 31.
    Trainotti, M., et al.: ASTRO: supporting composition and execution of web services. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 495–501. Springer, Heidelberg (2005). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Marco Autili
    • 1
  • Paola Inverardi
    • 1
  • Alexander Perucci
    • 1
  • Massimo Tivoli
    • 1
    Email author
  1. 1.Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità dell’AquilaL’AquilaItaly

Personalised recommendations