Advertisement

Service Oriented Computing and Applications

, Volume 7, Issue 3, pp 199–216 | Cite as

A systematic literature review of service choreography adaptation

  • Leonardo A. F. Leite
  • Gustavo Ansaldi Oliva
  • Guilherme M. Nogueira
  • Marco Aurélio Gerosa
  • Fabio Kon
  • Dejan S. Milojicic
Original Research Paper

Abstract

A service choreography is a distributed service composition in which services interact without a centralized control. Adequate adaptation strategies are required to face complex and ever-changing business processes, given the collaborative nature of choreographies. Choreographies should also be able to adapt to changes in its non-functional requirements, such as response time, and especially for large-scale choreographies, adaptation strategies need to be automated and scale well. However, the body of knowledge regarding choreography adaptation approaches has not yet been consolidated and systematically evaluated. By means of a systematic literature review, in which we examined seven scientific paper sources, we identified and analyzed the state-of-the-art in choreography adaptation. We found 24 relevant primary studies and grouped them into six categories: model-based, measurement-based, multi-agent-based, formal method-based, semantic reasoning-based, and proxy layer-based. We analyzed (i) how each strategy deals with different types of requirements, (ii) what their required degree of human intervention is, (iii) how the different studies considered scalability, (iv) what implementations are currently available, and (v) which choreography languages are employed. From the selected studies, we extracted key examples of choreography adaptation usage and analyzed the terminology they adopted with respect to dynamic adaptation. We found out that more attention has been devoted to functional requirements and automated adaptation; only one work performs scalability evaluation; and most studies present some sort of implementation and use a specific choreography notation.

Keywords

Service choreography Choreographies adaptation Choreographies customization Service composition Systematic review 

Notes

Acknowledgments

The research leading to these results has received funding from HP Brasil under the Baile Project and from the European Community’s Seventh Framework Programme FP7/2007-2013 under grant agreement number 257178 (project CHOReOS—Large Scale Choreographies for the Future Internet). Marco Gerosa receives individual grant from CNPq.

