A successful software system evolves over time, but this evolution often occurs in an ad-hoc fashion. One approach to structure
system evolution is the concept of software product lines where a core architecture supports a variety of application contexts.
However, in practice, the high cost and high risks of redevelopment as well as the substantial investments made to develop
the existing systems most often mandate significant leverage of the legacy assets. Yet, there is little guidance in the literature
on how to transition legacy assets into a product line set-up.
In this paper, we present RE-PLACE, an approach developed to support the transition of existing software assets towards a
product line architecture while taking into account anticipated new system variants. We illustrate this approach with its
application in an industrial setting.
Keywords software product line - architecture recovery - reengineering - reuse - domain-specific software architecture
This work was funded by Stiftung Rheinland-Pfalz für Innovation, project 266.
The original work was performed when Dr. DeBaud worked at Fraunhofer IESE.