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.
Similar content being viewed by others
References
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–47
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–342
Baeten JCM (2005) A brief history of process algebra. Theor Comput Sci 335:131–146
Barker A, Walton CD, Robertson D (2009) Choreographing web services. IEEE Trans Serv Comput 2(2):152–166
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–878
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–92
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–449
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–20
Casati F, Ceri S, Pernici B, Pozzi G (1998) Workflow evolution. Data Knowl Eng 24(3):211–238
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–136
Cicirelli F, Furfaro A, Nigro L (2010) A service-based architecture for dynamically reconfigurable workflows. J Syst Softw 83(7):1148–1164
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–11
Cottenier T, Elrad T (2005) Dynamic and decentralized service composition. In: Proceedings web information systems and technologies. INSTICC Press, pp 56–63
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–58
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:6
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–341
Dybå T, Dingsøyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9–10): 833–859
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–130
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–672
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–204
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–37
Gall M, Borg W, Gall J (1996) Educational research: an introduction. Longman Publishing
Gu Q, Lago P (2009) Exploring service-oriented system engineering challenges: a systematic literature review. Serv Oriented Comput Appl 3(3):171–188
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–4
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–23
Jorgensen M, Shepperd M (2006) A systematic review of software development cost estimation studies. IEEE Trans Softw Eng 33(1):33–53
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–282
Kell S (2008) A survey of practical software adaptation techniques. J Univers Comput Sci 14(13):2110–2157
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 Durham
Kokash N, D’Andrea V (2005) Service oriented computing and coordination models. In: Proceedings of challenges in collaborative engineering workshop. Citeseer, pp 95–103
Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng 16(11):1293–1306
Lesser V (2003) Multi-agent Systems. In: Encyclopedia of computer science, 4th edn. Wiley, pp 1194–1196
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–165
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–158
McKinley P, Sadjadi S, Kasten E, Cheng B (2004) Composing adaptive software. IEEE Comput 37(7):56–64
Mellor SJ, Clark AN, Futagami T (2003) Guest editors’ introduction: model-driven development. IEEE Softw 20:14–18
Mian P, Conte T, Natali A, Biolchini J, Travassos G (2007) A systematic review process for software engineering. Empir Softw Eng 32(3):1–6
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–245
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–247
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–1070
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–715
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–187
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
OMG: business process model and notation (BPMN), version 2.0 (2011). http://www.omg.org/spec/BPMN/2.0
Papazoglou MP, Traverso P, Dustdar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. IEEE Comput 40(11):38–45
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–18
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–86
Poulin M (2011) Collaboration patterns in the SOA ecosystem. In: Proceedings of the 3rd workshop on behavioural modelling. ACM, pp 12–16
Rinderle S, Reichert M, Dadam P (2004) Correctness criteria for dynamic changes in workflow systems—a survey. Data Knowl Eng 50(1):9–34
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–290
Roohi N, Salaün G, France V (2011) Realizability and dynamic reconfiguration of Chor specifications. Inf int J Comput Inf 35(1):39–49
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.org
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–91
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–201
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–74
Sycara KP (1998) Multiagent systems. AI Mag 19(2)
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:30
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–868
W3C: Web service choreography interface (WSCI) (2002) version 1.0. http://www.w3.org/TR/2002/NOTE-wsci-20020808
W3C: Web services choreography description language (WS-CDL) (2005) Version 1.0. http://www.w3.org/TR/2005/CR-ws-cdl-10-20051109
Wombacher A (2009) Alignment of choreography changes in BPEL processes. In: Proceedings of IEEE 2009 international conference on services computing. IEEE, pp 1–8
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
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–362
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–112
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–327
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–380
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.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Leite, L.A.F., Ansaldi Oliva, G., Nogueira, G.M. et al. A systematic literature review of service choreography adaptation. SOCA 7, 199–216 (2013). https://doi.org/10.1007/s11761-012-0125-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-012-0125-z