Abstract
This paper presents an industrial case study examining challenges faced by software architects and developers during planning and assessing the correctness of event-driven communication behaviour. We present a novel approach for visualizing the communication paths of an event-driven microservice system. Service-local documentation is used to create a global view of the runtime behaviour. We show that this visualization approach can significantly reduce the time required to understand an architecture, while additionally improving accuracy and confidence.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Data Availability Statement
The anonymized protocols from our initial interviews and the raw data from the evaluation are available for download (https://zenodo.org/records/12519817). The service-local documentations of events which is used to evaluate our visualization and the source code of our visualization is proprietary information and not publicly available.
References
Cohen, J.: Statistical power analysis. Curr. Dir. Psychol. Sci. 1(3), 98–101 (1992)
Dąbrowski, R., Stencel, K., Timoszuk, G.: Software is a directed multigraph. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 360–369. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23798-0_38
Farsi, H., Allaki, D., En-Nouaary, A., Dahchour, M.: A graph-based solution to deal with cyclic dependencies in microservices architecture. In: 2022 9th International Conference on Future Internet of Things and Cloud (FiCloud), pp. 254–259 (2022). https://doi.org/10.1109/FiCloud57274.2022.00042
Gamage, I.U.P., Perera, I.: Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: a tool-based approach. In: 2021 Moratuwa Engineering Research Conference (MERCon), pp. 699–704 (2021). https://doi.org/10.1109/MERCon52712.2021.9525743
Garcia-Molina, H., Salem, K.: Sagas. ACM Sigmod. Record 16(3), 249–259 (1987)
Guth, J., Leymann, F.: Pattern-based rewrite and refinement of architectures using graph theory. SICS Softw.-Intensive Cyber-Phys. Syst. 35(1), 115–126 (2020). https://doi.org/10.1007/s00450-019-00416-7
Le Metayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24(7), 521–533 (1998). https://doi.org/10.1109/32.708567
Lehr, R.: Sixteen s-squared over d-squared: a relation for crude sample size estimates. Stat. Med. 11(8), 1099–1102 (1992). https://doi.org/10.1002/sim.4780110811
Raj, V., Ravichandra, S.: A service graph based extraction of microservices from monolith services of service-oriented architecture. Softw. Pract. Exp. 52(7), 1661–1678 (2022). https://doi.org/10.1002/spe.3081
Shahin, M., Liang, P., Li, Z.: Architectural design decision visualization for architecture design: preliminary results of a controlled experiment. In: Proceedings of the 5th European Conference on Software Architecture: Companion Volume. ECSA 2011. Association for Computing Machinery, New York (2011). https://doi.org/10.1145/2031759.2031762
Timperley, C.S., Dürschmid, T., Schmerl, B., Garlan, D., Le Goues, C.: Rosdiscover: statically detecting run-time architecture misconfigurations in robotics systems. In: 2022 IEEE 19th International Conference on Software Architecture (ICSA), pp. 112–123 (2022). https://doi.org/10.1109/ICSA53651.2022.00019
Welch, B.L.: The significance of the difference between two means when the population variances are unequal. Biometrika 29(3/4), 350–362 (1938). http://www.jstor.org/stable/2332010
Winchester, G., Parisis, G., Berthouze, L.: On the temporal behaviour of a large-scale microservice architecture. In: NOMS 2023-2023 IEEE/IFIP Network Operations and Management Symposium, pp. 1–6 (2023). https://doi.org/10.1109/NOMS56928.2023.10154427
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Ethics declarations
Disclosure of Interests
Authors A and B are employed by the company that develops and maintains the system and team studied.
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Schoop, S., Hebisch, E., Franz, T. (2024). Improving Comprehensibility of Event-Driven Microservice Architectures by Graph-Based Visualizations. In: Galster, M., Scandurra, P., Mikkonen, T., Oliveira Antonino, P., Nakagawa, E.Y., Navarro, E. (eds) Software Architecture. ECSA 2024. Lecture Notes in Computer Science, vol 14889. Springer, Cham. https://doi.org/10.1007/978-3-031-70797-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-70797-1_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-70796-4
Online ISBN: 978-3-031-70797-1
eBook Packages: Computer ScienceComputer Science (R0)