Optimization of the Cell-based Software Architecture by Applying the Community Detection Approach
Miloš Milić, Dragana Makajić-Nikolić
DOI: http://dx.doi.org/10.15439/2024F3355
Citation: Proceedings of the 19th Conference on Computer Science and Intelligence Systems (FedCSIS), M. Bolanowski, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 39, pages 149–156 (2024)
Abstract. The aim of this research is to present the Cell-based software architecture and explore its optimization. Cell-based software architecture organizes a software system into interconnected cells, each containing multiple elements. This research focuses on optimizing cell-based architecture, particularly the number of cells and their internal organization. In this context, the Community Detection approach, which identifies closely connected elements, was applied. Additionally, the model incorporates the concept of functionality, defined as a set of capabilities allowable and actionable by the software system. We conducted a series of experiments based on the defined mathematical model to validate our approach, achieving optimal and near-optimal solutions within a given time limit. Considering that each cell can contain multiple elements realized in various architectural styles, the proposed model allows for the integration of different architectures within the same software system. This flexibility enhances the system's overall adaptability and efficiency.
References
- P. Bourque and R. E. Fairley (Eds), Guide to the Software Engineering Body of Knowledge (SWEBOK (R)): Version 3.0, IEEE Computer Society Press, 2014.
- A. Chandrasekar, S. Rajesh, and P. Rajesh, "A research study on software quality attributes", International Journal of Scientific and Research Publications, Vol. 4, No. 1, pp. 14-19, 2014.
- L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, 4th Edition, Addison-Wesley Professional, 2021.
- A. Abeysinghe, "Cell-Based Architecture: A Decentralized Reference Architecture for Cloud-native Applications", 2024. Available online: https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md (Access Date: May 17, 2024).
- Amazon Web Services, "Reducing the Scope of Impact with Cell-Based Architecture: AWS Well-Architected", Amazon Corporation, 2024. Available online: https://docs.aws.amazon.com/wellarchitected/latest/reducing-scope-of-impact-with-cell-based-architecture/reducing-scope-of-impact-with-cell-based-architecture.html (Access Date: July 12, 2024).
- G. Blinowski, A. Ojdowska, and A. Przybyłek, "Monolithic vs. microservice architecture: A performance and scalability evaluation", IEEE Access, Vol. 10, pp. 20357-20374, 2022, https://doi.org/10.1109/ACCESS.2022.3152803.
- S. Hassan and R. Bahsoon, "Microservices and their design trade-offs: A self-adaptive roadmap", in Proceedings of the 2016 IEEE International Conference on Services Computing (SCC), pp. 813-818, IEEE, 2016, https://doi.org/10.1109/SCC.2016.113.
- N. Singhal, U. Sakthivel, and P. Raj, "Selection mechanism of micro-services orchestration vs. choreography". International Journal of Web & Semantic Technology (IJWesT), Vol. 10, No. 1, pp. 1-13, 2019, https://doi.org/10.5121/ijwest.2019.10101.
- Y. Abgaz, A. McCarren, P. Elger, D. Solan, N. Lapuz, M. Bivol, G. Jackson, M. Yilmaz, J. Buckley, and P. Clarke, "Decomposition of monolith applications into microservices architectures: A systematic review", IEEE Transactions on Software Engineering, Vol. 49, No. 8, pp. 4213-4242, 2023, https://doi.org/10.1109/TSE.2023.3287297.
- R. Chen, S. Li, and Z. Li, "From monolith to microservices: A dataflow-driven approach", In J. Lv, H. Zhang, X. Liu, and M. Hinchey (Eds.), Proceedings of the 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 466-475, IEEE, 2017, https://doi.org/10.1109/APSEC.2017.53.
- G. Mazlami, J. Cito, and P. Leitner, "Extraction of microservices from monolithic software architectures", in Proceedings of the 2017 IEEE International Conference on Web Services (ICWS), pp. 524-531, IEEE, 2017, https://doi.org/10.1109/ICWS.2017.61.
- K. Sellami, M. A. Saied, A. Ouni, and R. Abdalkareem, "Combining static and dynamic analysis to decompose monolithic application into microservices", in International Conference on Service-Oriented Computing, pp. 203-218, Cham: Springer Nature Switzerland, 2022, https://doi.org/10.1007/978-3-031-20984-0_14.
- M. Sewak and S. Singh, "Winning in the era of serverless computing and function as a service", in Proceedings of the 2018 3rd International Conference for Convergence in Technology (I2CT), pp. 1-5, IEEE, 2018, https://doi.org/10.1109/I2CT.2018.8529465.
- M. Shahrad, R. Fonseca, I. Goiri, G. Chaudhry, P. Batum, J. Cooke, E. Laureano, C. Tresness, M. Russinovich, and R. Bianchini, (2020), "Serverless in the wild: Characterizing and optimizing the serverless workload at a large cloud provider", in Proceedings of the 2020 USENIX annual technical conference (USENIX ATC 20), pp. 205-218, 2020.
- S. Millett and N.Tune, Patterns, principles, and practices of domain-driven design, John Wiley & Sons, 2015.
- A. Bierska, B. Buhnova, and H. Bangui, "An Integrated Checklist for Architecture Design of Critical Software Systems", Annals of Computer Science and Information Systems, Vol. 31, 17th Conference on Computer Science and Intelligence Systems (FedCSIS), pp. 133-140, 2022, IEEE, https://doi.org/10.15439/2022F287.
- C. C. Lin, J. R. Kang, and J. Y. Chen, "An integer programming approach and visual analysis for detecting hierarchical community structures in social networks", Information Sciences, 299, pp. 296-311, 2015, https://doi.org/10.1016/j.ins.2014.12.009.
- A. R. Costa, & C. G. Ralha, "AC2CD: An actor–critic architecture for community detection in dynamic social networks", Knowledge-Based Systems, 261, 110202, 2023, https://doi.org/10.1016/j.knosys.2022.110202.
- E. M. Mohamed, T. Agouti, A. Tikniouine, and M. El Adnani, "A comprehensive literature review on community detection: Approaches and applications", Procedia Computer Science, 151, pp. 295-302, 2019, https://doi.org/10.1016/j.procs.2019.04.042.
- N. M. Viljoen and J. W. Joubert, "Supply chain micro-communities in urban areas", Journal of Transport Geography, 74, 211-222, 2019, https://doi.org/10.1016/j.jtrangeo.2018.11.011.
- Z. Lu and Z. Dong, "A Gravitation-Based Hierarchical Community Detection Algorithm for Structuring Supply Chain Network", International Journal of Computational Intelligence Systems, Vol. 16, No. 1, 110, 2023, https://doi.org/10.1007/s44196-023-00290-x.
- A. Karataş, and S. Şahin, "Application areas of community detection: A review", in Proceedings of the 2018 International congress on big data, deep learning and fighting cyber terrorism (IBIGDELFT), pp. 65-70, IEEE, 2018, https://doi.org/10.1109/IBIGDELFT.2018.8625349.
- D. Li, Y. Han, and J. Hu, "Complex network thinking in software engineering", in Proceedings of the 2008 International Conference on Computer Science and Software Engineering, pp. 264-268, IEEE, 2008, https://doi.org/10.1109/CSSE.2008.689.
- L. Šubelj and M. Bajec, "Community structure of complex software systems: Analysis and applications", Physica A: Statistical Mechanics and its Applications, Vol. 390, No. 16, pp. 2968-2975, 2011, https://doi.org/10.1016/j.physa.2011.03.036.
- W. F. Pan, B. Jiang, and B. Li, "Refactoring software packages via community detection in complex software networks", International Journal of Automation and Computing, Vol.10, No. 2, pp. 157-166, 2013, https://doi.org/10.1007/s11633-013-0708-y.
- G. Huang, P. Zhang, B. Zhang, T. Yin, and J. Ren, "The optimal community detection of software based on complex networks", International Journal of Modern Physics C, Vol. 27, No. 08, 1650085, 2016, https://doi.org/10.1142/S0129183116500856.
- T. Hou, X. Yao, and D. Gong, "Community detection in software ecosystem by comprehensively evaluating developer cooperation intensity", Information and Software Technology, 130, 106451, 2021, https://doi.org/10.1016/j.infsof.2020.106451.
- S. Fortunato, "Community detection in graphs", Physics reports, Vol. 486, No. 3-5, pp. 75-174, 2010, https://doi.org/10.1016/j.physrep.2009.11.002.
- V. L. Dao, C. Bothorel, and P. Lenca, "Community structure: A comparative evaluation of community detection methods", Network Science, Vol. 8, No. 1, pp. 1-41, 2020, https://doi.org/10.1017/nws.2019.59.
- M. E. Newman and M. Girvan, "Finding and evaluating community structure in networks", Physical review E, Vol. 69, No. 2, 026113, 2004, https://doi.org/10.1103/PhysRevE.69.026113.
- L. Bennett, S. Liu, L.G. Papageorgiou, and S. Tsoka, "A mathematical programming approach to community structure detection in complex networks", Computer Aided Chemical Engineering, Vol. 30, pp. 1387-1391, 2012, https://doi.org/10.1016/B978-0-444-59520-1.50136-6.
- B. Serrano and T. Vidal, "Community detection in the stochastic block model by mixed integer programming", Pattern Recognition, Vol. 152, 110487, 2024, https://doi.org/10.1016/j.patcog.2024.110487.
- A. Ferdowsi and M. D. Chenary, "Toward an Optimal Solution to the Network Partitioning Problem", Annals of Computer Science and Information Systems, Vol. 35, 18th Conference on Computer Science and Intelligence Systems (FedCSIS), pp. 111-117, 2023, IEEE, https://doi.org/10.15439/2023F2832.
- E. Alinezhad, B. Teimourpour, M.M. Sepehri, and M. Kargari, "Community detection in attributed networks considering both structural and attribute similarities: two mathematical programming approaches", Neural Computing and Applications, Vol. 32, pp. 3203-3220, 2020, https://doi.org/10.1007/s00521-019-04064-5.
- ISO/IEC/IEEE 24765:2017 Systems and software engineering — Vocabulary, International Organization for Standardization, Available online: https://www.iso.org (Access Date: May 27, 2024).
- R. Khadka, B. V. Batlajery, A. M. Saeidi, S. Jansen, and J. Hage, "How do professionals perceive legacy systems and software modernization?", in Proceedings of the ACM 36th International Conference on Software Engineering (ICSE 2014), ACM, pp. 36-47, 2014, http://dx.doi.org/10.1145/2568225.2568318.
- J. Kazanavičius and D. Mažeika, "Migrating legacy software to microservices architecture", in Proceedings of the IEEE 2019 Open Conference of Electrical, Electronic and Information Sciences (eStream), pp. 1-5, 2019, IEEE, https://doi.org/10.1109/eStream.2019.8732170.
- A. Ahmad and M. A. Babar, "A framework for architecture-driven migration of legacy systems to cloud-enabled software", in Proceedings of the WICSA 2014 Companion Volume, pp. 1-8, 2014, http://dx.doi.org/10.1145/2578128.2578232.
- A. Menychtas, C. Santzaridou, G. Kousiouris, T. Varvarigou, L. Orue-Echevarria, J. Alonso, J. Gorronogoitia, H. Bruneliere, O. Strauss, T. Senkova, B. Pellens, and P. Stuer, "ARTIST Methodology and Framework: A novel approach for the migration of legacy software on the Cloud", in Proceedings of the IEEE 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, pp. 424-431, 2013, IEEE, https://doi.org/10.1109/SYNASC.2013.62.