An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering...
Transcript of An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering...
An Approach to Software Product Line Engineering
Ștefan Stănciulescu
IT University of Copenhagen
Software and Systems Section
5th May 2014
FOSD’14 Dagstuhl
1 IT UNIVERSITY OF COPENHAGEN
Joint work with Krzysztof Czarnecki, Michael Antkiewicz, Thorsten Berger, Wenbin Ji
(University of Waterloo) Ina Schaefer, Sandro Schulze (TU Braunschweig)
Ralf Laemmel, Thomas Schmorleiz (TU Koblenz-Landau)
2 IT UNIVERSITY OF COPENHAGEN
Software evolution DEVELOPMENT BRANCH MASTER BRANCH
FEATURE BRANCH
FEATURE1 BRANCH FEATURE2 BRANCH
1.0 1.1
Project Mercury
3 IT UNIVERSITY OF COPENHAGEN
Software evolution
1.0
MASTER BRANCH
FEATURE BRANCH
1.1
FEATURE3 BRANCH
FEATURE X BRANCH FEATURE Y BRANCH
1.0
1.2
1.1
1.3
F2 Hotfix
Need to propagate fix for F2
Project Skylab (Clone of Mercury)
Project Mercury
DEVELOPMENT BRANCH
FEATURE4 BRANCH
1.4
Integrate F4 into Skylab
Evolution in product lines
4 IT UNIVERSITY OF COPENHAGEN
Platform
Platform
Projects Evolve
Evolves
Evolution in product lines
5 IT UNIVERSITY OF COPENHAGEN
Clone it
Modify it
Evolution in product lines
6 IT UNIVERSITY OF COPENHAGEN
Clone it
We have 3 projects, but 2 created using the clone-and-own
Evolution in product lines
7 IT UNIVERSITY OF COPENHAGEN
Clone it
We have 3 products, but 2 created using the clone-and-own
Fast Efficient Easy
Cheap Widely used and
adopted
Cloning is
X Hard to maintain X Hard to propagate X Not tracked
Clones are
Idea - Virtual platform
8 IT UNIVERSITY OF COPENHAGEN
Mercury F1 F2
Skylab F1 F2
links
Idea - Virtual platform
9 IT UNIVERSITY OF COPENHAGEN
Mercury F1 F2 F3
Skylab F1 F2 FX
links
Idea - Virtual platform
10 IT UNIVERSITY OF COPENHAGEN
Enables reuse Assets are tracked
Appollo F1 F3 FX
Skylab F1 F2 FX
Mercury F1 F2 F3
Product Line
links
Mercury F1 F2 F3
Skylab F1 F2 FX
Appollo F1 F3 FX
Idea - Virtual platform
11 IT UNIVERSITY OF COPENHAGEN
Platform F1 F2 F3 FX
Migrate
Work in progress
Feature control system
The idea is to make it change oriented
And to introduce variability at version control level (preprocessor directives)
A layer on top of GIT
12 IT UNIVERSITY OF COPENHAGEN
Work in progress
13 IT UNIVERSITY OF COPENHAGEN
git clone project car
git update feature headlights git update feature doors
Work in progress
14 IT UNIVERSITY OF COPENHAGEN
git clone project car
git clone feature hardtop git update feature wheels
Work in progress
15 IT UNIVERSITY OF COPENHAGEN
git clone project car
git clone feature hardtop git update feature wheels
Conclusion
Cloning is fast, easy and reduces costs
Cloning is widespread, even in the industry
Virtual platform combines flexibility of cloning with the well defined processes of a product line
16 IT UNIVERSITY OF COPENHAGEN