04/13/2023 1
Quantifying Long-Term Evolution of
Industrial Meta-Models - A Case Study
Darko DurisicDepartment of Electrical
Systems DesignVolvo Car CorporationGothenburg, Sweden
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
Miroslaw Staron andMatthias Tichy
Software Engineering DivisionChalmers | University of Gothenburg
Gothenburg, [email protected]
Jörgen HanssonSoftware Engineering Division
Chalmers | University of Gothenburg
Gothenburg, [email protected]
04/13/2023 2
Agenda• Automotive software systems and AUTOSAR
• Problem statement and research goals
• Definition of the metrics
• Assessment of the metrics and validation
• Summary and recommendations
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 3
Complexity of Automotive Software Systems
• Distributed systems with ~100 ECUs (Electronic Control Units)
• Distributed development involving different layers of suppliers.
• Constant complexity increase due to new functionality.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 4
The Goals of the AUTOSAR Standard• To facilitate the distributed
development, AUTOSAR standard was introduced.
• Main goal: separate the responsibilities between different stakeholders
• Standardized interfaces between architectural units to standardize exchange formats for their models.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 5
AUTOSAR Methodology
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• AUTOSAR system models are expressed using XML.
• XML schema used for validation is generated from the AUTOSAR meta-model.
• Model – abstract representation of a software system.
• Meta-model – defines syntax and semantics of a domain specific modeling environment.
04/13/2023 6
AUTOSAR Meta-Model Layers
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• AR M3 defines the used UML stereotypes and annotations.
• AR M2 defines how to design the automotive electrical system.
• AR M1 represents the actual models developed by the system designers.
• AR M0 represents the realization of the AUTOSAR models in the actual ECU.
04/13/2023 7
AUTOSAR Meta-Model Usage Example
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• AR M2 is divided into different ’templates’ (e.g. Software Components).
• AR M1 instantiates AR M2.
AR M2 AR M1
04/13/2023 8
Monitoring the evolution is important• Compliance of the models to their meta-models is required to
assure tool interoperability.
• Therefore, the evolution of the meta-models is very important to provide means to express new modeling solutions.
• In large long-lasting projects, multiple versions of one meta-model may need to co-exist in one project.
• Therefore monitoring the evolution of meta-models is important to understand the potential impact of adopting new versions.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 9
Case Study Analysis• Goal: Assess the applicability of a number of metrics for
quantifying a set of meta-model properties.
• Purpose: Identify the most applicable metrics for monitoring the AUTOSAR meta-model evolution.
• Field: Size, length, complexity, coupling and cohesion properties of the meta-model.
• View: Software designers working with models instantiating multiple AUTOSAR meta-model versions.
• Context: Automotive software systems based on the AUTOSAR standard deployed to Volvo cars.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 10
Meta-Data Model
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• We developed a tool to extract the relevant data from the meta-model and calculate the metrics.
• The data is extracted from the Enterprise Architect tool.
Chosen Set of Metrics
04/13/2023Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 11
04/13/2023 12
Size Property
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• P(p) – a set of Packages aggregated by Package p
• C(p) – a set of Classes aggregated by Package p
• A(c) – a set of Attributes aggregated by Class c
Number of Attributes
Number of Classes
04/13/2023 13
Length Property
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• C(c) – a set of (’parent’) Classes connected to Class c via Generalization Connectors, i.e. target of the Generalization refers to a Class in this set and the source refers to c.
Depth of Inheritance
04/13/2023 14
Complexity Property
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• SI(c) – a set of Associations whose target refers to Class c.• SO(c) - a set of Associations whose source refers to Class c.
FanOutFanIn
FanInOut
04/13/2023 15
Coupling Property
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• SIP(cx) – a set of Associations whose target refers to Class cx aggregated by Package px and source to Class cy aggregated by Package py.
• SOP(cx) - a set of Associations whose source refers to Class cx aggregated by Package px and target refers to Class cy aggregated by Package py.
• CP(c) - a set of Classes where there exists an Association whose source / target refers to this Class and target / source refers to c respectively.
Package coupling Coupling between Classes
04/13/2023 16
Cohesion Property
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• SIH(cx) - a set of Associations whose target refers to Class cx and source refers to Class cy which are both aggregated by the same Package.
• SOH(cx) - a set of Associations whose source refers to Class cx and target refers to Class cy which are both aggregated by the same Package.
• CH(c) – a set of Classes coupled to Class c such that they are aggregated by the same Package which aggregates c.
Package cohesion Cohesion ratio
04/13/2023 17
Assessment of the Metrics
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
• We considered 22 releases of the AUTOSAR meta model.
• AUTOSAR meta-model releases are analyzed for 3 views:
• The entire M2 meta-model
• Software Component Template package (31% + 11% shared)
• System Template package (30% + 11% shared)
• Goals:
• Eliminate metrics with redundant results.
• Find the metrics which are able to quantify the evolution of the AUTOSAR meta-model most accurately.
04/13/2023 18
Only One Meaningful Principal Component
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 19
High Correlation Between the Metrics
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
PCA1 results Metrics correlation (Spearman)
04/13/2023 20
Summary of the results• Similar results the Software Component template and the System
template.
• Conclusions:
• Even evolution with respect to all 5 properties (size, length, complexity, coupling and cohesion).
• Correlation between all metrics except the NoA is very high.
• For quantifying the evolution of the AUTOSAR meta-model, one metric is enough (Package cohesion or Fan-in).
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 21
Validation of the results
• Analysis of the release notes vs. the results of the FI and the PCP metrics.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 22
Recommendations
1. Measure the complexity growth using the FI metric.
2. Measure the increase in the Package cohesion of the relevant packages to estimate the workload internally in one team.
3. Measure the increase in the Package coupling of the relevant packages to identify possible integration issues between teams.
4. Measure the size increase of the relevant packages using the NoC metric to assure that the metrics are in proportion.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public
04/13/2023 23
Questions And AnswersThe authors would like to thank Swedish Governmental Agency for Innovation Systems (VINNOVA) for funding the work presented in this paper and the AUTOSAR team at Volvo Car Corporation for contributing to the research.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public