Advertisement

Towards Quality-Driven SOA Systems Refactoring Through Planning

  • Mathieu NayrollesEmail author
  • Eric Beaudry
  • Naouel Moha
  • Petko Valtchev
  • Abdelwahab Hamou-Lhadj
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 209)

Abstract

Service Based Systems (SBSs), like other software systems, evolve due to changes in both user requirements and execution contexts. Continuous evolution could easily deteriorate the design and reduce the Quality of Service (QoS) of SBSs and may result in poor design solutions, commonly known as SOA (Service Oriented Architecture) antipatterns. SOA antipatterns lead to a reduced maintainability and re-usability of SBSs. It is therefore critical to be able to detect and remove them to ensure the architectural quality of the software during its lifetime. In this paper, we present a novel approach named SOMAD-R (Service Oriented Mining for Antipattern Detection-Refactoring) which allows the refactoring of SOA antipatterns by building on a previously published tool named SOMAD (Service Oriented Mining for Antipattern Detection). SOMAD-R combines planning solving techniques and SOMAD detection algorithms to enable antipatterns driven refactoring of SBSs. As a first step towards refactoring antipatterns for SBSs, we successfully applied SOMAD-R to HomeAutomation, a SCA (Service Component Architecture) application and we removed three antipatterns (out of five) while improving application performance by 32%.

Keywords

