Advertisement

Automated Software Engineering

, Volume 15, Issue 3–4, pp 313–341 | Cite as

A journey to highly dynamic, self-adaptive service-based applications

  • Elisabetta Di NittoEmail author
  • Carlo Ghezzi
  • Andreas Metzger
  • Mike Papazoglou
  • Klaus Pohl
Article

Abstract

Future software systems will operate in a highly dynamic world. Systems will need to operate correctly despite of unespected changes in factors such as environmental conditions, user requirements, technology, legal regulations, and market opportunities. They will have to operate in a constantly evolving environment that includes people, content, electronic devices, and legacy systems. They will thus need the ability to continuously adapt themselves in an automated manner to react to those changes. To realize dynamic, self-adaptive systems, the service concept has emerged as a suitable abstraction mechanism. Together with the concept of the service-oriented architecture (SOA), this led to the development of technologies, standards, and methods to build service-based applications by flexibly aggregating individual services. This article discusses how those concepts came to be by taking two complementary viewpoints. On the one hand, it evaluates the progress in software technologies and methodologies that led to the service concept and SOA. On the other hand, it discusses how the evolution of the requirements, and in particular business goals, influenced the progress towards highly dynamic self-adaptive systems. Finally, based on a discussion of the current state of the art, this article points out the possible future evolution of the field.

Keywords

