Abstract
Propagating changes from one place in a product line architecture to another is a difficult problem that occurs in a variety of settings. Currently, no automated tools exist that help an architect in doing so, and performing the task by hand in the face of a large product line architecture can be error-prone and difficult. To address this problem, we have built a set of tools for automating the process. Our approach breaks down into a two-step solution: (1) automatically determining the difference between two selected (versions of) a product architecture, and (2) automatically merging the difference back into a different location in the original product line architecture. In this paper, we detail each of these two steps and evaluate our solution on an example word processor product line architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Asikainen, T., Soininen, T., Männistö, T.: Towards Intelligent Support for Managing Evolution of Configurable Software Product Families. In: Proceedings of the ICSE Workshops SCM 2001 and SCM 2003, Selected Papers, pp. 86-101 (2003)
Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley, Reading (2000)
Buffenbarger, J.: Syntactic Software Merging. In: Proceedings of the Software Configuration Management: ICSE SCM-4 and SCM-5 Workshops Selected Papers, pp. 153–172 (1995)
Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley, New York (2002)
Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages. In: Proceedings of the 24th International Conference on Software Engineering, pp. 266–276 (2002)
Douglis, F., et al.: The AT&T Internet Difference Engine: Tracking and Viewing Changes on the Web. World Wide Web Journal 1(1), 27–44 (1998)
Estublier, J.: Defining and Supporting Concurrent Engineering Policies in SCM. In: Proceedings of the Tenth International Workshop on Software Configuration Management (2001)
Garg, A., et al.: An Environment for Managing Evolving Product Line Architectures. In: Proceedings of the International Conference on Software Maintenance (2003)
IBM, XML Diff and Merge Tool (2002), http://www.alphaworks.ibm.com/tech/xmldiffmerge
Mens, T.: A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering 28(5), 449–462 (2002)
Van der Westhuizen, C., van der Hoek, A.: Understanding and Propagating Architectural Changes. In: Proceedings of the Working IFIP Conference on Software Architecture, pp. 95–109 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chen, P., Critchlow, M., Garg, A., Van der Westhuizen, C., van der Hoek, A. (2004). Differencing and Merging within an Evolving Product Line Architecture. In: van der Linden, F.J. (eds) Software Product-Family Engineering. PFE 2003. Lecture Notes in Computer Science, vol 3014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24667-1_20
Download citation
DOI: https://doi.org/10.1007/978-3-540-24667-1_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21941-5
Online ISBN: 978-3-540-24667-1
eBook Packages: Springer Book Archive