SOA Antipatterns Quality-driven refactoring SOA refactoring Services orchestration SOA planning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Erl, T.: Service-Oriented Architecture. Prentice Hall (2006)Google Scholar
  2. 2.
    Palma, F., Nayrolles, M., Moha, N.: SOA Antipatterns: An Approach for their Specification and Detection. International Journal of Cooperative Information Systems 22(04), 1–40 (2013)CrossRefGoogle Scholar
  3. 3.
    Wolfgang, P.: Design patterns for object-oriented software development. Addison-Wesley, Reading (1994)Google Scholar
  4. 4.
    Nayrolles, M., Moha, N., Valtchev, P.: Improving SOA Antipatterns Detection in Service Based Systems by Mining Execution Traces. In: Working Conference on Reverse Engineering, Number i, pp. 321–330. IEEE (2013)Google Scholar
  5. 5.
    Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design defects detection and correction by example. In: 2011 IEEE 19th International Conference on Program Comprehension (ICPC), pp. 81–90. IEEE (2011)Google Scholar
  6. 6.
    Erni, K., Lewerentz, C.: Applying design-metrics to object-oriented frameworks. In: Proceedings of the 3rd International Software Metrics Symposium, pp. 64–74. IEEE (1996)Google Scholar
  7. 7.
    Fenton, N.E., Pfleeger, S.L.: Software metrics: a rigorous and practical approach. PWS Publishing Co. (1998)Google Scholar
  8. 8.
    Moha, N., Gueheneuc, Y.G., Duchien, L., Le Meur, A.F.: DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transactions on Software Engineering 36(1), 20–36 (2010)CrossRefGoogle Scholar
  9. 9.
    Opdyke, W.F.: Refactoring: A program restructuring aid in designing object-oriented application frameworks. PhD thesis, PhD thesis, University of Illinois at Urbana-Champaign (1992)Google Scholar
  10. 10.
    Moha, N., Rezgui, J., Guéhéneuc, Y.-G., Valtchev, P., El Boussaidi, G.: Using FCA to Suggest Refactorings to Correct Design Defects. In: Yahia, S.B., Nguifo, E.M., Belohlavek, R. (eds.) CLA 2006. LNCS (LNAI), vol. 4923, pp. 269–275. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  11. 11.
    Moha, N., Rouane Hacene, A.M., Valtchev, P., Guéhéneuc, Y.-G.: Refactorings of Design Defects Using Relational Concept Analysis. In: Medina, R., Obiedkov, S. (eds.) ICFCA 2008. LNCS (LNAI), vol. 4933, pp. 289–304. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  12. 12.
    Moha, N., Mahé, V., Barais, O., Jézéquel, J.-M.: Generic Model Refactorings. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 628–643. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  13. 13.
    O’Keeffe, M., Cinnéide, M.O.: Search-based refactoring: an empirical study. Journal of Software Maintenance and Evolution: Research and Practice 20(5), 345–364 (2008)Google Scholar
  14. 14.
    Palma, F.: Detection of SOA Antipatterns. In: Ghose, A., Zhu, H., Yu, Q., Delis, A., Sheng, Q.Z., Perrin, O., Wang, J., Wang, Y. (eds.) ICSOC 2012. LNCS, vol. 7759, pp. 412–418. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  15. 15.
    Demange, A., Moha, N., Tremblay, G.: Detection of SOA Patterns. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 114–130. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  16. 16.
    Zhu, W., Melo, W.: Refactoring J2EE application for JBI-based ESB: a case study. In: IEEE International Enterprise Distributed Object Computing Conference, EDOC 2009, pp. 213–217. IEEE (2009)Google Scholar
  17. 17.
    Kim, Y., Doh, K.-G.: The Service Modeling Process Based on Use Case Refactoring. In: Abramowicz, W. (ed.) BIS 2007. LNCS, vol. 4439, pp. 108–120. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  18. 18.
    Pejman, E., Rastegari, Y., Esfahani, P.M., Salajegheh, A.: Web Service Composition Methods : A Survey. I (2012)Google Scholar
  19. 19.
    Canfora, G., Di Penta, M., Esposito, R., Villani, M.L.: An approach for QoS-aware service composition based on genetic algorithms. In: Proceedings of the 7th Annual Conference on Genetic and Evolutionary Computation, pp. 1069–1075. ACM (2005)Google Scholar
  20. 20.
    Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., Sheng, Q.Z.: Quality driven web services composition. In: Proceedings of the 12th International Conference on World Wide Web, pp. 411–421. ACM (2003)Google Scholar
  21. 21.
    Xu, J., Reiff-Marganiec, S.: Towards heuristic web services composition using immune algorithm. In: IEEE International Conference on Web Services, ICWS 2008, pp. 238–245. IEEE (2008)Google Scholar
  22. 22.
    Ming, C., Zhen-wu, W.: An approach for web services composition based on QoS and discrete particle swarm optimization. In: Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2007), vol. 2, pp. 37–41 (2007)Google Scholar
  23. 23.
    Yu, T., Lin, K.-J.: Service Selection Algorithms for Composing Complex Services with Multiple QoS Constraints. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 130–143. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  24. 24.
    Narayanan, S., McIlraith, S.A.: Simulation, verification and automated composition of web services. In: Proceedings of the 11th International Conference on World Wide Web, pp. 77–88. ACM (2002)Google Scholar
  25. 25.
    Berardi, D., Calvanese, D., De Giacomo, G., Mecella, M.: Composition of Services with Nondeterministic Observable Behavior. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 520–526. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  26. 26.
    Marconi, A., Pistore, M., Traverso, P.: Specifying data-flow requirements for the automated composition of web services. In: Fourth IEEE International Conference on Software Engineering and Formal Methods, SEFM 2006, pp. 147–156. IEEE (2006)Google Scholar
  27. 27.
    Pistore, M., Traverso, P., Bertoli, P.: Automated Composition of Web Services by Planning in Asynchronous Domains. ICAPS 5, 2–11 (2005)Google Scholar
  28. 28.
    Bertoli, P., Kazhamiakin, R., Paolucci, M., Pistore, M., Raik, H., Wagner, M.: Continuous Orchestration of Web Services via Planning. In: ICAPS (2009)Google Scholar
  29. 29.
    Mannila, H., Toivonen, H., Verkamo, A.I.: Discovery of Frequent Episodes in Event Sequences. Data Mining and Knowledge Discovery 1(3), 259–289 (1997)CrossRefGoogle Scholar
  30. 30.
    G. Piatetsky-Shapiro: Discovery, analysis and presentation of strong rules. Knowledge Discovery in Databases, 229–249 (January 1991)Google Scholar
  31. 31.
    Ghallab, M., Nau, D., Traverso, P.: Automated planning: theory & practice. Elsevier (2004)Google Scholar
  32. 32.
    Richter, S., Westphal, M.: The LAMA planner: Guiding cost-based anytime planning with landmarks. Journal of Artificial Intelligence Research 39(1), 127–177 (2010)zbMATHGoogle Scholar
  33. 33.
    Fowler, M., Beck, K., Brant, J., Opdyke, W.: Refactoring: Improving the Design of Existing Code. Addison Wesley (1999)Google Scholar
  34. 34.
    Helmert, M.: The Fast Downward Planning System. J. Artif. Intell. Res. (JAIR) 26, 191–246 (2006)CrossRefzbMATHGoogle Scholar
  35. 35.
    Hoffmann, J., Nebel, B.: The FF planning system: Fast plan generation through heuristic search. arXiv preprint arXiv:1106.0675 (2011)
  36. 36.
    Porteous, J., Sebastia, L., Hoffmann, J.: On the extraction, ordering, and usage of landmarks in planning. In: 6th European Conference on Planning (2001)Google Scholar
  37. 37.
    Richter, S., Helmert, M., Westphal, M.: Landmarks Revisited. In: AAAI, vol. 8, pp. 975–982 (2008)Google Scholar
  38. 38.
    Fournier, P.M., Dagenais, M.R.: Combined Tracing of the Kernel and Applications with LTTng. In: Linux Symposium, pp. 209–224 (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Mathieu Nayrolles
    • 1
    Email author
  • Eric Beaudry
    • 2
  • Naouel Moha
    • 2
  • Petko Valtchev
    • 2
  • Abdelwahab Hamou-Lhadj
    • 1
  1. 1.SBA Research Lab, ECE DepartmentConcordia UniversityMontrealCanada
  2. 2.Département d‘informatiqueUniversité du Québec MontréalMontrealCanada

Personalised recommendations