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%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Erl, T.: Service-Oriented Architecture. Prentice Hall (2006)
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)
Wolfgang, P.: Design patterns for object-oriented software development. Addison-Wesley, Reading (1994)
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)
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)
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)
Fenton, N.E., Pfleeger, S.L.: Software metrics: a rigorous and practical approach. PWS Publishing Co. (1998)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Pejman, E., Rastegari, Y., Esfahani, P.M., Salajegheh, A.: Web Service Composition Methods : A Survey. I (2012)
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)
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)
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)
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)
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)
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)
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)
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)
Pistore, M., Traverso, P., Bertoli, P.: Automated Composition of Web Services by Planning in Asynchronous Domains. ICAPS 5, 2–11 (2005)
Bertoli, P., Kazhamiakin, R., Paolucci, M., Pistore, M., Raik, H., Wagner, M.: Continuous Orchestration of Web Services via Planning. In: ICAPS (2009)
Mannila, H., Toivonen, H., Verkamo, A.I.: Discovery of Frequent Episodes in Event Sequences. Data Mining and Knowledge Discovery 1(3), 259–289 (1997)
G. Piatetsky-Shapiro: Discovery, analysis and presentation of strong rules. Knowledge Discovery in Databases, 229–249 (January 1991)
Ghallab, M., Nau, D., Traverso, P.: Automated planning: theory & practice. Elsevier (2004)
Richter, S., Westphal, M.: The LAMA planner: Guiding cost-based anytime planning with landmarks. Journal of Artificial Intelligence Research 39(1), 127–177 (2010)
Fowler, M., Beck, K., Brant, J., Opdyke, W.: Refactoring: Improving the Design of Existing Code. Addison Wesley (1999)
Helmert, M.: The Fast Downward Planning System. J. Artif. Intell. Res. (JAIR) 26, 191–246 (2006)
Hoffmann, J., Nebel, B.: The FF planning system: Fast plan generation through heuristic search. arXiv preprint arXiv:1106.0675 (2011)
Porteous, J., Sebastia, L., Hoffmann, J.: On the extraction, ordering, and usage of landmarks in planning. In: 6th European Conference on Planning (2001)
Richter, S., Helmert, M., Westphal, M.: Landmarks Revisited. In: AAAI, vol. 8, pp. 975–982 (2008)
Fournier, P.M., Dagenais, M.R.: Combined Tracing of the Kernel and Applications with LTTng. In: Linux Symposium, pp. 209–224 (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Nayrolles, M., Beaudry, E., Moha, N., Valtchev, P., Hamou-Lhadj, A. (2015). Towards Quality-Driven SOA Systems Refactoring Through Planning. In: Benyoucef, M., Weiss, M., Mili, H. (eds) E-Technologies. MCETECH 2015. Lecture Notes in Business Information Processing, vol 209. Springer, Cham. https://doi.org/10.1007/978-3-319-17957-5_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-17957-5_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-17956-8
Online ISBN: 978-3-319-17957-5
eBook Packages: Computer ScienceComputer Science (R0)