Understanding and Propagating Architecutural Changes

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.

[1]  Richard N. Taylor,et al.  An infrastructure for the rapid development of XML-based architecture description languages , 2002, ICSE '02.

[2]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[3]  Jacky Estublier Software Configuration Management: ICSE SCM-4 and SCM-5 Workshops. Selected Papers , 1995 .

[4]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  J. Huisman The Netherlands , 1996, The Lancet.

[6]  Eric M. Dashofy Issues in generating data bindings for an xml schema-based language , 2001 .

[7]  Albert Zündorf,et al.  Merging graph-like object structures , 2001 .

[8]  Jim Buffenbarger,et al.  Syntactic Software Merging , 1995, SCM.

[9]  Peyman Oreizy,et al.  An Architecture-Centered Approach to Software Environment Integration , 2000 .

[10]  David B. Leblang,et al.  ClearCase MultiSite: Supporting Geographically-Distributed Software Development , 1995, SCM.

[11]  Fred Douglis,et al.  The AT&T Internet Difference Engine: Tracking and viewing changes on the web , 1998, World Wide Web.

[12]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[13]  Marija Mikic-Rakic,et al.  Taming architectural evolution , 2001, ESEC/FSE-9.

[14]  Peyman Oreizy,et al.  On the role of software architectures in runtime system reconfiguration , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[15]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[16]  Will Tracz,et al.  Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, 19-25 May 2002, Orlando, Florida, USA , 2002, ICSE.

[17]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[18]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[19]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .