Abstract
Like source code, architectures change. The use of product line architectures provides a particularly rich source of changes: new products are introduced, existing products are enhanced and modified, and old products are retired. Methods exist that record these kinds of changes by maintaining explicit representations of the evolution of a product line architecture. Despite the availability of such representations, it still is difficult to quickly gain an understanding of the exact changes that define the difference between two products. Furthermore, it is difficult to automatically propagate such changes to yet another, third product in the product line. This paper aims to fill this void and contributes a set of algorithms and an associated representation for understanding and propagating architectural changes within a product line architecture. The approach is based on xADL 2.0, an extensible representation for product line architectures, and adapts well-known differencing and merging algorithms from the field of configuration management to the domain of software architecture.
The updated original online version for this book can be found at DOI: 10.1007/978-0-387-35607-5_15
Chapter PDF
Similar content being viewed by others
References
Allen, L., Fernandez, G., Kane, K., Leblang, D., Minard, D., and Posner, J. ClearCase MultiSite: Supporting Geographically-Distributed Software Development. In Software Configuration Management: ICSE SCM-4 and SCM-5 Workshops Selected Papers. p. 194–214, Springer-Verlag, 1995.
Bosch, J. Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. ed. Wesley, A. 2000.
Buffenbarger, J. Syntactic Software Merging. In Software Configuration Management: ICSE SCM-4 and SCM-5 Workshops Selected Papers. p. 153–172, Springer-Verlag, 1995.
Conradi, R. and Westfechtel, B. Version Models for Software Configuration Management. ACM Computing Surveys. 30 (2), p. 232–282, 1998.
Dashofy, E., van der Hoek, A., and Taylor, R.N. A Highly-Extensible, XML-Based Architecture Description Language. In Proceedings of the The Working IEEE/IFIP Conference on Software Architecture (WICSA 2001). Amsterdam, The Netherlands, August 28–31, 2001.
Dashofy, E.M. Issues in Generating Data Bindings for an XML Schema- Based Language. In Proceedings of the Workshop on XML Technologies in Software Engineering. 2001.
Dashofy, E.M., van der Hoek, A., and 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. p. (to-appear), 2002.
Douglis, F., Ball, T., Chen, Y.-F., and Koutsofios, E. The AT and T Internet Difference Engine: Tracking and Viewing Changes on the Web. World Wide Web. 1 (1), p. 27–44, January, 1998.
Flamsholt, R. Viff - A Tool for Visual Ding and Merging Web site accessed on 03/06/2001.
van der Hoek, A., Mikic-Rakic, M., Roshandel, R., and Medvidovic, N. Taming Architectural Evolution. In Proceedings of the Sixth European Software Engineering Conference (ESEC) and the Ninth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-9). p. 1–10, Vienna, Austria, September 10–14, 2001.
IBM. XML Diff and Merge Tool., Web site accessed on 01/17/2002.
INTERSOLV. Using PVCS for Enterprise Distributed Development. 1998.
Kramer, J. and Magee, J. The Evolving Philosophers Problem: Dynamic Change Management. IEEE Transactions on Software Engineering. 16 (11), p. 1293–1306, 1990.
Medvidovic, N., Oreizy, P., Taylor, R.N., Khare, R., and Guntersdorfer, M. An Architecture-Centered Approach to Software Environment Integration., Web site accessed on March.
Medvidovic, N.M. and Taylor, R.N. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering., p. 70–93, 2000.
Oreizy, P. and Taylor, R.N. On the Role of Software Architectures in Runtime System Reconfiguration. In Proceedings of the Fourth International Conference on Configurable Distributed Systems. p. 61–70, IEEE Computer Society Press, 1998.
van Ommering, R., van der Linden, F., Kramer, J., and Magee, J. The Koala Component Model for Consumer Electronics Software. Computer. 33 (3), p. 78–85, 2000.
Zündorf, A., Wadsack, J.P., and Rockel, I. Merging Graph-Like Object Structures. In Proceedings of the Tenth International Workshop on Software Configuration Management. 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Van der Westhuizen, C., van der Hoek, A. (2002). Understanding and Propagating Architectural Changes. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds) Software Architecture. WICSA 2002. IFIP — The International Federation for Information Processing, vol 97. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35607-5_6
Download citation
DOI: https://doi.org/10.1007/978-0-387-35607-5_6
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6538-0
Online ISBN: 978-0-387-35607-5
eBook Packages: Springer Book Archive