Iwsm2014 quantifying long-term evolution of industrial meta-models - a case study (darko durisic - miroslaw staron - tichy - hansson)
1. Quantifying Long-Term Evolution of
Industrial Meta-Models - A Case Study
Darko Durisic
Department of Electrical
Systems Design
Volvo Car Corporation
Gothenburg, Sweden
darko.durisic@volvocars.com
Miroslaw Staron and
Matthias Tichy
Software Engineering Division
Chalmers | University of Gothenburg
Gothenburg, Sweden
firstname.lastname@cse.gu.se
Jörgen Hansson
Software Engineering Division
Chalmers | University of
Gothenburg
Gothenburg, Sweden
jorgen.hansson@chalmers.se
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 1
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 10/7/2014 2
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 10/7/2014 3
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 10/7/2014 4
5. AUTOSAR Methodology
• 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.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 5
6. AUTOSAR Meta-Model Layers
• 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.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 6
7. AUTOSAR Meta-Model Usage Example
• AR M2 is divided into
different ’templates’ (e.g.
Software Components).
• AR M1 instantiates AR M2.
AR M2 AR M1
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 7
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 10/7/2014 8
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 10/7/2014 9
10. Meta-Data Model
• 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.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 10
11. Chosen Set of Metrics
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 11
12. Size Property
• 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
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 12
13. Length Property
• 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
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 13
14. Complexity Property
• SI(c) – a set of Associations whose target refers to Class c.
• SO(c) - a set of Associations whose source refers to Class c.
FanIn FanOut
FanInOut
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 14
15. Coupling Property
• 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
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 15
16. Cohesion Property
• 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
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 16
17. Assessment of the Metrics
• 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.
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 17
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 10/7/2014 18
19. High Correlation Between the Metrics
PCA1 results Metrics correlation (Spearman)
Issuer: Darko Durisic; Volvo Cars; Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study; Security Class: Public 10/7/2014 19
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 10/7/2014 20
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 10/7/2014 21
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 10/7/2014 22
23. Questions And Answers
The 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 10/7/2014 23