Service-oriented computing Services Adaptive systems Self-adaptation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abowd, G.D., Ebling, M., Gellersen, H.W., Hunt, G., Lei, H.: Guest editors’ introduction: Context-aware computing. IEEE Pervasive Comput. 01(3), 22–23 (2002) CrossRefGoogle Scholar
  2. Andrews, T. et al.: Business process execution language for Web services. Tech. rep., IBM (2003) http://www.ibm.com/developerworks/library/ws-bpel
  3. Antón, A.: Goal-based requirements analysis. In: Proceedings of the 2nd International Conference on Requirements Engineering (ICRE ’96), April 15–18, 1996, Colorado Springs, Colorado, USA, pp. 136–144. IEEE Computer Society Google Scholar
  4. Arsanjani, A.: Service-oriented modeling and architecture. IBM developerWorks article (November 2004) http://www.ibm.com/developerworks/library/ws-soa-design1
  5. Babaoglu, O., Canright, G., Deutsch, A., Di Caro, G., Ducatelle, F., Gambardella, L., Ganguly, N., Jelasity, M., Montemanni, R., Montresor, A., Urnes, T.: Design patterns from biology for distributed computing. ACM Trans. Auton. Adapt. Syst. 1(1), 26–66 (2006).  http://doi.acm.org/10.1145/1152934.1152937 CrossRefGoogle Scholar
  6. Bai, X., Chen, Y., Shao, Z.: Adaptive web services testing. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), pp. 233–236 (2007a) Google Scholar
  7. Bai, X., Xu, D., Dai, G., Tsai, W., Chen, Y.: Dynamic reconfigurable testing of service-oriented architecture. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), vol. 1, pp. 368–375 (2007b) Google Scholar
  8. Baresi, L., Guinea, S.: Towards dynamic monitoring of ws-bpel processes. In: 3rd International Conference on Service-Oriented Computing (ICSOC 2005), pp. 269–282 (2005) Google Scholar
  9. Baresi, L., Di Nitto, E.: Test and Analysis of Web Services. Springer, Berlin (2007) Google Scholar
  10. Baresi, L., Di Nitto, E., Ghezzi, C.: Toward open-world software: Issue and challenges. Comput. 39(10), 36–43 (2006) CrossRefGoogle Scholar
  11. Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P.: Validation of web service compositions. IET Softw. 1(6), 219–232 (2007) Google Scholar
  12. Batini, C., Bolchini, D., Ceri, S., Matera, M., Maurino, A., Paolini, P.: The UM-MAIS methodology for multi-channel adaptive Web information systems. World Wide Web 10(4), 349–385 (2007) CrossRefGoogle Scholar
  13. Benbernou, S., Meziane, H., Hacid, M.S.: Run-time monitoring for privacy-agreement compliance. In: 5th International Conference on Service-Oriented Computing (ICSOC 2007), pp. 353–364 (2007) Google Scholar
  14. Bertolino, A., Polini, A.: The audition framework for testing web services interoperability. In: EUROMICRO-SEAA, pp. 134–142. IEEE Computer Society, New York (2005) Google Scholar
  15. Bianculli, D., Ghezzi, C., Spoletini, P.: A model checking approach to verify BPEL4WS workflows. In: IEEE International Conference on Service-Oriented Computing and Applications (SOCA 2007), pp. 13–20 (2007) Google Scholar
  16. Bultan, T., Fu, X., Su, J.: Run-time monitoring in service-oriented architectures. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 57–85. Springer, Berlin (2007) CrossRefGoogle Scholar
  17. Burlton, R.: Business Process Management: Profiting from Process. SAMS publishing, Indianapolis (2001) Google Scholar
  18. Canfora, G., Di Penta, M.: SOA: Testing and self-checking. In: International Workshop on Web Services—Modeling and Testing (WS-MaTE), pp. 3–12 (2006a) Google Scholar
  19. Canfora, G., Di Penta, M.: Testing services and service-centric systems: Challenges and opportunities. IT Prof. 8(2), 10–17 (2006b) Google Scholar
  20. Charfi, A., Mezini, M.: Hybrid web service composition: Business processes meet business rules. In: 4th International Conference on Service Oriented Computing (ICSOC 2004) Google Scholar
  21. Chhetri, M., Lin, J., Goh, S., Zhang, J., Kowalczyk, R., Yan, J.: A coordinated architecture for the agent-based service level agreement negotiation of Web service composition. In: Australian Software Engineering Conference (ASWEC’06), pp. 90–99 (2006) Google Scholar
  22. Colombo, E., Mylopoulos, J., Spoletini, P.: Modeling and analyzing context-aware composition of services. In: 3rd International Conference on Service Oriented Computing (ICSOC 2005) Google Scholar
  23. Colombo, M., Di Nitto, E., Mauri, M.: Scene: A service composition execution environment supporting dynamic changes disciplined through rules. In: ICSOC, pp. 191–202 (2006) Google Scholar
  24. Comuzzi, M., Pernici, B.: An architecture for flexible Web service QoS negotiation. In: 9th IEEE International Enterprise Distributed Object Computing Conference (EDOC’05), pp. 70–82 (2005) Google Scholar
  25. Cugola, G., Di Nitto, E., Fuggetta, A.: The JEDI event-based infrastructure and its application to the development of the OPSS WFMS. IEEE Trans. Softw. Eng. 27(9), 827–850 (2001) CrossRefGoogle Scholar
  26. Curbera, F.: Components contracts in service-oriented architectures. IEEE Comput. 11, 74–80 (2007) MathSciNetGoogle Scholar
  27. Dai, G., Bai, X., Wang, Y., Dai, F.: Contract-based testing for Web services. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), vol. 1, pp. 517–524 (2007) Google Scholar
  28. de Almeida, L.F.J., Vergilio, S.R.: Exploring perturbation based testing for web services. In: IEEE International Conference on Web Services (ICWS 2006), pp. 717–726 (2006) Google Scholar
  29. Deussen, P., Din, G., Schieferdecker, I.: A TTCN-3 based online test and validation platform for Internet services. In: 6th International Symposium on Autonomous Decentralized Systems (ISADS), pp. 177–184 (2003) Google Scholar
  30. Devescovi, D., Di Nitto, E., Dubois, D., Mirandola, R.: Self-organization algorithms for autonomic systems in the selflet approach. In: 1st International Conference on Autonomic Computing and Communication Systems (Autonomics ’07), pp. 1–10 (2007) Google Scholar
  31. Dey, A.: Understanding and using context. Pers. Ubiquitous Comput. 5(1), 4–7 (2001) CrossRefGoogle Scholar
  32. Di Nitto, E., Di Penta, M., Gambi, A., Ripa, G., Villani, M.: Negotiation of service level agreements: An architecture and a search-based approach. In: 5th International Conference on Service-Oriented Computing (ICSOC 2007), pp. 295–306 (2007) Google Scholar
  33. Di Penta, M., Bruno, M., Esposito, G., Mazza, V., Canfora, G.: Web services regression testing. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 205–234. Springer, New York (2007) CrossRefGoogle Scholar
  34. Emmerich, W., Sventek, J., Aoyama, M.: The impact of research on the development of middleware technology. ACM Trans. Softw. Eng. Methodol. 17(4) (2008) Google Scholar
  35. Erl, T.: Service-Oriented Architecture. Prentice-Hall, Englewood Cliffs (2004) Google Scholar
  36. Foster, I., Kesselman, C.: The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, Los Altos (2004) Google Scholar
  37. Foster, I., Kesselman, C., Nick, J., Tuecke, S.: The physiology of the grid: An open grid services architecture for distributed systems integration (2002). citeseer.ist.psu.edu/foster02physiology.html
  38. Foster, H., Uchitel, S., Magee, J., Kramer, J.: LTSA-WS: A tool for model-based verification of web service compositions and choreography. In: 28th International Conference on Software Engineering (ICSE ’06), pp. 771–774 (2006) Google Scholar
  39. Fu, X., Bultan, T., Su, J.: Analysis of interacting BPEL Web services. In: 13th International Conference on World Wide Web (WWW 2004), pp. 621–630 (2004) Google Scholar
  40. Fuggetta, A.: A classification of case technology. Computer 26(12), 25–38 (1993). http://dx.doi.org/10.1109/2.247645 CrossRefGoogle Scholar
  41. Ghezzi, C., Guinea, S.: Run-time monitoring in service-oriented architectures. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 237–264. Springer, New York (2007) CrossRefGoogle Scholar
  42. Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. Softw. Eng. 16(4), 403–414 (1990) CrossRefGoogle Scholar
  43. Heckel, R., Mariani, L.: Automatic conformance testing of web services. In: Fundamental Approaches to Software Engineering (FASE 05). LNCS, pp. 34–48 (2005) Google Scholar
  44. IBM-MB, IBM websphere message broker (2008). http://www-306.ibm.com/software/integration/wbimessagebroker/
  45. Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman, Reading (2000) Google Scholar
  46. Jaeger, M., Rojec-Goldmann, G., Muhl, G.: QoS aggregation for web service composition using workflow patterns. In: 8th IEEE International Enterprise Distributed Object Computing Conference (EDOC ’04), pp. 149–159 (2004). http://dx.doi.org/10.1109/EDOC.2004.19
  47. Jarke, M., Pohl, K.: Establishing visions in context: Toward a model of requirements processes. In: 14th International Conference on Information Systems (ICIS’93), pp. 23–34 (1993) Google Scholar
  48. Josuttis, N.: SOA in Practice: The Art of Distributed System Design. O’Reilly Media, Sebastopol (2007) Google Scholar
  49. Kavantzas, N.: Web services choreography description language 1.0. Tech. rep., W3C (2004) Google Scholar
  50. Kaye, D.: Loosely Coupled: The Missing Pieces of Web Services. RDS Press (2003) Google Scholar
  51. Kazhamiakin, R., Pistore, M.: A parametric communication model for the verification of BPEL4WS compositions. In: 15th International Conference on World Wide Web (WWW 2006) Google Scholar
  52. Kephart, J., Chess, D.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003) Google Scholar
  53. Kreger, H. et al.: Management using web services: A proposed architecture and roadmap. Tech. rep., IBM, HP and Computer Associates (2005). http://www-128.ibm.com/developerworks/library/specification/ws-mroadmap
  54. Lazovik, A., Aiello, M., Papazoglou, M.: Planning and monitoring the execution of web service requests. Int. J. Digit. Libr. 6(3), 235–246 (2006) CrossRefGoogle Scholar
  55. Leymann, F.: Choreography for the grid: Towards fitting BPEL to the resource framework. Concurr. Comput. Pract. Exp. 18(10), 1201–1217 (2006) CrossRefGoogle Scholar
  56. Marzolla, M., Mirandola, R.: Performance prediction of Web service workflows. In: Third International Conference on Quality of Software Architectures (QoSA 2007). LNCS, vol. 4880, p. 127. Springer, New York (2007) Google Scholar
  57. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997) zbMATHGoogle Scholar
  58. Miller, J., Mukerji, J.: Mda guide version 1.0.1. OMG report (2003) Google Scholar
  59. Mylopoulos, J., Borgida, A., Jarke, M., Koubarakis, M.: Telos: Representing knowledge about information systems. ACM Trans. Inf. Syst. 8(4), 325–362 (1990) CrossRefGoogle Scholar
  60. Naur, P., Randell, B. (eds.): Software engineering: Report of a Conference Sponsored by the NATO Science Committee, Scientific Affairs Division, NATO (1968) Google Scholar
  61. Papazoglou, M.: Web Services: Principles and Technology. Addison-Wesley, Reading (2007) Google Scholar
  62. Papazoglou, M.: The challenges of service evolution. In: Advanced Information Systems Engineering Conference (CAISE 2008). Springer, New York (2008a) Google Scholar
  63. Papazoglou, M.: Compliance requirements for business-process driven SOAs. In: IFIP World Computer Congress Conference (WCC 2008). Springer, New York (2008b) Google Scholar
  64. Papazoglou, M., Georgakopoulos, D.: Special issue: Service-oriented computing—Introduction. Commun. ACM 46(10), 24–28 (2003) CrossRefGoogle Scholar
  65. Papazoglou, M., Kratz, B.: Web services technology in support of business transactions. Service Oriented Comput. Appl. 1(1), 51–63 (2007) CrossRefGoogle Scholar
  66. Papazoglou, M., Pohl, K.: Report on longer term research challenges in software and services. Results from two workshops held at the European Commission premises at 8th of November 2007 and 28th and 29th of January 2008, European Commission, http://www.cordis.lu, with contributions from Boniface, M., Ceri, S., Hermenegildo, M., Inverardi, P., Leymann, F., Maiden, N., Metzger, A., Priol, T. (2008)
  67. Parnas, D.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972) CrossRefGoogle Scholar
  68. Pernici, B. (ed.): Mobile Information Systems: Infrastructure and Design for Adaptivity and Flexibility. Springer, New York (2006) Google Scholar
  69. Pistore, M., Traverso, P.: Assumption-based composition and monitoring of web services. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 307–335. Springer, New York (2007) CrossRefGoogle Scholar
  70. Pistore, M., Traverso, P., Bertoli, P., Marconi, A.: Automated synthesis of executable Web service compositions from BPEL4WS processes. In: Special Track, 14th International Conference on World Wide Web (WWW 2005) Google Scholar
  71. Rolli, D., Luckner, S., Momm, C., Weinhardt, C.: A framework for composing electronic marketplaces—From market structure to service implementation. In: 3rd Workshop on e-Business (WeB 2004), Washington, DC, USA (2004) Google Scholar
  72. Royce, W.: Managing the development of large software systems. In: IEEE WESCON, San Francisco, CA, USA, pp. 1–9 (1970) Google Scholar
  73. Rozinat, A., van der Aalst, W.M.P.: Conformance checking of processes based on monitoring real behavior. Inf. Syst. 33(1), 64–95 (2008) CrossRefGoogle Scholar
  74. Ruth, M.E., Tu, S.: Towards automating regression test selection for web services. In: 16th International Conference on World Wide Web (WWW 2007), pp. 1265–1266 (2007) Google Scholar
  75. Solanki, M., Cau, A., Zedan, H.: Augmenting semantic Web service descriptions with compositional specification. In: 13th International Conference on World Wide Web (WWW 2004) Google Scholar
  76. Spanoudakis, G., Mahbub, K., Zisman, A.: A platform for context aware runtime web service discovery. In: 2007 IEEE International Conference on Web Services (ICWS 2007), pp. 233–240 (2007) Google Scholar
  77. Traverso, P., Pistore, M.: Automatic composition of semantic Web services into executable processes. In: 3rd International Semantic Web Conference (ISWC 2004) Google Scholar
  78. van der Aalst, W.M.P.: Business alignment: Using process mining as a tool for delta analysis and conformance testing. Requir. Eng. 10(3), 198–211 (2005) CrossRefGoogle Scholar
  79. Yang, J., Papazoglou, M.: Service components for managing the life-cycle of service compositions. Inf. Syst. 28(1) (2004) Google Scholar
  80. Zachos, K., Maiden, N., Zhu, X., Jones, S.: Discovering web services to specify more complete system requirements. In: 19th International Conference on Advanced Information Systems Engineering (CAiSE 2007), pp. 142–157 (2007) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  • Elisabetta Di Nitto
    • 1
    Email author
  • Carlo Ghezzi
    • 1
  • Andreas Metzger
    • 2
  • Mike Papazoglou
    • 3
  • Klaus Pohl
    • 2
  1. 1.Politecnico di Milano, DEIMilanoItaly
  2. 2.University of Duisburg-Essen, SSEEssenGermany
  3. 3.Tilburg University, INFOLABTilburgThe Netherlands

Personalised recommendations