Transforming Legacy Systems into Software Product Lines
Abstract
Often organizations face the problem that after a while their software system is deployed in several variants and the need arises to migrate to systematic variability and variant management using a software product line approach.
In practice most organizations can not afford to start a software product line development from scratch and therefore have to use as much existing software assets as possible. Discussion of (successful) transition techniques thus helps those organizations to decide for adoption of a software product line approach. Since the software product line development is still in a phase were widespread use has not been achieved the tutorial tries to help attendees to increase the number of SPL in the industry.
The tutorial will discuss issues coming up during this migration process mainly on the technical level, but also discusses some of the organizational questions. The goal of the tutorial is to give attendees an initial idea how a transition into a software product line development process could be done with respect to the technical transition.
The tutorial starts with a brief introduction into software product line concepts, discussing terms such as problem and solution space, feature models, versions vs. variants.
Tutorial topics are how to choose adequate problem space modeling, the mining of problem space variability from existing artifacts such as requirements documents and software architecture. Also part of the discussion will be the need for separation of problem space from solution space and ways to realize it. A substantial part of the tutorial will be dedicated to variability detection and refactoring in the solution space of legacy systems.
The intended audience is practitioners from industry (software product line novice to intermediate). Attendees should have a basic understanding software design; some knowledge about software product lines in general is helpful but not required.

Presenter: Dr. Danilo Beuche
Danilo is the CEO of pure-systems GmbH. pure-systems is a software company specialized in services and tool development for the application of product line technologies in embedded software systems. When he joined the GMD First (now Fraunhofer FIRST) in 1995, he started to work in the field of embedded operating systems and software families and continued at the University Magdeburg, where he also received his PhD in this area. His work on tool support for feature based software development finally lead to the founding of pure-systems in 2001. At pure-systems he works also as consultant in the area of product line development mainly for clients from the automotive industry.
He has been tutorial presenter, speaker, workshop organizer and panelist at conferences such as AOSD, ISORC, SPLC and OOPSLA. He is also author of articles in scientific journals and software developer magazines.
During his university career and also to a limited degree later on he has been teaching students as tutor, teaching assistant and lecturer in the areas of operating system development and software engineering.