Skip to main content

Synthesis of Distributed and Adaptable Coordinators to Enable Choreography Evolution

  • Conference paper
  • First Online:
Software Engineering for Self-Adaptive Systems III. Assurances

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

  • 1127 Accesses

Abstract

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 is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    www.omg.org/spec/BPMN/2.0.

  2. 2.

    http://www.trafikverket.se/en/.

  3. 3.

    Web Services Description Language, www.w3.org/TR/wsdl.

  4. 4.

    Web Services Business Process Execution Language, https://www.oasis-open.org/committees/wsbpel.

  5. 5.

    If possible candidate services are specified directly by the user of the synthesis processor, the service discovery step can be skipped.

  6. 6.

    Atlas Transformation Language www.eclipse.org/atl.

  7. 7.

    www.waze.com.

  8. 8.

    From the initial state to S15, and by assuming that the conditional expression \(enoughRoutes\) \(==\) \(true\) is evaluated to true.

  9. 9.

    http://www.ow2.org/view/Future_Internet.

  10. 10.

    http://www.chorevolution.eu/.

  11. 11.

    http://www.choreos.eu/.

References

  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). https://doi.org/10.1007/978-3-642-35813-5_3

    Chapter  Google Scholar 

  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. Autili, M., Inverardi, P., Tivoli, M.: Automated synthesis of service choreographies. IEEE Softw. 32(1), 50–57 (2015)

    Article  MATH  Google Scholar 

  4. Autili, M., Tivoli, M.: Distributed enforcement of service choreographies. In: FOCLASA (2014)

    Google Scholar 

  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). https://doi.org/10.1007/978-3-642-02161-9_3

    Chapter  Google Scholar 

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

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-319-08915-7_4

    Chapter  Google Scholar 

  10. Cugola, G., Ghezzi, C., Pinto, L.: DSOL: a declarative approach to self-adaptive service orchestrations. Computing 94(7), 579–617 (2012)

    Article  MATH  Google Scholar 

  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). https://doi.org/10.1007/978-3-642-35813-5_1

    Chapter  Google Scholar 

  12. European Commission: Digital Agenda for Europe - Future Internet Research and Experimentation (FIRE) initiative (2015)

    Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  14. Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: Proceedings of WOSS 2002, pp. 27–32 (2002)

    Google Scholar 

  15. Gomaa, H., Hashimoto, K.: Dynamic self-adaptation for distributed service-oriented transactions. In: SEAMS 2012, pp. 11–20 (2012)

    Google Scholar 

  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). https://doi.org/10.1007/978-3-642-33386-6_20

    Chapter  Google Scholar 

  17. Hu, D.H., Yang, Q.: CIGAR: concurrent and interleaving goal and activity recognition. In: AAAI 2008, pp. 1363–1368 (2008)

    Google Scholar 

  18. Huebscher, M.C., McCann, J.A.: A survey of autonomic computing - degrees, models, and applications. ACM Comput. Surv. 40(3), 1–28 (2008)

    Article  Google Scholar 

  19. IBM: An Architectural Blueprint for Autonomic Computing. White Paper, 4th edn., IBM (2006)

    Google Scholar 

  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). https://doi.org/10.1007/11888116_5

    Chapter  Google Scholar 

  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). https://doi.org/10.1007/11841197_15

    Chapter  Google Scholar 

  22. Kephart, J., Chess, D.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)

    Article  Google Scholar 

  23. Kramer, J., Magee, J.: The evolving philosophers problem: dynamic change management. IEEE Trans. Softw. Eng. 16(11), 1293–1306 (1990)

    Article  Google Scholar 

  24. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: 2007 Future of Software Engineering, FOSE 2007, pp. 259–268, May 2007

    Google Scholar 

  25. Lamport, L.: Time clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-540-89652-4_34

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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). https://doi.org/10.1007/11596141_39

    Chapter  Google Scholar 

Download references

Acknowledgment

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Massimo Tivoli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Autili, M., Inverardi, P., Perucci, A., Tivoli, M. (2017). Synthesis of Distributed and Adaptable Coordinators to Enable Choreography Evolution. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds) Software Engineering for Self-Adaptive Systems III. Assurances. Lecture Notes in Computer Science(), vol 9640. Springer, Cham. https://doi.org/10.1007/978-3-319-74183-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74183-3_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74182-6

  • Online ISBN: 978-3-319-74183-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics