Abstract
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.
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
B. L. Achee and D. L. Carver. Creating Object-Oriented Designs From Legacy FORTRAN Code. Journal of Systems and Software, pages 179–194, 1997.
J. Bayer, O. Flege, P. Knauber, R. Laqua, D. Muthig, K. Schmid, T. Widen, and J.-M. DeBaud. PuLSE: A methodology to develop software product lines. In Symposium on Software Reuse, pages 122–131, May 1999.
G. Canfora, A. Cimitile, and M. Munro. Re2: Reverse-engineering and reuse re-engineering. Software Maintenance: Research and Practice, 6:53–72, 1994.
A. Cimitile and G. Visaggio. Software salvaging and the call dominance tree. Journal of Systems and Software, 28:117–127, 1995.
J.-M. DeBaud. DARE: Domain-Augmented ReEngineering. In Working Conference on Reverse Engineering, pages 164–173, Amsterdam, Holland, Oct. 6–8th 1997. IEEE Software Society.
J.-M. DeBaud and J.-F. Girard. The relation between the product line development entry points and reengineering. In Proceedings of the Second International Workshop on the Design and Evolution of Software Architecture for Product Families, pages 102–107, Las Palmas, Spain, Feb. 26–27 1998.
R. Fiutem, P. Tonella, G. Antoniol, and E. Merlo. A cliché-based environment to support architectural reverse engineering. In International Conference on Software Maintenance, pages 319–328, Monterey, Ca, Nov 1996.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley, 1994.
D. Harris, H. Reubenstein, and A. S. Yeh. Reverse engineering to the architecture level. In International Conference on Software Engineering, pages 186–195, Los Alamitos, California, July 1995. IEEE Computer Society Press.
D. R. Harris, A. S. Yeh, and H. B. Reubenstein. Extracting architecture features from source code. Automated Software Engineering, 3:109–138, June 1996.
R. Kazman, G. Abowd, L. Bass, and P. Clements. Scenario-based analysis of software architecture. IEEE Software, pages 47–55, Nov 1996.
R. Kloesch and H. Gall. Objekt-Orientiertes Reverse Engineering. Springer Verlag, Germany, 1995.
A. Lakhotia. A Unified Framework for Expressing Software Subsystem Classification Techniques. Journal of Systems and Software, 36:211–231, 1997.
J. Marock. Basic support for cooperative work. Web-based tool available at http://bscw.gmd.de/.
Model-based software engineering, April 1998. WWW page: http://www.sei.cmu.edu/mbse/is.html. Introduction to the MBSE approach.
H. Müller, K. Wong, and S. Tilley. Understanding software systems using reverse engineering technology. In 62nd Congre of ACFAS, Montreal, Canada, May 1994.
J.Q. Ning, A. Engberts, and W. Kozaczynski. Recovering reusable components from legacy systems by program segmentation. In Working Conference on Reverse Engineering, pages 64–72. May 1993.
Reasoning Systems, Inc., 3260 Hillview Avenue, Palo Alto, CA 94304. Refine User’s Guide, 1990.
H. M. Sneed. Encapsulating legacy software for use in client/server systems. In Working Conference on Reverse Engineering, pages 104–119, Monterey, 1996.
Software Productivity Consortium Services Corporation, Technical Report SPC-92019-CMC. Reuse-Driven Software Processes Guidebook, Version 02.00.03, November 1993.
Software Technology for Adaptable, Reliable Systems (STARS), Technical Report STARS-VC-A025/001/00. Organization Domain Modeling (ODM) Guidebook, Version 2.0, June 1996.
W. Tracz and L. Coglianese. Domain-specific software architecture engineering process guidelines. Technical Report ADAGE-IBM-92-02, Loral Federal Systems, 1992.
Nelson Weiderman, John Bergey, Dennis Smith, and Scott Tilley. Can legacy systems beget product line? In Proceedings of the Second International Workshop on the Design and Evolution of Software Architecture for Product Families, Las Palmas, Spain, Feb. 26–27 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bayer, J., Girard, JF., Würthner, M., DeBaud, JM., Apel, M. (1999). Transitioning Legacy Assets to a Product Line Architecture. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_27
Download citation
DOI: https://doi.org/10.1007/3-540-48166-4_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66538-0
Online ISBN: 978-3-540-48166-9
eBook Packages: Springer Book Archive