Architecture Patterns Clustering using a Machine Learning Approach


  • Omar Al Huniti, Khawla Al-Tarawneh, Esra Alzaghoul, Fawaz Ahmad Alzaghoul


Architecture patterns, Clustering, Image Processing, Machine Learning.


Architecture patterns are frequently employed in software development to address prevalent design challenges. The identification and classification of architecture patterns have become crucial in optimizing the design process due to the increasing complexity of software systems. Clustering has emerged as a widely adopted technique to categorize comparable entities. Recently, machine learning algorithms have been employed to automate and enhance the precision of clustering.

This study proposed using k-means clustering to group the architectural patterns like repository, client-server, broker, microkernel, publisher-subscriber, model view controller, REST, and space-based patterns together.

That was done on one of the benchmark dataset (Architectural Patterns dataset ) by using different Ks to perform the clustering, demonstrating the connections between architecture patterns. Then extract the related patterns and propose valid splitting for some patterns.


Download data is not yet available.


Ritu Kapur, Sumit Kalra, Kamlesh Tiwari, Geetika Arora. (2021). Architectural Patterns Dataset. IEEE Dataport.

Aychew, M., & Alemneh, E. (2022, November). Selection of Architectural Patterns based on Tactics. In 2022 International Conference on Information and Communication Technology for Development for Africa (ICT4DA) (pp. 13-18). IEEE.

Komolov, S., Dlamini, G., Megha, S., & Mazzara, M. (2022). Towards Predicting Architectural Design Patterns: A Machine Learning Approach. Computers, 11(10), 151.

Velasco-Elizondo, P., Marín-Piña, R., Vazquez-Reyes, S., Mora-Soto, A., & Mejia, J. (2016). Knowledge representation and information extraction for analysing architectural patterns. Science of Computer Programming, 121, 176-189.

Daoudi, A., ElBoussaidi, G., Moha, N., & Kpodjedo, S. (2019, April). An exploratory study of MVC-based architectural patterns in Android apps. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing (pp. 1711-1720).

Rokach, L., & Maimon, O. (2005). Clustering methods

Gebremeskel, G. B., Hailu, B., & Biazen, B. (2022). Architecture and optimization of data mining modeling for visualization of knowledge extraction: patient safety care. Journal of King Saud University-Computer and Information Sciences, 34(2), 468-479.

Lévy, N., Losavio, F., & Matteo, A. (1998, November). Comparing architectural styles: broker specializes mediator. In Proceedings of the third international workshop on Software architecture (pp. 93-96).

Kassab, M., Mazzara, M., Lee, J., & Succi, G. (2018). Software architectural patterns in practice: an empirical study. Innovations in Systems and Software Engineering, 14, 263-271.

Baccelli, E., Hahm, O., Günes, M., Wählisch, M., & Schmidt, T. C. (2013, April). RIOT OS: Towards an OS for the Internet of Things. In 2013 IEEE conference on computer communications workshops (INFOCOM WKSHPS) (pp. 79-80). IEEE.

García-Holgado, A., & García-Peñalvo, F. J. (2016). Architectural pattern to improve the definition and implementation of eLearning ecosystems. Science of Computer Programming, 129, 20-34.

Perera, H., & Jayakody, A. (2022, September). Common Object Request Broker-based Publisher-Subscriber Middleware for Internet of Things-Edge Computing. In 2022 International Research Conference on Smart Computing and Systems Engineering (SCSE) (Vol. 5, pp. 68-75). IEEE.

Avgeriou, P., & Zdun, U. (2005). Architectural patterns revisited-a pattern language.

Theorin, A., Bengtsson, K., Provost, J., Lieder, M., Johnsson, C., Lundholm, T., & Lennartson, B. (2017). An event-driven manufacturing information system architecture for Industry 4.0. International journal of production research, 55(5), 1297-1311.

Verborgh, R., Van Hooland, S., Cope, A. S., Chan, S., Mannens, E., & Van de Walle, R. (2015). The fallacy of the multi-API culture: Conceptual and practical benefits of representational state transfer (REST). Journal of Documentation, 71(2), 233-252.

Kaiwartya, O., Abdullah, A. H., Cao, Y., Altameem, A., Prasad, M., Lin, C. T., & Liu, X. (2016). Internet of vehicles: Motivation, layered architecture, network model, challenges, and future aspects. IEEE access, 4, 5356-5373.

Iyer, A., Bali, S., Kumar, I., Churi, P., & Mistry, K. (2019). Presentation Abstraction Control Architecture Pattern in Business Intelligence. In Advances in Computing and Data Sciences: Third International Conference, ICACDS 2019, Ghaziabad, India, April 12–13, 2019, Revised Selected Papers, Part II 3 (pp. 666-679). Springer Singapore.

Taibi, D., Lenarduzzi, V., & Pahl, C. (2018). Architectural patterns for microservices: a systematic mapping study. In CLOSER 2018: Proceedings of the 8th International Conference on Cloud Computing and Services Science; Funchal, Madeira, Portugal, 19-21 March 2018. SciTePress.

Mordinyi, R., Kühn, E., & Schatten, A. (2010, February). Space-based architectures as abstraction layer for distributed business applications. In 2010 International Conference on Complex, Intelligent and Software Intensive Systems (pp. 47-53). IEEE




How to Cite

Esra Alzaghoul, Fawaz Ahmad Alzaghoul, O. A. H. K. A.-T. . (2024). Architecture Patterns Clustering using a Machine Learning Approach. International Journal of Intelligent Systems and Applications in Engineering, 12(21s), 303–309. Retrieved from



Research Article