References

  1. 1.
    Abadi M, Gordon AD (1997) A calculus for cryptographic protocols: the SPI calculus. In: Proceedings of the 4th ACM conference on computer and communications security. ACM, pp 36–47Google Scholar
  2. 2.
    Agostini A, De Michelis G (2000) Improving flexibility of workflow management systems. In: Business process management. Lecture Notes in Computer Science, vol 1806. Springer, pp 289–342Google Scholar
  3. 3.
    Baeten JCM (2005) A brief history of process algebra. Theor Comput Sci 335:131–146MathSciNetMATHCrossRefGoogle Scholar
  4. 4.
    Barker A, Walton CD, Robertson D (2009) Choreographing web services. IEEE Trans Serv Comput 2(2):152–166CrossRefGoogle Scholar
  5. 5.
    Beecham S, Baddoo N, Hall T, Robinson H, Sharp H (2008) Motivation in software engineering: a systematic literature review. Inf Softw Technol 50(9–10):860–878CrossRefGoogle Scholar
  6. 6.
    Ben Hamida A, Kon F, Ansaldi Oliva G, Dos Santos C, Lorré JP, Autili M, De Angelis G, Zarras A, Georgantas N, Issarny V, Bertolino A (2012) An integrated development and runtime environment for the future internet. In: The future internet. Lecture Notes in Computer Science, vol 7281. Springer, pp 81–92Google Scholar
  7. 7.
    Blanchet W, Elio R, Stroulia E (2005) Conversation errors in web service coordination: Run-time detection and repair. In: Proceedings of the 2005 IEEE/WIC/ACM international conference on web intelligence. IEEE, pp 442–449Google Scholar
  8. 8.
    Bræk R, Castejón H, Le H, Rossebø J (2005) Policy-based service composition and recommendation. In: Service intelligence and service science: evolutionary technologies and challenges. Addison Wesley, pp 1–20Google Scholar
  9. 9.
    Casati F, Ceri S, Pernici B, Pozzi G (1998) Workflow evolution. Data Knowl Eng 24(3):211–238MATHCrossRefGoogle Scholar
  10. 10.
    Cavallaro L, Di Nitto E (2008) An approach to adapt service requests to actual service interfaces. In: Proceedings of the 2008 international workshop on software engineering for adaptive and self-managing systems, SEAMS ’08 ACM, pp 129–136Google Scholar
  11. 11.
    Cicirelli F, Furfaro A, Nigro L (2010) A service-based architecture for dynamically reconfigurable workflows. J Syst Softw 83(7):1148–1164CrossRefGoogle Scholar
  12. 12.
    Colman A, Pham L, Han J, Schneider J (2006) Adaptive application-specific middleware. In: Proceedings of the 1st workshop on middleware for service oriented computing. ACM, pp 6–11Google Scholar
  13. 13.
    Cottenier T, Elrad T (2005) Dynamic and decentralized service composition. In: Proceedings web information systems and technologies. INSTICC Press, pp 56–63Google Scholar
  14. 14.
    Cottenier T, Elrad T (2005) Engineering distributed service compositions. In: Proceedings of the first international workshop on engineering service compositions, WESC’05. IBM, pp 51–58Google Scholar
  15. 15.
    Dar K, Taherkordi A, Rouvoy R, Eliassen F (2011) Adaptable service composition for very-large-scale internet of things systems. In: Proceedings of the 8th middleware doctoral symposium, MDS ’11. ACM, pp 2:1–2:6Google Scholar
  16. 16.
    Di Nitto E, Ghezzi C, Metzger A, Papazoglou M, Pohl K (2008) A journey to highly dynamic, self-adaptive service-based applications. Autom Softw Eng 15(3):313–341CrossRefGoogle Scholar
  17. 17.
    Dybå T, Dingsøyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9–10): 833–859CrossRefGoogle Scholar
  18. 18.
    Ezenwoye O, Busi S, Sadjadi SM (2010) Dynamically reconfigurable data-intensive service composition. In: Proceedins of the 6th international conference on web information systems and technologies. Springer, pp 125–130Google Scholar
  19. 19.
    Ezenwoye O, Tang B (2010) Monitoring decentralized interacting services with a global state choreography model. In: Proceedings of 8th international conference on web services IEEE, pp 671–672Google Scholar
  20. 20.
    Fabra J, Peña J, Ruiz-Cortés A, Ezpeleta J (2008) Enabling the evolution of service-oriented solutions using an UML2 profile and a reference Petrinets execution platform. In: Proceedings of 3rd international conference on internet and web applications and services. IEEE, pp 198–204Google Scholar
  21. 21.
    Fernandez-Llatas C, Mocholi JB, Moyano A, Meneu T (2010) Semantic process choreography for distributed sensor management. In: Proceedings of the international workshop on semantic sensor web. SciTePress, pp 32–37Google Scholar
  22. 22.
    Gall M, Borg W, Gall J (1996) Educational research: an introduction. Longman PublishingGoogle Scholar
  23. 23.
    Gu Q, Lago P (2009) Exploring service-oriented system engineering challenges: a systematic literature review. Serv Oriented Comput Appl 3(3):171–188CrossRefGoogle Scholar
  24. 24.
    Hiel M, Aldewereld H, Dignum F (2010) Ensuring conformance in an evolving choreography. In: Proceedings of IEEE 2010 international conference on service-oriented computing and applications. IEEE, pp 1–4Google Scholar
  25. 25.
    Issarny V, Georgantas N, Hachem S, Zarras A, Vassiliadist P, Autili M, Gerosa M, Hamida A (2011) Service-oriented middleware for the future internet: state of the art and research directions. J Internet Serv Appl 2(1):1–23CrossRefGoogle Scholar
  26. 26.
    Jorgensen M, Shepperd M (2006) A systematic review of software development cost estimation studies. IEEE Trans Softw Eng 33(1):33–53CrossRefGoogle Scholar
  27. 27.
    Jureta I, Faulkner S, Thiran P (2007) Dynamic requirements specification for adaptable and open service-oriented systems. In: Proceedings of the 5th international conference on service-oriented computing. Springer, pp 270–282Google Scholar
  28. 28.
    Kell S (2008) A survey of practical software adaptation techniques. J Univers Comput Sci 14(13):2110–2157Google Scholar
  29. 29.
    Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. Technical Report, EBSE 2007–001, University Joint Report. Keele University and DurhamGoogle Scholar
  30. 30.
    Kokash N, D’Andrea V (2005) Service oriented computing and coordination models. In: Proceedings of challenges in collaborative engineering workshop. Citeseer, pp 95–103Google Scholar
  31. 31.
    Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng 16(11):1293–1306Google Scholar
  32. 32.
    Lesser V (2003) Multi-agent Systems. In: Encyclopedia of computer science, 4th edn. Wiley, pp 1194–1196Google Scholar
  33. 33.
    Liu D, Law KH, Wiederhold G (2002) Analysis of integration models for service composition. In: Proceedings of the 3rd international workshop on software and performance, WOSP ’02. ACM, pp 158–165Google Scholar
  34. 34.
    Mahfouz A, Barroca L, Laney R, Nuseibeh B (2009) Requirements-driven collaborative choreography customization. In: Proceedings of the 7th international joint conference on service-oriented computing Springer, pp 144–158Google Scholar
  35. 35.
    McKinley P, Sadjadi S, Kasten E, Cheng B (2004) Composing adaptive software. IEEE Comput 37(7):56–64CrossRefGoogle Scholar
  36. 36.
    Mellor SJ, Clark AN, Futagami T (2003) Guest editors’ introduction: model-driven development. IEEE Softw 20:14–18CrossRefGoogle Scholar
  37. 37.
    Mian P, Conte T, Natali A, Biolchini J, Travassos G (2007) A systematic review process for software engineering. Empir Softw Eng 32(3):1–6Google Scholar
  38. 38.
    Moo-Mena F, Drira K (2007) Modeling architectural level repair in web services. In: Proceedings of the 3rd international conference on web information systems and technologies. Springer, pp 240–245Google Scholar
  39. 39.
    Morreale V, Bonura S, Francaviglia G, Cossentino M, Gaglio S (2005) PRACTIONIST: a new framework for BDI agents. In: Proceedings of the 3rd European workshop on multi-agent systems, pp 236–247Google Scholar
  40. 40.
    Morreale V, Puccio M, Cammarata G, Francaviglia G (2007) Dynamic conversations between agents with the PRACTIONIST framework. In: Proceedings of 5th IEEE international conference on industrial informatics. IEEE, pp 1065–1070Google Scholar
  41. 41.
    Nabuco O, Halima R, Drira K, Fugini M, Modafferi S, Mussi E (2008) Model-based QoS-enabled self-healing web services. In: Proceedings of the 19th international conference on database and expert systems application. IEEE, pp 711–715Google Scholar
  42. 42.
    Nanda MG, Chandra S, Sarkar V (2004) Decentralizing execution of composite web services. In: Proceedings of the 19th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications, OOPSLA ’04 ACM, pp 170–187Google Scholar
  43. 43.
    OASIS: Web services business process execution language (WS-BPEL), version 2.0 (2007). http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
  44. 44.
    OMG: business process model and notation (BPMN), version 2.0 (2011). http://www.omg.org/spec/BPMN/2.0
  45. 45.
    Papazoglou MP, Traverso P, Dustdar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. IEEE Comput 40(11):38–45CrossRefGoogle Scholar
  46. 46.
    Paspallis N, Papadopoulos G (2006) Distributed adaptation reasoning for a mobility and adaptation enabling middleware. In: On the move to meaningful internet systems 2006: OTM 2006 workshops, Springer, pp 17–18Google Scholar
  47. 47.
    Pedraza G, Estublier J (2009) Distributed orchestration versus choreography: the FOCAS approach. In: Proceedings of the 2009 international conference on software and systems process. Springer, pp 75–86Google Scholar
  48. 48.
    Poulin M (2011) Collaboration patterns in the SOA ecosystem. In: Proceedings of the 3rd workshop on behavioural modelling. ACM, pp 12–16Google Scholar
  49. 49.
    Rinderle S, Reichert M, Dadam P (2004) Correctness criteria for dynamic changes in workflow systems—a survey. Data Knowl Eng 50(1):9–34CrossRefGoogle Scholar
  50. 50.
    Rinderle S, Wombacher A, Reichert M (2006) Evolution of process choreographies in DYCHOR. In: On the move to meaningful internet systems 2006: CoopIS, DOA, GADA, and ODBASE. Springer, pp 273–290Google Scholar
  51. 51.
    Roohi N, Salaün G, France V (2011) Realizability and dynamic reconfiguration of Chor specifications. Inf int J Comput Inf 35(1):39–49Google Scholar
  52. 52.
    Schönberger A (2011) Do we need a refined choreography notion? In: Proceedings of the 3rd central-European workshop on services and their composition, ZEUS, CEUR workshop proceedings, vol 705, pp 16–23. CEUR-WS.orgGoogle Scholar
  53. 53.
    Stegaru G, Stanescu AM, Sacala I, Moisescu M (2012) Dynamic interoperability model for web service choreographies. In: Enterprise interoperability V. Proceedings of the I-ESA conferences, vol 5. Springer, pp 81–91Google Scholar
  54. 54.
    Steinmacher I, Chaves AP, Gerosa MA (2010) Awareness support in global software development: a systematic review based on the 3C collaboration model. In: Proceedings of the 16th international conference on Collaboration and technology, Springer, pp 185–201Google Scholar
  55. 55.
    Svirskas A, Roberts B, Ignatiadis I (2008) Adaptive service choreography support in virtual enterprises. In: Agent and web service technologies in virtual enterprises. IGI Global, pp 66–74Google Scholar
  56. 56.
    Sycara KP (1998) Multiagent systems. AI Mag 19(2)Google Scholar
  57. 57.
    Van der Aalst WMP, Dumas M, Ouyang C, Rozinat A, Verbeek E (2008) Conformance checking of service behavior. ACM Trans Internet Technol 8(3):13:1–13:30Google Scholar
  58. 58.
    Vandewoude Y, Ebraert P, Berbers Y, D’Hondt T (2007) Tranquility: a low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans Softw Eng 33(12):856–868CrossRefGoogle Scholar
  59. 59.
    W3C: Web service choreography interface (WSCI) (2002) version 1.0. http://www.w3.org/TR/2002/NOTE-wsci-20020808
  60. 60.
    W3C: Web services choreography description language (WS-CDL) (2005) Version 1.0. http://www.w3.org/TR/2005/CR-ws-cdl-10-20051109
  61. 61.
    Wombacher A (2009) Alignment of choreography changes in BPEL processes. In: Proceedings of IEEE 2009 international conference on services computing. IEEE, pp 1–8Google Scholar
  62. 62.
    Xu D, Qi Y, Di Hou Y, Liu L (2007) A formal model for dynamic web services composition MAS-Based and simple security analysis using SPI calculus. In: Proceedings of the 3rd international conference on next generation web services practices. IEEE, pp 69–72 Google Scholar
  63. 63.
    Yang L, Dai Y, Zhang B (2009) Performance prediction based EX-QoS driven approach for adaptive service composition. J Inf Sci Eng 25(2):345–362Google Scholar
  64. 64.
    Yau S, Huang D, Gong H, Davulcu H (2005) Situation-awareness for adaptive coordination in service-based systems. In: Proceedings of the 29th annual international computer software and applications conference. IEEE, pp 107–112Google Scholar
  65. 65.
    Zeng L, Benatallah B, Ngu A, Dumas M, Kalagnanam J, Chang H (2004) QoS-aware middleware for web services composition. IEEE Trans Softw Eng 30(5):311–327CrossRefGoogle Scholar
  66. 66.
    Zhang J, Cheng BHC (2006) Model-based development of dynamically adaptive software. In: Proceedings of the 28th international conference on software engineering, ICSE ’06, ACM, pp 371–380Google Scholar

Copyright information

© Springer-Verlag London 2012

Authors and Affiliations

  • Leonardo A. F. Leite
    • 1
  • Gustavo Ansaldi Oliva
    • 1
  • Guilherme M. Nogueira
    • 1
  • Marco Aurélio Gerosa
    • 1
  • Fabio Kon
    • 1
  • Dejan S. Milojicic
    • 2
  1. 1.Computer Science DepartmentUniversity of São Paulo (USP)São PauloBrazil
  2. 2.HP LabsPalo AltoUSA

Personalised recommendations