Evolution of Long-Term Industrial Meta-Models -- An Automotive Case Study of AUTOSAR

Meta-models in software engineering are used to define properties of models. Therefore the evolution of the meta-models influences the evolution of the models and the software instantiated from them. The evolution of the meta-models is particularly problematic if the software has to instantiate two versions of the same meta-model - a situation common for long-term software development projects such as car development projects. In this paper, we present a case study of the evolution of the standardized meta-model used in the development of the automotive software systems - the AUTOSAR meta-model - at Volvo Car Corporation. The objective of this study is to assist automotive software designers in planning long term development projects based on multiple AUTOSAR meta-model versions. We achieve this by performing quantitative analysis of the AUTOSAR meta-model evolution in order to visualize the size and the complexity change between different meta-model versions and calculate the number of changes which need to be implemented to adopt a newer version. The analysis is done for each major role in the automotive development process affected by the changes.

[1]  Sander Vermolen,et al.  Reconstructing Complex Metamodel Evolution , 2011, SLE.

[2]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[3]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[4]  Michel R. V. Chaudron,et al.  MetricViewEvolution: UML-based Views for Monitoring Model Evolution and Quality , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[5]  Colin Atkinson,et al.  Rearchitecting the UML infrastructure , 2002, TOMC.

[6]  Steffen Becker,et al.  A Process Model and Classification Scheme for Semi-Automatic Meta-Model Evolution , 2007 .

[7]  K. Madhavi,et al.  A Framework for Visualizing Model-Driven Software Evolution , 2009, 2009 IEEE International Advance Computing Conference.

[8]  Jonathan I. Maletic,et al.  Journal of Software Maintenance and Evolution: Research and Practice Survey a Survey and Taxonomy of Approaches for Mining Software Repositories in the Context of Software Evolution , 2022 .

[9]  Ludovico Iovino,et al.  What is needed for managing co-evolution in MDE? , 2011, IWMCP '11.

[10]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[11]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[12]  Stéphane Ducasse,et al.  Understanding software evolution using a combination of software visualization and software metrics , 2002, Obj. Logiciel Base données Réseaux.

[13]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[14]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[15]  Tong Yi,et al.  A comparison of metrics for UML class diagrams , 2004, SOEN.

[16]  Herbert Hanselmann,et al.  Challenges in automotive software engineering , 2008, ICSE Companion '08.

[17]  Gail C. Murphy,et al.  Predicting source code changes by mining change history , 2004, IEEE Transactions on Software Engineering.

[18]  Miroslaw Staron,et al.  Measuring the impact of changes to the complexity and coupling properties of automotive software systems , 2013, J. Syst. Softw..

[19]  Manoel G. Mendonça,et al.  Software evolution visualization: A systematic mapping study , 2013, Inf. Softw. Technol..

[20]  Manfred Broy,et al.  Engineering Automotive Software , 2007, Proceedings of the IEEE.

[21]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[22]  Mario Piattini,et al.  Early Measures for UML Class Diagrams , 2000, Obj. Logiciel Base données Réseaux.

[23]  Gabor Karsai,et al.  Metamodeling-rapid design and evolution of domain-specific modeling environments , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.