skip to main content
research-article

Test-and-adapt: An approach for improving service interchangeability

Authors Info & Claims
Published:22 October 2013Publication History
Skip Abstract Section

Abstract

Service-oriented applications do not fully benefit from standard APIs yet, and many applications fail to use interchangeably all the services that implement a standard service API. This article presents an approach to develop adaptation strategies that improve service interchangeability for service-oriented applications based on standard APIs. In our approach, an adaptation strategy consists of sets of parametric adaptation plans (called test-and-adapt plans), which execute test cases to reveal the occurrence of interchangeability problems, and activate runtime adaptors according to the test results. Throughout this article, we formalize the structure of the parametric test-and-adapt plans and of their execution semantics, present an algorithm for identifying correct execution orders through sets of test-and-adapt plans, provide empirical evidence of the occurrence of interchangeability problems for sample applications and services, and discuss the effectiveness of the approach in terms of avoided failures, runtime overheads and development costs.

References

  1. Baresi, L. and Guinea, S. 2011. Self-supervising bpel processes. IEEE Trans. Softw. Eng. 37, 2, 247--263. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bartolini, C., Bertolino, A., Elbaum, S., and Marchetti, E. 2009. Whitening SOA testing. In Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'09). ACM, New York, 161--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bartolini, C., Bertolino, A., Elbaum, S., and Marchetti, E. 2011. Bringing white-box testing to service oriented architectures through a service oriented approach. J. Syst. Softw. 84, 655--668. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Becker, S., Brogi, A., Gorton, I., Overhage, S., Romanovsky, A., and Tivoli, M. 2006. Towards an Engineering Approach to Component Adaptation. Lecture Notes in Computer Science, vol. 3938, Springer-Verlag, 193--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bertolino, A., Inverardi, P., Pelliccione, P., and Tivoli, M. 2009. Automatic synthesis of behavior protocols for composable web-services. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'09). ACM, New York, 141--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Beyer, D., Chakrabarti, A., and Henzinger, T. A. 2005. An interface formalism for web services. In Proceedings of the 1st International Workshop on Foundations of Interface Technologies (FIT). ENTCS. Elsevier.Google ScholarGoogle Scholar
  7. Bracciali, A., Brogi, A., and Canal, C. 2005. A formal approach to component adaptation. J. Syst. Softw. 74, 1, 45--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Brambilla, M., Ceri, S., Facca, F. M., Celino, I., Cerizza, D., and Della Valle, E. 2007. Model-driven design and development of semantic web service applications. ACM Trans. Internet Tech. 8, 3:1--3:31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Brogi, A., Corfini, S., and Popescu, R. 2008. Semantics-based composition-oriented discovery of web services. ACM Trans. Internet Tech. 8, 19:1--19:39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Brogi, A. and Popescu, R. 2006. Automated generation of BPEL adapters. In Proceedings of the 4th International Conference on Service Oriented Computing (ICSOC). Lecture Notes in Computer Science, vol. 4294, Springer-Verlag, Berlin, 27--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Brogi, A., Popescu, R., and Tanca, M. 2010. Design and implementation of sator: A web service aggregator. ACM Trans. Softw. Eng. Meth. 19, 10:1--10:21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Camara, J., Martin, J. A., Salaun, G., Cubo, J., Ouederni, M., Canal, C., and Pimentel, E. 2009. ITACA: An integrated toolbox for the automatic composition and adaptation of web services. In Proceedings of the 31st International Conference on Software Engineering. IEEE Computer Society, Los Alamitos, CA, 627--630. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Canal, C., Poizat, P., and Salaun, G. 2008. Model-based adaptation of behavioral mismatching components. IEEE Trans. Softw. Eng. 34, 4, 546--563. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Cardellini, V., Casalicchio, E., Grassi, V., Lo Presti, F., and Mirandola, R. 2009. Qos-driven runtime adaptation of service oriented architectures. In Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'09). ACM, New York, 131--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Chan, W., Cheung, S., and Leung, K. 2006. A metamorphic testing approach for online testing of service-oriented software applications. Int. J. Web Serv. Res. 4, 2, 61--81.Google ScholarGoogle ScholarCross RefCross Ref
  16. Charfi, A., Dinkelaker, T., and Mezini, M. 2009. A plug-in architecture for self-adaptive web service compositions. In Proceedings of the IEEE International Conference on Web Services (ICWS). IEEE Computer Society, Los Alamitos, CA, USA, 35--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Chen, P., Critchlow, M., Garg, A., Van der Westhuizen, C., and van der Hoek, A. 2004. Differencing and Merging within an Evolving Product Line Architecture. Lecture Notes in Computer Science, vol. 3014, Springer Verlag, 269--281.Google ScholarGoogle Scholar
  18. Chow, K. and Notkin, D. 1996. Semi-automatic update of applications in response to library changes. In Proceedings of the 1996 International Conference on Software Maintenance (ICSM'96). IEEE Computer Society, Los Alamitos, CA, 359--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Chu, M., Murphy, C., and Kaiser, G. 2008. Distributed in vivo testing of software applications. In Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation (ICST'08). IEEE Computer Society, Los Alamitos, CA, 509--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Cobleigh, J. M., Osterweil, L. J., Wise, A., and Lerner, B. S. 2002. Containment units: a hierarchically composable architecture for adaptive systems. SIGSOFT Softw. Eng. Notes 27, 6, 159--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Cubo, J., Sama, M., Raimondi, F., and Rosenblum, D. 2009. A model to design and verify context-aware adaptive service composition. In Proceedings of the IEEE International Conference on Services Computing (SCC'09). IEEE Computer Society, Los Alamitos, CA, 184--191. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Denaro, G., Pezzè, M., and Tosi, D. 2009. Ensuring interoperable service-oriented systems through engineered self-healing. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'09). ACM, New York, 253--262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Dig, D., Negara, S., Mohindra, V., and Johnson, R. 2008. ReBa: refactoring-aware binary adaptation of evolving libraries. In Proceedings of the 30th International Conference on Software Engineering (ICSE'08). ACM, New York, 441--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Dumas, M., Spork, M., and Wang, K. 2006. Adapt or perish: Algebra and visual notation for service interface adaptation. In Proceedings of the 4th International Conference on Business Process Management (BPM). Lecture Notes in Computer Science, vol. 4012. Springer, Berlin /Heidelberg, 65--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Elkhodary, A., Esfahani, N., and Malek, S. 2010. Fusion: a framework for engineering self-tuning self-adaptive software systems. In Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE'10). ACM, New York, 7--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Foster, H., Emmerich, W., Kramer, J., Magee, J., Rosenblum, D., and Uchitel, S. 2007. Model checking service compositions under resource constraints. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'07). ACM, New York, 225--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Foster, H., Uchitel, S., Magee, J., and Kramer, J. 2004. Compatibility verification for web service choreography. In Proceedings of the International Conference on Web Services (ICWS). IEEE Computer Society, Los Alamitos, CA, 738--741. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., and Steenkiste, P. 2004. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 10, 46--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. George, S., Evans, D., and Davidson, L. 2002. A biologically inspired programming model for self-healing systems. In Proceedings of the 1st Workshop on Self-Healing Systems (WOSS). ACM, New York, 102--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Haller, A., Cimpian, E., Mocan, A., Oren, E., and Bussler, C. 2005. WSMX - A semantic service-oriented architecture. In Proceedings of the International Conference on Web Services (ICWS). IEEE Computer Society, Los Alamitos, CA, 321--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Inverardi, P., Mostarda, L., Tivoli, M., and Autili, M. 2005. Synthesis of correct and distributed adaptors for component-based systems: an automatic approach. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE). ACM, New York, 405--409. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kaminski, P., Müller, H., and Litoiu, M. 2006. A design for adaptive web service evolution. In Proceedings of the International Workshop on Self-adaptation and Self-managing Systems (SEAMS). ACM, New York, NY, USA, 86--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Kephart, J. O. and Chess, D. M. 2003. The vision of autonomic computing. IEEE Computer 36, 1, 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Klyne, G. and Carroll, J. J. 2004. Resource Description Framework (RDF): Concepts and abstract syntax, W3C recommendation 10 Feb. 2004. http://www.w3.org/TR/rdf-concepts.Google ScholarGoogle Scholar
  35. Kongdenfha, W., Motahari Nezhad, H. R., Benatallah, B., Casati, F., and Saint-Paul, R. 2009. Mismatch patterns and adaptation aspects: A foundation for rapid development of web service adapters. IEEE Trans. Serv. Comput. 2, 2, 94--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Martin, D., Burstein, M., Lassila, O., Paolucci, M., Payne, T., and McIlraith, S. 2003. Describing web services using OWL-S and WSDL. http://www.daml.org/services/owl-3/1.0/owl-s-wsdl.html.Google ScholarGoogle Scholar
  37. Motahari Nezhad, H. R., Benatallah, B., Martens, A., Curbera, F., and Casati, F. 2007. Semi-automated adaptation of service interactions. In Proceedings of the International Conference on World Wide Web (WWW). ACM, New York, 993--1002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimhigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D., and Wolf, A. 1999. An architecture-based approach to self-adaptive software. IEEE Intell. Syst. 14, 3, 54--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Paolucci, M. and Wagner, M. 2006. Grounding OWL-S in WSDL-S. In Proceedings of the International Conference on Web Services (ICWS). IEEE Computer Society, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Poladian, V., Sousa, J. P., Garlan, D., and Shaw, M. 2004. Dynamic configuration of resource-aware services. In Proceedings of the International Conference on Software Engineering (ICSE). IEEE Computer Society, Los Alamitos, CA, 604--613. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Ponnekanti, S. R. and Fox, A. 2003. Application-service interoperation without standardized service interfaces. In Proceedings of the 1st IEEE International Conference on Pervasive Computing and Communications (PERCOM'03). IEEE Computer Society, Los Alamitos, CA, 30--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Ponnekanti, S. R. and Fox, A. 2004. Interoperability among independently evolving web services. In Proceedings of the 5th ACM/IFIP/USENIX International Conference on Middleware (Middleware'04). Springer-Verlag, Berlin, 331--351. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Robillard, M. P. 2008. Topology analysis of software dependencies. ACM Trans. Softw. Eng. Method. 17, 18:1--18:36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Roman, D., Keller, U., Lausen, H., de Bruijn, J., Lara, R., Stollberg, M., Polleres, A., Feier, C., Bussler, C., and Fensel, D. 2005. Web service modeling ontology. Appl. Ontol. 1, 1, 77--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Salehie, M. and Tahvildari, L. 2009. Self-adaptive software: Landscape and research challenges. ACM Trans. Autonom. Adapt. Syst. 4, 14:1--14:42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Smith, M. K., McGuinness, D. L., and Welty, C. 2004. OWL Web Ontology Language guide, W3C recommendation 10 Feb. 2004. http://www.w3.org/TR/owl-guide.Google ScholarGoogle Scholar
  47. Solanki, M., Cau, A., and Zedan, H. 2004. Augmenting semantic web service descriptions with compositional specification. In Proceedings of the 13th international conference on World Wide Web (WWW'04). ACM, New York, 544--552. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Valetto, G. and Kaiser, G. 2003. Using process technology to control and coordinate software adaptation. In Proceedings of the 25th International Conference on Software Engineering (ICSE'03). IEEE Computer Society, Los Alamitos, CA, 262--272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Wang, Q., Quan, L., and Ying, F. 2004. Online testing of web-based applications. In Proceedings of the 28th Annual International Computer Software and Applications Conference - Workshops and Fast Abstracts - Volume 02 (COMPSAC'04). IEEE Computer Society, Los Alamitos, CA, 166--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Xing, Z. and Stroulia, E. 2007. Api-evolution support with diff-catchup. IEEE Trans. Softw. Eng. 33, 12, 818--836. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Yellin, D. M. and Strom, R. E. 1997. Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst. 19, 2, 292--333. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Zaremski, A. M. and Wing, J. M. 1997. Specification matching of software components. ACM Trans. Softw. Eng. Meth. 6, 4, 333--369. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Test-and-adapt: An approach for improving service interchangeability

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Software Engineering and Methodology
              ACM Transactions on Software Engineering and Methodology  Volume 22, Issue 4
              Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
              October 2013
              387 pages
              ISSN:1049-331X
              EISSN:1557-7392
              DOI:10.1145/2522920
              Issue’s Table of Contents

              Copyright © 2013 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 22 October 2013
              • Accepted: 1 July 2012
              • Revised: 1 April 2012
              • Received: 1 May 2011
              Published in tosem Volume 22, Issue 4

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader