An Innovative Metric-based Clustering Approach for Increased Scalability and Dependency Elimination in Monolithic Legacy Systems
Received: 16 May 2023 | Revised: 30 May 2023 | Accepted: 8 June 2023 | Online: 9 August 2023
Corresponding author: Abdul Razzaq
Abstract
Scalability is one of the system’s characteristics highlighted in the recent literature, and it is directly related to issues that are encountered in state-of-the-practice technology. The scalability of a system is challenging because monolithic legacy systems are hard to scale due to the high level of component dependencies. To the best of our knowledge, there is no published work available that can identify the components from a monolithic legacy system in the context of dependent and independent components and scale them accordingly. The main contribution of this paper is the proposal of a novel approach for the exclusive identification of dependent and independent monolithic legacy system components. The proposed approach also helps to remove the dependency among components of monolithic legacy systems. As a result, it establishes a precise method that identifies all the components of an application and removes the dependency among components, helping to increase the scalability of the resulting application. This approach was validated by several experiments, and the key findings were the identification of dependent and independent components, the identification of relationships among components, and the identification of the abstract level architecture of the monolithic legacy system. In future work, the proposed method will be enhanced toward the recovery of the whole system’s architecture.
Keywords:
monolithic application upgradation, system components, architecture recovery, dependency, scalability of monolithic systems, reverse engineeringDownloads
References
C. Burstedde, J. A. Fonseca, and S. Kollet, "Enhancing speed and scalability of the ParFlow simulation code," Computational Geosciences, vol. 22, no. 1, pp. 347–361, Feb. 2018.
H. Ibrahim, B. H. Far, and A. Eberlein, "Scalability improvement in software evaluation methodologies," in International Conference on Information Reuse & Integration, Las Vegas, NV, USA, Aug. 2009, pp. 236–241.
L. Duboc, E. Letier, D. S. Rosenblum, and T. Wicks, "A Case Study in Eliciting Scalability Requirements," in 16th IEEE International Requirements Engineering Conference, Barcelona, Spain, Sep. 2008, pp. 247–252.
L. Baresi, E. Di Nitto, and C. Ghezzi, "Toward open-world software: Issues and challenges," Computer, vol. 39, no. 10, pp. 36–43, Jul. 2006.
O. Al-Debagy and P. Martinek, "A Comparative Review of Microservices and Monolithic Architectures," in 18th International Symposium on Computational Intelligence and Informatics, Budapest, Hungary, Nov. 2018, pp. 149–154.
D. Escobar et al., "Towards the understanding and evolution of monolithic applications as microservices," in XLII Latin American Computing Conference, Valparaiso, Chile, Oct. 2016, pp. 1–11.
A. G. Salinger et al., "Albany: using component-based design to develop a flexible, generic multiphysics analysis code," International Journal for Multiscale Computational Engineering, vol. 14, no. 4, pp. 415–438, 2016.
C. J. M. Geisterfer and S. Ghosh, "Software component specification: a study in perspective of component selection and reuse," in Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems, Orlando, FL, USA, Feb. 2006.
D. Liu, C.-H. Lung, and S. A. Ajila, "Adaptive Clustering Techniques for Software Components and Architecture," in 39th Annual Computer Software and Applications Conference, Taichung, Taiwan, Jul. 2015, vol. 3, pp. 460–465.
S. S. Yau, C. Taweponsomkiat, and D. Huang, "A Framework for Extensible Component Customization for Component-based Software Development," in Sixth International Conference on Quality Software, Beijing, China, Oct. 2006, pp. 369–376.
S. A. K. Ghayyur, A. Razzaq, S. Ullah, and S. Ahmed, "Matrix Clustering based Migration of System Application to Microservices Architecture," International Journal of Advanced Computer Science and Applications, vol. 9, no. 1, pp. 284–296, Jan. 2018.
W. Chengjun, "Architecture Driven Component Development for Top-Down Software Reuse," in International Conference on Computer Science and Software Engineering, Wuhan, China, Dec. 2008, vol. 5, pp. 1349–1352.
J. S. Cuadrado, E. Guerra, and J. de Lara, "A Component Model for Model Transformations," IEEE Transactions on Software Engineering, vol. 40, no. 11, pp. 1042–1060, Aug. 2014.
N. Parlavantzas, M. Morel, V. Getov, F. Baude, and D. Caromel, "Performance and Scalability of a Component-Based Grid Application," in International Parallel and Distributed Processing Symposium, Long Beach, CA, USA, Mar. 2007, pp. 1–8.
P. Geyer and S. Singaravel, "Component-based machine learning for performance prediction in building design," Applied Energy, vol. 228, pp. 1439–1453, Oct. 2018.
D. Chaudhari, M. Zulkernine, and K. Weldemariam, "Towards a ranking framework for software components," in 28th Annual ACM Symposium on Applied Computing, New York, NY, USA, Mar. 2013, pp. 495–498.
J. Cubo and E. Pimentel, "DAMASCo: A Framework for the Automatic Composition of Component-Based and Service-Oriented Architectures," in 5th European Conference, Essen, Germany, Sep. 2011, pp. 388–404.
A. L. Martinez-Ortiz, D. Lizcano, M. Ortega, L. Ruiz, and G. Lopez, "A quality model for web components," in 18th International Conference on Information Integration and Web-based Applications and Services, Singapore, Asia, Nov. 2016, pp. 430–432.
M. Vianden, H. Lichter, and A. Steffens, "Experience on a Microservice-Based Reference Architecture for Measurement Systems," in 21st Asia-Pacific Software Engineering Conference, Jeju, Korea (South), Dec. 2014, vol. 1, pp. 183–190.
J. Kaur and P. Tomar, "Validation of Software Component Selection Algorithms based on Clustering," Indian Journal of Science and Technology, vol. 9, no. 45, pp. 1–4, Dec. 2016.
A. Alkhalid, C.-H. Lung, D. Liu, and S. Ajila, "Software Architecture Decomposition Using Clustering Techniques," in 37th Annual Computer Software and Applications Conference, Kyoto, Japan, Jul. 2013, pp. 806–811.
G. Shahmohammadi, S. Jalili, and S. M. H. Hasheminejad, "Identification of System Software Components Using Clustering Approach," Journal of Object Technology, vol. 9, no. 6, pp. 77–98, 2010.
S. Marru, M. Pierce, S. Pamidighantam, and C. Wimalasena, "Apache Airavata as a Laboratory: Architecture and Case Study for Component-Based Gateway Middleware," in 1st Workshop on The Science of Cyberinfrastructure: Research, Experience, Applications and Models, Portland, OR, USA, Jun. 2015, pp. 19–26.
I. Hussain, A. Khanum, A. Q. Abbasi, and M. Y. Javed, "A Novel Approach for Software Architecture Recovery using Particle Swarm Optimization," The International Arab Journal of Information Technology, vol. 12, no. 1, pp. 32–41, 2015.
I. Crnkovic, S. Sentilles, A. Vulgarakis, and M. R. V. Chaudron, "A Classification Framework for Software Component Models," IEEE Transactions on Software Engineering, vol. 37, no. 5, pp. 593–615, Sep. 2011.
G. Toffetti Carughi, S. Brunner, M. Blochlinger, F. Dudouet, and A. Edmonds, "An architecture for self-managing microservices," in 1st International Workshop on Automated Incident Management in Cloud, Bordeaux, France, Apr. 2015.
K. K. Chahal and H. Singh, "A Metrics Based Approach to Evaluate Design of Software Components," in International Conference on Global Software Engineering, Bangalore, India, Aug. 2008, pp. 269–272.
J. Chen, W. K. Yeap, and S. D. Bruda, "A Review of Component Coupling Metrics for Component-Based Development," in WRI World Congress on Software Engineering, Xiamen, China, Dec. 2009, vol. 4, pp. 65–69.
S. K. Mishra, D. S. Kushwaha, and A. K. Misra, "Creating Reusable Software Component from Object-Oriented Legacy System through Reverse Engineering.," Journal of Object Technology, vol. 8, no. 5, pp. 133–152, 2009.
A. Seriai, S. Sadou, H. Sahraoui, and S. Hamza, "Deriving Component Interfaces after a Restructuring of a Legacy System," in IEEE/IFIP Conference on Software Architecture, Sydney, NSW, Australia, Apr. 2014, pp. 31–40.
S. R. Idate, T. S. Rao, and D. J. Mali, "Context-Based Aspect-Oriented Requirement Engineering Model," Engineering, Technology & Applied Science Research, vol. 13, no. 2, pp. 10460–10465, Apr. 2023.
M. O. Odhiambo and P. O. Umenne, "NET-COMPUTER: Internet Computer Architecture and its Application in E-Commerce," Engineering, Technology & Applied Science Research, vol. 2, no. 6, pp. 302–309, Dec. 2012.
M. N. A. Khan, A. M. Mirza, M. Shahid, R. A. Wagan, and I. Saleem, "State of Quality Engineering Practices: The Pakistan Perspective," Engineering, Technology & Applied Science Research, vol. 10, no. 5, pp. 6309–6315, Oct. 2020.
F. Brosch, H. Koziolek, B. Buhnova, and R. Reussner, "Architecture-Based Reliability Prediction with the Palladio Component Model," IEEE Transactions on Software Engineering, vol. 38, no. 6, pp. 1319–1339, Aug. 2012.
J. ZhanG, X. Ban, Q. Lv, J. Chen, and D. Wu, "A component-based method for software architecture refinement," in 29th Chinese Control Conference, Beijing, China, Jul. 2010, pp. 4251–4256.
K. Sartipi, "Software architecture recovery based on pattern matching," in International Conference on Software Maintenance, Amsterdam, Netherlands, Sep. 2003, pp. 293–296.
S. Chardigny, A. Seriai, M. Oussalah, and D. Tamzalit, "Extraction of Component-Based Architecture from Object-Oriented Systems," in Seventh Working IEEE/IFIP Conference on Software Architecture, Vancouver, BC, Canada, Feb. 2008, pp. 285–288.
K.-K. Lau and S. Di Cola, "(Reference) architecture = components + composition (+ variation points)?," in 1st International Workshop on Exploring Component-based Techniques for Constructing Reference Architectures, Montreal, QC, Canada, Dec. 2015, pp. 1–4.
D. E. Bernholdt et al., "A Component Architecture for High-Performance Scientific Computing," The International Journal of High Performance Computing Applications, vol. 20, no. 2, pp. 163–202, May 2006.
H. Algestam, M. Offesson, and L. Lundberg, "Using components to increase maintainability in a large telecommunication system," in Ninth Asia-Pacific Software Engineering Conference, Gold Coast, QLD, Australia, Dec. 2002, pp. 65–73.
P. Rana and R. Singh, "A soft computing approach to optimize component based software complexity metrics," Journal of Theoretical and Applied Information Technology, vol. 97, pp. 1200–1212, Feb. 2019.
D. P. Lupp, M. Hodkiewicz, and M. G. Skjaeveland, "Template Libraries for Industrial Asset Maintenance: A Methodology for Scalable and Maintainable Ontologies," CEUR Workshop Proceedings, vol. 2757, pp. 49–64, 2020.
Downloads
How to Cite
License
Copyright (c) 2023 Abdulaziz Aljaloud, Abdul Razzaq
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors who publish with this journal agree to the following terms:
- Authors retain the copyright and grant the journal the right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) after its publication in ETASR with an acknowledgement of its initial publication in this journal.