Abstract
Service-oriented architecture supports the definition and execution of complex business processes in a flexible way. A service-based application assembles the functionality provided by disparate, remote services in a seamless way. Since the architectural style prescribes that all features be provided remotely, these applications adapt to changes and new business needs by selecting new partner services to interact with. Despite the success of the architectural style, a clear link between the actual applications and the requirements they are supposed to meet is still missing. The embedded dynamism also imposes that requirements properly state how an application can evolve and adapt at runtime. We solve these problems by extending classical goal models to represent both conventional (functional and non-functional) requirements and adaptation policies. The goal model is then used to automatically devise the application’s architecture (i.e., the composition) and its adaptation capabilities. It becomes a live, runtime entity whose evolution helps govern the actual adaptation of the application. All key elements are exemplified through a service-based news provider.
This research has been funded by the European Commission, Programmes: IDEAS-ERC, Project 227977 SMScom, and FP7/2007–2013, Projects 215483 S-Cube (Network of Excellence).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
For this example, we use operator sometimes in the future (⋄).
- 2.
Operator @ has the following meaning 0: @P ≡ •(¬P) ∧ P
- 3.
Membership functions do not continue to be greater than 0 when the response time is infinite.
- 4.
Note that if an adaptation goal is applied globally, there is no need to identify the process instance on which adaptation must be performed.
References
Active Endpoints (2010) The ActiveBPEL engine. http://www.activevos.com/community-open-source.php. Accessed 1 June 2010
Ali R, Dalpiaz F, Giorgini P (2009) A goal modeling framework for self-contextualizable software. In: Halpin TA et al (eds) BMMDS/EMMSAD’09. 14th international conference on exploring modeling methods in systems analysis and design, Amsterdam, June 2009. Lecture notes in business information, vol 29. Springer, pp 326–338
Baresi L, Bianculli D, Ghezzi C, Guinea S, Spoletini P (2007) Validation of web service compositions. IET Software 1(6):219–232
Baresi L, Guinea S (2011) Self-supervising BPEL processes. IEEE Transactions on Software Engineering 37(2):247–263
Baresi L, Guinea S, Pasquale L (2008) Integrated and composable supervision of BPEL processes. In: Bouguettaya A et al (eds) ICSOC’08. 6th international conference of service oriented computing, Sydney, December 2008. Lecture notes in computer science, vol 5364. Springer, Heidelberg, pp 614–619
Baresi L, Pasquale L, Spoletini P (2010) Fuzzy goals for requirements-driven adaptation. In: Proceedings of the 18th international requirements engineering conference, Sydney, Australia
Cheng BHC, Sawyer P, Bencomo N, Whittle J (2009) A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Shurr A et al (eds) MoDELS’09. 12th international conference on model driven engineering languages and systems, Denver, October 2009. Lecture notes in computer science, vol 5795. Springer, Heidelberg, pp 468–483
Cheng SW, Garlan D, Schmerl B (2006) Architecture-based self-adaptation in the presence of multiple objectives. In: Proceedings of the 2nd international workshop on self-adaptation and self-managing systems, Shanghai, China
Fickas S, Feather MS (1995) Requirements monitoring in dynamic environments. In: Proceedings of the 2nd international symposium on requirements engineering, York, England
Goldsby HJ, Sawyer P, Bencomo N, Cheng BHC, Hughes D (2008) Goal-based modeling of dynamically adaptive system requirements. In: Proceedings of the 15th international conference on engineering of computer-based systems, Belfast, Ireland, 31 March–4 April 2008
Huhns MN, Holderfield VT, Gutierrez RLZ (2003) Robust software via agent-based redundancy. In: Proceedings of the 2nd international joint conference on autonomous agents & multiagent Systems, Melbourne, Australia
Kazhamiakin R, Pistore M, Roveri M (2004) A framework for integrating business processes and business requirements. In: Proceedings of the 8th international conference on enterprise distributed object computing, Monterey, California, USA
Kiczales G, Lamping J, Mendhekar A, Maeda C, Lopes CV, Loingtier J, Irwin, J (1997) Aspect-oriented programming. In: Aksit M (eds) ECOOP’97. 11th European conference on object-oriented programming, Jyvaskyla, Finland, June 1997. Lecture notes in computer science, vol 1241. Springer, pp 220–242
van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley, Chichester
Mahfouz A, Barroca L, Laney RC, Nuseibeh B (2009) Requirements-driven collaborative choreography customization. In: Baresi L et al (eds) ICSOC-ServiceWave’09. 7th international joint conference ICSOC-ServiceWave, Stockholm, Sweden, November 2009. Lecture notes in computer science, vol 5900. Springer, Heidelberg, pp 144–158
Morandini M, Penserini L, Perini A (2008) Modelling self-adaptivity: a goal-oriented approach. In: Brueckner SA (eds) SASO’08. 2nd international conference on self-adaptive and self-organising systems, Springer, Los Alamitos, pp 469–470
Morandini M, Penserini L, Perini A (2008) Towards goal-oriented development of self-adaptive systems. In: Proceedings of the 3rd international workshop on software engineering for adaptive and self-managing systems, Leipzig
OASIS (2007) Web services business process execution language version 2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html. Accessed 1 June 2010
Pasquale L (2011) A goal-oriented methodology for self-supervised service compositions. Dissertation, Politecnico di Milano
Penserini L, Perini A, Susi A, Mylopoulos J (2007) High variability design for software agents: extending tropos. Trans Auton Adaptive Syst 2(4):75–102
Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th annual symposium on foundations of computer science, Providence, Rhode Island, USA, 31 October–22 November 1977
Proctor M et al (2009) Drools. http://www.jboss.org/drools/. Accessed 1 June 2010
Qureshi NA, Perini A (2009) Engineering adaptive requirements. In: Proceedings of the 4th international workshop on software engineering for adaptive and self-managing systems, Vancouver, BC, Canada
Robinson WN (2003) Monitoring web service requirements. In: Proceedings of the 11th international requirements engineering conference, Monterey Bay, CA, USA
Salifu M, Yu Y, Nuseibeh B (2007) Specifying monitoring and switching problems in context. In: Proceedings of the 15th international requirements engineering conference, New Delhi, India
Wang Y, Mylopoulos J (2009) Self-repair through reconfiguration: a requirements engineering approach. In: Proceedings of the 24th international conference on automated software engineering, Auckland, New Zeland
Whittle J, Sawyer P, Bencomo N, Cheng BHC (2009) RELAX: incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 17th international requirements engineering conference, Atlanta, GA, USA, 31 August–4 September 2009
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Baresi, L., Pasquale, L. (2011). Adaptation Goals for Adaptive Service-Oriented Architectures. In: Avgeriou, P., Grundy, J., Hall, J.G., Lago, P., Mistrík, I. (eds) Relating Software Requirements and Architectures. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21001-3_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-21001-3_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21000-6
Online ISBN: 978-3-642-21001-3
eBook Packages: Computer ScienceComputer Science (R0)