Sign up & Download
Sign in

Supporting Evolution in Model-Based Product Line Engineering

by Deepak Dhungana, Thomas Neumayer, Paul Grunbacher, Rick Rabiser
2008 12th International Software Product Line Conference (2008)

Abstract

Software maintenance and evolution are among the most challenging and cost-intensive activities in software engineering. This is not different for software product lines due to their complexity and long life-span. New customer requirements, technology changes and internal enhancements lead to the continuous evolution of a product line's reusable assets. Due to the size of product lines, single stakeholders or teams can only maintain a small part of a system which poses additional challenges for evolution. This paper presents an approach supporting product line evolution by organizing variability models of large-scale product lines as a set of interrelated model fragments defining the variability of particular parts of the system. The approach allows semi-automatic merging of fragments into complete variability models. We also provide tool support to automatically detect changes that would make models and the architecture inconsistent. Furthermore, our approach supports the co-evolution of variability models and their respective meta-models. We illustrate the approach with examples from an ongoing industry collaboration.

Cite this document (BETA)

Available from ieeexplore.ieee.org
Page 1
hidden

Supporting Evolution in Model-Based Product Line Engineering

Supporting Evolution in Model-based Product Line Engineering
Deepak Dhungana Thomas Neumayer Paul Gru¨nbacher Rick Rabiser
Christian Doppler Laboratory for Automated Software Engineering
Johannes Kepler University Linz, Austria
dhungana@ase.jku.at
Abstract
Software maintenance and evolution are among the
most challenging and cost-intensive activities in soft-
ware engineering. This is not different for software
product lines due to their complexity and long life-span.
New customer requirements, technology changes and
internal enhancements lead to the continuous evolution
of a product line’s reusable assets. Due to the size of
product lines, single stakeholders or teams can only
maintain a small part of a system which poses addi-
tional challenges for evolution. This paper presents an
approach supporting product line evolution by organiz-
ing variability models of large-scale product lines as a
set of interrelated model fragments defining the vari-
ability of particular parts of the system. The approach
allows semi-automatic merging of fragments into com-
plete variability models. We also provide tool support
to automatically detect changes that would make mod-
els and the architecture inconsistent. Furthermore, our
approach supports the co-evolution of variability mod-
els and their respective meta-models. We illustrate the
approach with examples from an ongoing industry col-
laboration.
1. Introduction
There are estimates that more than 60% of software
costs are devoted to evolution and maintenance [9].
Product line engineering (PLE) is fundamentally chal-
lenged by evolution because the world cannot simply
be stopped for modelling purposes. The system has to
be continuously changed to meet evolving needs. Prod-
uct line approaches need to consider maintenance and
evolution as critical strategic elements due to the size,
complexity, and longevity of systems. Evolving and
maintaining a software product line requires dealing
with different types of changes caused by changing cus-
tomer needs, evolving technology, or market develop-
ments. Despite its importance surprisingly few papers
are available on product line evolution (e.g., [1, 14, 24]).
Different activities in domain and application engineer-
ing are usually based on the assumption that a product
line is fairly stable. However, such stability cannot be
taken for granted. PLE should thus treat evolution as
the normal case and not as the exception [5].
Model-based product line approaches use models
to define the knowledge required for maintaining and
evolving a product line, i.e., core assets, their common-
alities and variability [6]. For instance, a reference ar-
chitecture model describes the variability of architec-
tural elements like components, connectors, interfaces,
or ports. More general purpose variability modeling
approaches [8, 21] allow defining the variability of ar-
bitrary domain-specific assets. Domain-specific meta-
models define the elements of variability models such as
types of reusable assets, attributes of assets, and depen-
dencies [4]. Evolution support becomes success-critical
in a model-based development approach to ensure con-
sistency after changes to meta-models, models, and ac-
tual development artifacts.
An analysis of development practices of our indus-
try partner Siemens VAI revealed three important issues
related to evolution in model-based PLE: (i) Multiple
teams are involved in creating and maintaining a prod-
uct line. The knowledge about the system’s variability
is typically distributed across multiple stakeholders and
teams [5]. (ii) Different parts of the system evolve at
different speeds further contributing to the complexity
of evolution [7]. (iii) The domain meta-models evolve
in parallel to the variability models, which makes it hard
to keep them consistent with each other.
We have presented some basic ideas of our ap-
proach in a short paper [5]. Here, we elaborate further
on the underlying issues and present our experiences
of applying the tool-supported approach in a real-word
product line of Siemens VAI, the world’s leading steel
12th International Software Product Line Conference
978-0-7695-3303-2/08 $25.00 © 2008 IEEE
DOI 10.1109/SPLC.2008.26
319

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

14 Readers on Mendeley
by Discipline
 
 
by Academic Status
 
43% Ph.D. Student
 
21% Student (Master)
 
14% Lecturer
by Country
 
21% France
 
14% Malaysia
 
7% Netherlands