an approach to software product line engineeringan approach to software product line engineering...

16
An Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section 5 th 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)

Upload: others

Post on 20-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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)

Page 2: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

2 IT UNIVERSITY OF COPENHAGEN

Software evolution DEVELOPMENT BRANCH MASTER BRANCH

FEATURE BRANCH

FEATURE1 BRANCH FEATURE2 BRANCH

1.0 1.1

Project Mercury

Page 3: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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

Page 4: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Evolution in product lines

4 IT UNIVERSITY OF COPENHAGEN

Platform

Platform

Projects Evolve

Evolves

Page 5: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Evolution in product lines

5 IT UNIVERSITY OF COPENHAGEN

Clone it

Modify it

Page 6: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Evolution in product lines

6 IT UNIVERSITY OF COPENHAGEN

Clone it

We have 3 projects, but 2 created using the clone-and-own

Page 7: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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

Page 8: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Idea - Virtual platform

8 IT UNIVERSITY OF COPENHAGEN

Mercury F1 F2

Skylab F1 F2

links

Page 9: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Idea - Virtual platform

9 IT UNIVERSITY OF COPENHAGEN

Mercury F1 F2 F3

Skylab F1 F2 FX

links

Page 10: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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

Page 11: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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

Page 12: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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

Page 13: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Work in progress

13 IT UNIVERSITY OF COPENHAGEN

git clone project car

git update feature headlights git update feature doors

Page 14: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Work in progress

14 IT UNIVERSITY OF COPENHAGEN

git clone project car

git clone feature hardtop git update feature wheels

Page 15: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

Work in progress

15 IT UNIVERSITY OF COPENHAGEN

git clone project car

git clone feature hardtop git update feature wheels

Page 16: An Approach to Software Product Line EngineeringAn Approach to Software Product Line Engineering Ștefan Stănciulescu IT University of Copenhagen Software and Systems Section th 5

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