Abstract
Software systems become increasingly interconnected and complex, leading to a heterogeneous system landscape. This entails that architecture information and architecture documentation become more important. Currently, architecture documentation is a mostly manual task, which is costly, tedious and error prone. Even if initial documentation of a system’s architecture is available, it needs to be kept up-to-date as the system evolves, as otherwise its quality will decay to a point where it does not reflect the actual system and is not useful anymore. Therefore, automated support for maintaining and evolving architecture information and documentation of complex systems is highly beneficial to architects and other stakeholders. To achieve this, architecture information must be automatically recovered from heterogeneous data sources at different points in time and consolidated and integrated to provide an up-to-date representation of the system. Subsequently, the recovered architecture information must be automatically updated whenever data sources change over time. In this work, we present an early concept of a co-evolving digital architecture twin to model the system architecture via an architecture information model that combines and relates architecture information recovered from different sources at different points in time. We propose a framework for automated recovery, integration, and co-evolution of architecture information to create and maintain a digital architecture twin that is continuously and automatically updated as the system evolves. We present the general concepts and framework and discuss use cases to motivate benefits.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Behnamghader, P., Le, D.M., Garcia, J., Link, D., Shahbazian, A., Medvidovic, N.: A large-scale study of architectural evolution in open-source software systems. Empir. Softw. Eng. 22(3), 1146–1193 (2016). https://doi.org/10.1007/s10664-016-9466-0
van Deursen, A., Hofmeister, C., Koschke, R., Moonen, L., Riva, C.: Symphony: view-driven software architecture reconstruction. In: WICSA, pp. 122–134. IEEE Computer Society (2004)
Duszynski, S., Knodel, J., Lindvall, M.: SAVE: software architecture visualization and evaluation. In: CSMR, pp. 323–324. IEEE Computer Society (2009)
Eramo, R., Bordeleau, F., Combemale, B., van den Brand, M., Wimmer, M., Wortmann, A.: Conceptualizing digital twins. IEEE Softw. 39(2), 39–46 (2022)
Falessi, D., Babar, M.A., Cantone, G., Kruchten, P.: Applying empirical software engineering to software architecture: challenges and lessons learned. Empir. Softw. Eng. 15(3), 250–276 (2010)
Garcia, J., Popescu, D., Mattmann, C., Medvidovic, N., Cai, Y.: Enhancing architectural recovery using concerns. In: ASE. IEEE Computer Society (2011)
Guizzardi, G., Ferreira Pires, L., van Sinderen, M.: An ontology-based approach for evaluating the domain appropriateness and comprehensibility appropriateness of modeling languages. In: Briand, L., Williams, C. (eds.) MODELS 2005. LNCS, vol. 3713, pp. 691–705. Springer, Heidelberg (2005). https://doi.org/10.1007/11557432_51
Jarke, M., Vassiliou, Y.: A framework for choosing a database query language. ACM Comput. Surv. 17(3), 313–340 (1985)
Knoll, M.: Handbuch der software-architektur. Wirtschaftsinformatik 48(6), 454 (2006)
Kruchten, P.: The 4+1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995)
Laser, M.S., Medvidovic, N., Le, D.M., Garcia, J.: ARCADE: an extensible workbench for architecture recovery, change, and decay evaluation. In: ESEC/SIGSOFT FSE, pp. 1546–1550. ACM (2020)
Le, D.M., Behnamghader, P., Garcia, J., Link, D., Shahbazian, A., Medvidovic, N.: An empirical study of architectural change in open-source software systems. In: MSR, pp. 235–245. IEEE Computer Society (2015)
Link, D., Behnamghader, P., Moazeni, R., Boehm, B.W.: Recover and RELAX: concern-oriented software architecture recovery for systems development and maintenance. In: ICSSP, pp. 64–73. IEEE/ACM (2019)
Link, D., Behnamghader, P., Moazeni, R., Boehm, B.W.: The value of software architecture recovery for maintenance. In: ISEC, pp. 17:1–17:10. ACM (2019)
Lutellier, T., et al.: Comparing software architecture recovery techniques using accurate dependencies. In: ICSE (2), pp. 69–78. IEEE Computer Society (2015)
Mancoridis, S., Mitchell, B.S., Chen, Y., Gansner, E.R.: Bunch: a clustering tool for the recovery and maintenance of software system structures. In: ICSM, p. 50. IEEE Computer Society (1999)
Shahbazian, A., Lee, Y.K., Le, D.M., Brun, Y., Medvidovic, N.: Recovering architectural design decisions. In: ICSA, pp. 95–104. IEEE Computer Society (2018)
Tzerpos, V., Holt, R.C.: ACDC: an algorithm for comprehension-driven clustering. In: WCRE, pp. 258–267. IEEE Computer Society (2000)
Whiting, E., Andrews, S.: Drift and erosion in software architecture: summary and prevention strategies. In: ICISDM, pp. 132–138. ACM (2020)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Jordan, S., Linsbauer, L., Schaefer, I. (2022). AutoArx: Digital Twins of Living Architectures. In: Gerostathopoulos, I., Lewis, G., Batista, T., Bureš, T. (eds) Software Architecture. ECSA 2022. Lecture Notes in Computer Science, vol 13444. Springer, Cham. https://doi.org/10.1007/978-3-031-16697-6_15
Download citation
DOI: https://doi.org/10.1007/978-3-031-16697-6_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-16696-9
Online ISBN: 978-3-031-16697-6
eBook Packages: Computer ScienceComputer Science (R0)