Architecture Patterns Clustering using a Machine Learning Approach
Keywords:
Architecture patterns, Clustering, Image Processing, Machine Learning.Abstract
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.
Downloads
References
Ritu Kapur, Sumit Kalra, Kamlesh Tiwari, Geetika Arora. (2021). Architectural Patterns Dataset. IEEE Dataport. https://dx.doi.org/10.21227/z9k4-8217
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
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
All papers should be submitted electronically. All submitted manuscripts must be original work that is not under submission at another journal or under consideration for publication in another form, such as a monograph or chapter of a book. Authors of submitted papers are obligated not to submit their paper for publication elsewhere until an editorial decision is rendered on their submission. Further, authors of accepted papers are prohibited from publishing the results in other publications that appear before the paper is published in the Journal unless they receive approval for doing so from the Editor-In-Chief.
IJISAE open access articles are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. This license lets the audience to give appropriate credit, provide a link to the license, and indicate if changes were made and if they remix, transform, or build upon the material, they must distribute contributions under the same license as the original.