DSOL: a declarative approach to self-adaptive service orchestrations. (English) Zbl 1245.68044

Summary: Service oriented computing (SOC) has brought a simplification in the way distributed applications can be built. Mainstream approaches, however, failed to support dynamic, self-managed compositions that would empower even non-technical users to build their own orchestrations. Indeed, because of the changeable world in which they are embedded, service compositions must be able to adapt to changes that may happen at run-time. Unfortunately, mainstream SOC languages, like BPEL and BPMN, make it quite hard to develop such kind of self-adapting orchestrations.
We claim that this is mostly due to the imperative programming paradigm they are based on. To overcome this limitation we propose a radically different, strongly declarative approach to model service orchestration, which is easier to use and results in more flexible and self-adapting orchestrations. An ad-hoc engine, leveraging well-known planning techniques, interprets such models to support dynamic service orchestration at run-time.


68N15 Theory of programming languages
68M15 Reliability, testing and fault tolerance of networks and computer systems
68M11 Internet topics
Full Text: DOI Link


[1] Erl T (2005) Service-oriented architecture: concepts, technology, and design. Prentice Hall PTR, Upper Saddle River
[2] Alves A, Arkin A, Askary S, Bloch B, Curbera F, Goland Y, Kartha N, Liu CK, Konig D, Mehta V, Thatte S, van der Rijn D, Yendluri P, Yiu A (eds) (2006) Web Services Business Process Execution Language Version 2.0. Technical report, OASIS. http://www.oasis-open.org/apps/org/workgroup/wsbpel/
[3] White SA (2008) Business Process Modeling Notation, V1.1. Technical report, OMG. http://www.bpmn.org/Documents/BPMN_1-1_Specification.pdf
[4] Maigre R (2010) Survey of the tools for automating service composition. In: 2010 IEEE international conference on web services (ICWS), 2010, pp 628–629. doi: 10.1109/ICWS.2010.72
[5] Rao J, Su X (2005) A survey of automated web service composition methods. In: LNCS, vol 3387. Springer, Berlin, pp 43–54
[6] Java API for XML-based web services (JAX-WS) 2.0. http://jcp.org/en/jsr/detail?id=224 . Accessed Nov 2011
[7] Apache CXF: an open-source services framework. http://cxf.apache.org/ . Accessed Nov 2011
[8] Apache HttpComponents. http://hc.apache.org/ . Accessed Nov 2011
[9] Code Generation Library. http://cglib.sourceforge.net/ . Accessed Nov 2011
[10] Meneguzzi F, Luck M (2008) Leveraging new plans in AgentSpeak(PL). In: Baldoni M, Son TC, van Riemsdijk MB, Winikoff M (eds) Proceedings of the sixth workshop on declarative agent languages, pp 63–78
[11] JavaGP-Java GraphPlan. http://emplan.sourceforge.net . Accessed Nov 2011
[12] Blum AL, Furst ML (1995) Fast planning through planning graph analysis. Artif Intell 90(1): 1636–1642
[13] Charfi A, Mezini M (2007) AO4BPEL: an aspect-oriented extension to BPEL. World Wide Web 10: 309–344. doi: 10.1007/s11280-006-0016-3 · Zbl 05188612
[14] Pautasso C, Alonso G (2005) Jopera: a toolkit for efficient visual composition of web services. Int J Electron Commer 9: 107–141
[15] Pautasso C (2009) Composing restful services with jopera. In: International conference on software composition, vol 5634. Springer, Zurich, pp 142–159
[16] Yahoo! Local Search Web Services. http://developer.yahoo.com/search/local/V3/localSearch.html . Accessed Nov 2011
[17] Doodle APIs. http://doodle.com/about/APIs.html . Accessed Nov 2011
[18] Google Static Maps API. http://code.google.com/apis/maps/documentation/staticmaps/ . Accessed Nov 2011
[19] The Google Places API. http://code.google.com/apis/maps/documentation/places/ . Accessed Nov 2011
[20] Yahoo! Place Finder. http://developer.yahoo.com/geo/placefinder/ . Accessed Nov 2011
[21] The Google Geocoding API. http://code.google.com/apis/maps/documentation/geocoding/ . Accessed Nov 2011
[22] Bing Maps APIs. http://msdn.microsoft.com/en-us/library/dd877180.aspx . Accessed Nov 2011
[23] Ghezzi C, Jazayeri M, Mandrioli D (2003) Fundamental of software engineering, 2nd edn. Prentice Hall PTR, Upper Saddle River · Zbl 0827.68030
[24] JBOSS jBPM. http://www.jboss.org/jbpm . Accessed Nov 2011
[25] Karastoyanova D, Leymann F (2009) Bpel’n’aspects: adapting service orchestration logic. In: IEEE international conference on web services, 2009. ICWS 2009, pp 222–229. doi: 10.1109/ICWS.2009.75
[26] Core J2EE Patterns–Data Access Object. http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html . Accessed Nov 2011
[27] Charfi A, Mezini M (2004) Hybrid web service composition: business processes meet business rules. In: Proceedings of the 2nd international conference on service oriented computing, ICSOC’04. ACM, New York, pp 30–38
[28] The AspectJ Project. http://www.eclipse.org/aspectj/ . Accessed Nov 2011
[29] Sales Pinto L, Cugola G, Ghezzi C (2012) Dealing with changes in service orchestrations. In: Proceedings of the 2012 ACM symposium on applied computing, SAC’12 (to appear) · Zbl 1245.68044
[30] Jain R (1991) The art of computer systems performance analysis: techniques for experimental design, measurement, simulation, and modeling. Wiley, New York · Zbl 0824.68013
[31] Amazon EC2 Instance Types. http://aws.amazon.com/ec2/instance-types/ . Accessed Nov 2011
[32] ActiveBPEL. http://www.activebpel.com . Accessed Nov 2011
[33] Montesi F, Guidi C, Lucchi R, Zavattaro G (2007) Jolie: a java orchestration language interpreter engine. Electron Notes Theor Comput Sci 181:19–33. doi: 10.1016/j.entcs.2007.01.051
[34] Kitchin D, Quark A, Cook W, Misra J (2009) The orc programming language. In: Proceedings of the joint 11th IFIP WG 6.1 international conference FMOODS’09 and 29th IFIP WG 6.1 international conference FORTE’09 on formal techniques for distributed systems, FMOODS’09/FORTE’09. Springer, Berlin, pp 1–25
[35] Montali M, Pesic M, Aalst WMP vd, Chesani F, Mello P, Storari S (2010) Declarative specification and verification of service choreographies. ACM Trans Web 4: 3:1–3:62 · Zbl 05736710
[36] van der Aalst W, Pesic M (2006) Decserflow: towards a truly declarative service flow language. In: Bravetti M, Nunez M, Zavattaro G (eds) Web services and formal methods. Lecture notes in computer science, vol 4184. Springer, Berlin, pp 1–23
[37] Greenwood D, Rimassa G (2007) Autonomic goal-oriented business process management. In: Third international conference on autonomic and autonomous systems, 2007. ICAS07, pp 43–48. doi: 10.1109/CONIELECOMP.2007.61
[38] Burmeister B, Arnold M, Copaciu F, Rimassa G (2008) Bdi-agents for agile goal-oriented business processes. In: AAMAS’08: proceedings of the 7th international joint conference on autonomous agents and multiagent systems. International Foundation for Autonomous Agents and Multiagent Systems, Richland, SC, pp 37–44
[39] Calisti M, Greenwood D (2008) Goal-oriented autonomic process modeling and execution for next generation networks. In: MACE’08: proceedings of the 3rd IEEE international workshop on modelling autonomic communications environments. Springer, Berlin, pp 38–49
[40] Van Riemsdijk MB, Wirsing M (2007) Using goals for flexible service orchestration: a first step. In: AAMAS’07/SOCASE’07: proceedings of the 2007 AAMAS international workshop and SOCASE 2007 conference on service-oriented computing. Springer, Berlin, pp 31–48
[41] Rao AS (1996) AgentSpeak(L): BDI agents speak out in a logical computable language. In: MAAMAW’96: proceedings of the 7th European workshop on modelling autonomous agents in a multi-agent world: agents breaking away. Springer, New York, pp 42–55
[42] Rao J, K√ľngas P, Matskin M (2006) Composition of semantic web services using linear logic theorem proving. Inf Syst 31:340–360. doi: 10.1016/j.is.2005.02.005
[43] Burstein MH, Hobbs JR, Lassila O, Martin D, McDermott DV, McIlraith SA, Narayanan S, Paolucci M, Payne TR, Sycara KP (2002) Daml-s: web service description for the semantic web. In: Proceedings of the first international semantic web conference on the semantic web. Springer, London, pp 348–363 · Zbl 1048.68662
[44] McIlraith SA, Son TC (2002) Adapting golog for composition of semantic web services. In: Proceedings of the 8th international conference on principles and knowledge representation and reasoning (KR-02), pp 482–496
[45] Wu D, Parsia B, Sirin E, Hendler J, Nau D, Nau D (2003) Automating daml-s web services composition using shop2. In: Proceedings of 2nd international semantic web conference (ISWC2003), pp 195–210
[46] Bertoli P, Pistore M, Traverso P (2010) Automated composition of web services via planning in asynchronous domains. Artif Intell 174(3–4): 316–361 · Zbl 05705370
[47] Ponnekanti SR, Fox A (2002) SWORD: a developer toolkit for web service composition. In: Proceedings of the 11th international WWW Conference (WWW2002), Honolulu, HI, USA
[48] Lazovik A, Aiello M, Papazoglou M (2006) Planning and monitoring the execution of web service requests. Int J Digit Libr 6:235–246. doi: 10.1007/s00799-006-0002-5
[49] Ardagna D, Pernici B (2007) Adaptive service composition in flexible processes. IEEE Trans Softw Eng 33(6):369–384. doi: 10.1109/TSE.2007.1011
[50] Aggarwal R, Verma K, Miller J, Milnor W (2004) Constraint driven web service composition in meteor-s. In: Proceedings of the 2004 IEEE international conference on services computing. IEEE Computer Society, Washington, DC, USA, pp 23–30
[51] Zeng L, Benatallah B, Ngu AHH, Dumas M, Kalagnanam J, Chang H (2004) Qos-aware middleware for web services composition. IEEE Trans Softw Eng 30:311–327. doi: 10.1109/TSE.2004.11
[52] Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: FOSE’07: 2007 future of software engineering. IEEE Computer Society, Washington, DC, USA, pp 259–268. doi: 10.1109/FOSE.2007.19
[53] Sykes D, Heaven W, Magee J, Kramer J (2008) From goals to components: a combined approach to self-management. In: SEAMS’08: proceedings of the 2008 international workshop on software engineering for adaptive and self-managing systems. ACM, New York, NY, USA, pp 1–8. doi: 10.1145/1370018.1370020
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.