{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,20]],"date-time":"2026-02-20T03:54:37Z","timestamp":1771559677593,"version":"3.50.1"},"reference-count":36,"publisher":"Springer Science and Business Media LLC","issue":"11","license":[{"start":{"date-parts":[[2021,8,28]],"date-time":"2021-08-28T00:00:00Z","timestamp":1630108800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2021,8,28]],"date-time":"2021-08-28T00:00:00Z","timestamp":1630108800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100003065","name":"University of Vienna","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100003065","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Computing"],"published-print":{"date-parts":[[2021,11]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>One of the chief problems in software architecture is avoiding architecture model drift and erosion in all kinds of complex software systems. Microservice-based systems introduce new challenges in this context, as they often use a large variety of technologies in their latest iteration, and are changed and released very frequently. Existing solutions that can be used to reconstruct architecture models fall short in addressing these new challenges, as they cannot easily cope with continuous evolution, their accuracy is too low, and highly polyglot settings are not supported well. In this work, we report on a research study aiming to design a highly accurate architecture model abstraction approach for comprehending component architecture models of highly polyglot systems that can cope with continuous evolution. After analyzing the results of related studies, we found two possible architecture model abstraction approaches that meet the requirements of our study: an opportunistic, and a reusable semi-automatic detector-based approach. We have conducted an empirical case study for validation and comparison of the two approaches. We conclude that both detector approaches are feasible. In our case study, the reusable approach breaks even in terms of time and effort needed for establishing reuse, if modest reuse of detectors is possible, and is producing slightly more high quality and evolution-stable solutions than the opportunistic approach.<\/jats:p>","DOI":"10.1007\/s00607-021-01002-z","type":"journal-article","created":{"date-parts":[[2021,8,28]],"date-time":"2021-08-28T04:02:46Z","timestamp":1630123366000},"page":"2521-2551","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":15,"title":["Detector-based component model abstraction for microservice-based systems"],"prefix":"10.1007","volume":"103","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7997-905X","authenticated-orcid":false,"given":"Evangelos","family":"Ntentos","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Uwe","family":"Zdun","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Konstantinos","family":"Plakidas","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Patric","family":"Genfer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sebastian","family":"Geiger","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sebastian","family":"Meixner","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Wilhelm","family":"Hasselbring","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,8,28]]},"reference":[{"key":"1002_CR1","volume-title":"Building microservices: designing fine-grained systems","author":"S Newman","year":"2015","unstructured":"Newman S (2015) Building microservices: designing fine-grained systems. O\u2019Reilly, Sebastopol"},{"key":"1002_CR2","unstructured":"Lewis J, Fowler M (2004) Microservices: a definition of this new architectural term. http:\/\/martinfowler.com\/articles\/microservices.html"},{"issue":"3","key":"1002_CR3","doi-asserted-by":"publisher","first-page":"301","DOI":"10.1007\/s00450-016-0337-0","volume":"32","author":"O Zimmermann","year":"2017","unstructured":"Zimmermann O (2017) Microservices tenets. Computer Science - Research and Development 32(3):301\u2013310","journal-title":"Comput Sci - Res Dev"},{"issue":"1","key":"1002_CR4","doi-asserted-by":"publisher","first-page":"91","DOI":"10.1109\/MS.2017.24","volume":"34","author":"C Pautasso","year":"2017","unstructured":"Pautasso C, Zimmermann O, Amundsen M, Lewis J, Josuttis N (2017) Microservices in practice, part 1: Reality check and service design. IEEE Software 34(1):91\u201398","journal-title":"IEEE Software"},{"key":"1002_CR5","doi-asserted-by":"publisher","unstructured":"Hasselbring W, Steinacker G (2017) Microservice architectures for scalability, agility and reliability in e-commerce. In: Proceedings 2017 IEEE international conference on software architecture workshops (ICSAW), IEEE, Gothenburg, Sweden, pp. 243\u2013246, https:\/\/doi.org\/10.1109\/ICSAW.2017.11","DOI":"10.1109\/ICSAW.2017.11"},{"key":"1002_CR6","doi-asserted-by":"crossref","unstructured":"Pahl C, Jamshidi P (2016) Microservices: a systematic mapping study. In: 6th International conference on cloud computing and services science, pp. 137\u2013146","DOI":"10.5220\/0005785501370146"},{"key":"1002_CR7","doi-asserted-by":"crossref","unstructured":"Pautasso C, Wilde E (2009) Why is the web loosely coupled?: a multi-faceted metric for service design. In: 18th International conference on world wide web, ACM, pp. 911\u2013920","DOI":"10.1145\/1526709.1526832"},{"key":"1002_CR8","unstructured":"Richardson C (2017) A pattern language for microservices http:\/\/microservices.io\/patterns\/index.html"},{"key":"1002_CR9","doi-asserted-by":"crossref","unstructured":"Zimmermann O, Gschwind T, K\u00fcster J, Leymann F, Schuster N (2007) Reusable architectural decision models for enterprise application development. In: International conference on the quality of software architectures, Springer, pp. 15\u201332","DOI":"10.1007\/978-3-540-77619-2_2"},{"issue":"4","key":"1002_CR10","doi-asserted-by":"publisher","first-page":"40","DOI":"10.1145\/141874.141884","volume":"17","author":"DE Perry","year":"1992","unstructured":"Perry DE, Wolf AL (1992) Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4):40\u201352","journal-title":"ACM SIGSOFT Softw Eng Notes"},{"key":"1002_CR11","doi-asserted-by":"publisher","unstructured":"Zimmermann O, Zdun U, Gschwind T, Leymann F (2008) Combining pattern languages and reusable architectural decision models into a comprehensive and comprehensible design method. In: Software architecture, 2008. WICSA 2008. Seventh working IEEE\/IFIP conference on, pp. 157\u2013166, https:\/\/doi.org\/10.1109\/WICSA.2008.19","DOI":"10.1109\/WICSA.2008.19"},{"issue":"4","key":"1002_CR12","doi-asserted-by":"publisher","first-page":"573","DOI":"10.1109\/TSE.2009.19","volume":"35","author":"S Ducasse","year":"2009","unstructured":"Ducasse S, Pollet D (2009) Software architecture reconstruction: A process-oriented taxonomy. IEEE Transactions on Software Engineering 35(4):573\u2013591","journal-title":"IEEE Trans Softw Eng"},{"key":"1002_CR13","doi-asserted-by":"crossref","unstructured":"Murphy GC, Notkin D, Sullivan K (1995). Software reflexion models: bridging the gap between source and high-level models, In: Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering, ACM, New York, NY, USA, SIGSOFT \u201995, pp. 18\u201328","DOI":"10.1145\/222124.222136"},{"key":"1002_CR14","doi-asserted-by":"crossref","unstructured":"Mens K, Mens T, Wermelinger M (2002). Maintaining software through intentional source-code views, In: Proceedings of the 14th international conference on software engineering and knowledge engineering, ACM, New York, NY, USA, SEKE \u201902, pp. 289\u2013296","DOI":"10.1145\/568760.568812"},{"key":"1002_CR15","doi-asserted-by":"publisher","first-page":"135","DOI":"10.1016\/j.scico.2013.10.004","volume":"90","author":"T Haitzer","year":"2014","unstructured":"Haitzer T, Zdun U (2014) Semi-automated architectural abstraction specifications for supporting software evolution. Science of Computer Programming 90:135\u2013160","journal-title":"Sci Comput Program"},{"key":"1002_CR16","doi-asserted-by":"crossref","unstructured":"Garcia J, Ivkovic I, Medvidovic N (2013). A comparative analysis of software architecture recovery techniques, In: Proceedings of the 28th IEEE\/ACM international conference on automated software engineering, IEEE Press, Piscataway, NJ, USA, ASE\u201913, pp. 486\u2013496","DOI":"10.1109\/ASE.2013.6693106"},{"key":"1002_CR17","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-43839-8","volume-title":"Design science methodology for information systems and software engineering","author":"RJ Wieringa","year":"2014","unstructured":"Wieringa RJ (2014) Design science methodology for information systems and software engineering. Springer"},{"key":"1002_CR18","doi-asserted-by":"crossref","unstructured":"Alshuqayran N, Ali N, Evans R (2016) A systematic mapping study in microservice architecture. In: IEEE 9th International conference on service-oriented computing and applications (SOCA), IEEE, pp 44\u201351","DOI":"10.1109\/SOCA.2016.15"},{"key":"1002_CR19","doi-asserted-by":"publisher","unstructured":"Francesco PD, Malavolta I, Lago P (2017) Research on architecting microservices: trends, focus, and potential for industrial adoption. In: 2017 IEEE International conference on software architecture (ICSA), pp. 21\u201330. https:\/\/doi.org\/10.1109\/ICSA.2017.24","DOI":"10.1109\/ICSA.2017.24"},{"key":"1002_CR20","doi-asserted-by":"crossref","unstructured":"Granchelli G, Cardarelli M, Francesco PD, Malavolta I, Iovino L, Salle AD (2017) Towards recovering the software architecture of microservice-based systems. In: 2017 IEEE International conference on software architecture workshops (ICSAW), pp. 46\u201353","DOI":"10.1109\/ICSAW.2017.48"},{"key":"1002_CR21","doi-asserted-by":"publisher","unstructured":"Alshuqayran N, Ali N, Evans R (2018) Towards micro service architecture recovery: an empirical study. In: 2018 IEEE International conference on software architecture (ICSA), pp 47\u20134709. https:\/\/doi.org\/10.1109\/ICSA.2018.00014","DOI":"10.1109\/ICSA.2018.00014"},{"key":"1002_CR22","doi-asserted-by":"publisher","unstructured":"Vianden M, Lichter H, Steffens A (2014) Experience on a microservice-based reference architecture for measurement systems. In: 2014 21st Asia-Pacific software engineering conference, vol\u00a01, pp. 183\u2013190, https:\/\/doi.org\/10.1109\/APSEC.2014.37","DOI":"10.1109\/APSEC.2014.37"},{"key":"1002_CR23","doi-asserted-by":"publisher","unstructured":"Rademacher F, Sachweh S, Z\u00fcndorf A (2019) Aspect-oriented modeling of technology heterogeneity in microservice architecture. In: 2019 IEEE International conference on software architecture (ICSA), pp. 21\u201330. https:\/\/doi.org\/10.1109\/ICSA.2019.00011","DOI":"10.1109\/ICSA.2019.00011"},{"key":"1002_CR24","doi-asserted-by":"crossref","unstructured":"von Detten M, Becker S (2011) Combining clustering and pattern detection for the reengineering of component-based software systems. In: Proceedings of the joint ACM SIGSOFT conference \u2013 QoSA and ACM SIGSOFT symposium \u2013 ISARCS on Quality of software architectures \u2013 QoSA and architecting critical systems \u2013 ISARCS, ACM, New York, NY, USA, QoSA-ISARCS \u201911, pp. 23\u201332","DOI":"10.1145\/2000259.2000265"},{"key":"1002_CR25","doi-asserted-by":"crossref","unstructured":"Corazza A, Di Martino S, Scanniello G (2010). A probabilistic based approach towards software system clustering, In: Proceedings of the 2010 14th European conference on software maintenance and reengineering, IEEE Computer Society, Washington, DC, USA, CSMR \u201910, pp 88\u201396","DOI":"10.1109\/CSMR.2010.36"},{"key":"1002_CR26","doi-asserted-by":"crossref","unstructured":"Sartipi K (2003). Software architecture recovery based on pattern matching, In: Proceedings of the international conference on software maintenance, IEEE Computer Society, Washington, DC, USA, ICSM \u201903, pp 293-","DOI":"10.1109\/ICSM.2003.1235434"},{"issue":"4","key":"1002_CR27","doi-asserted-by":"publisher","first-page":"333","DOI":"10.1002\/spe.699","volume":"36","author":"C Stoermer","year":"2006","unstructured":"Stoermer C, Rowe A, O\u2019Brien L, Verhoef C (2006) Model-centric software architecture reconstruction. Softw Pract Exp 36(4):333\u2013363. https:\/\/doi.org\/10.1002\/spe.699","journal-title":"Softw Pract Exp"},{"issue":"4","key":"1002_CR28","doi-asserted-by":"publisher","first-page":"364","DOI":"10.1109\/32.917525","volume":"27","author":"G Murphy","year":"2001","unstructured":"Murphy G, Notkin D, Sullivan K (2001) Software reflexion models: bridging the gap between design and implementation. IEEE Trans Softw Eng 27(4):364\u2013380. https:\/\/doi.org\/10.1109\/32.917525","journal-title":"IEEE Trans Softw Eng"},{"key":"1002_CR29","doi-asserted-by":"crossref","unstructured":"Knodel J, Muthig D, Naab M, Lindvall M (2006) Static evaluation of software architectures. In: Software maintenance and reengineering, European conference on pp. 279\u2013294","DOI":"10.1109\/CSMR.2006.53"},{"issue":"2","key":"1002_CR30","doi-asserted-by":"publisher","first-page":"17:1","DOI":"10.1145\/2529998","volume":"23","author":"D Ganesan","year":"2014","unstructured":"Ganesan D, Lindvall M (2014) Adam: External dependency-driven architecture discovery and analysis of quality attributes. ACM Trans Softw Eng Methodol 23(2):17:1-17:51. https:\/\/doi.org\/10.1145\/2529998","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"1002_CR31","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1016\/j.infsof.2016.07.004","volume":"87","author":"F Fittkau","year":"2017","unstructured":"Fittkau F, Krause A, Hasselbring W (2017) Software Landscape and Application Visualization for System Comprehension with ExplorViz. Information and Software Technology 87:259\u2013277. https:\/\/doi.org\/10.1016\/j.infsof.2016.07.004","journal-title":"Inf Softw Technol"},{"key":"1002_CR32","doi-asserted-by":"publisher","first-page":"119","DOI":"10.1016\/j.jss.2016.10.012","volume":"123","author":"T Haitzer","year":"2017","unstructured":"Haitzer T, Navarro E, Zdun U (2017) Reconciling software architecture and source code in support of software evolution. Journal of Systems and Software 123:119\u2013144","journal-title":"J Syst Softw"},{"issue":"1","key":"1002_CR33","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/BF02249046","volume":"1","author":"B Boehm","year":"1995","unstructured":"Boehm B, Clark B, Horowitz E, Westland C, Madachy R, Selby R (1995) COCOMO 2.0. Ann Softw Eng 1(1):1\u201324","journal-title":"Ann Softw Eng"},{"key":"1002_CR34","volume-title":"Code complete: a practical handbook of software construction","author":"S McConnell","year":"2004","unstructured":"McConnell S (2004) Code Complete: A Practical Handbook of Software Construction, 2nd edn. Microsoft Press, Redmond","edition":"2"},{"key":"1002_CR35","volume-title":"Microservices: flexible software architecture","author":"E Wolff","year":"2016","unstructured":"Wolff E (2016) Microservices: flexible software architecture. Addison-Wesley Professional"},{"key":"1002_CR36","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-29044-2","volume-title":"Experimentation in software engineering","author":"C Wohlin","year":"2012","unstructured":"Wohlin C, Runeson P, Hoest M, Ohlsson MC, Regnell B, Wesslen A (2012) Experimentation in Software Engineering. Springer"}],"container-title":["Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00607-021-01002-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00607-021-01002-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00607-021-01002-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,7]],"date-time":"2024-09-07T09:59:53Z","timestamp":1725703193000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00607-021-01002-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,8,28]]},"references-count":36,"journal-issue":{"issue":"11","published-print":{"date-parts":[[2021,11]]}},"alternative-id":["1002"],"URL":"https:\/\/doi.org\/10.1007\/s00607-021-01002-z","relation":{},"ISSN":["0010-485X","1436-5057"],"issn-type":[{"value":"0010-485X","type":"print"},{"value":"1436-5057","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,8,28]]},"assertion":[{"value":"11 November 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"7 August 2021","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"28 August 2021","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}