Architectural transformations

The first draft of a software architecture almost never constitutes the final picture of the system to be developed. In most cases it misses some of required properties and needs to be improved or even completely rebuilt. The software architect applies architectural transformations in order to "repair" the system structure. In this paper we present our approach to software architecture and architectural transformations. We also discuss three related issues: ADLs, architectural styles and non-functional requirements. Some arguments for architectural change automation are also given.

[1]  Richard C. Holt Structural manipulations of software architecture using Tarski relational algebra , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[2]  Alexander L. Wolf,et al.  Software testing at the architectural level , 1996, ISAW '96.

[3]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

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

[5]  Robert J. Allen A formal approach to software architecture , 1997 .

[6]  B. Dutertre,et al.  A Formalization of Software Architecture , 1999, World Congress on Formal Methods.

[7]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[8]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

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

[10]  Vincenzo Gervasi,et al.  Representing structural requirements in software architecture , 1998, Systems Implementation 2000.

[11]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[12]  Tom Mens,et al.  A formal foundation for object-oriented software evolution , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[13]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[14]  Richard C. Holt,et al.  Using graph rewriting to specify software architectural transformations , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[15]  René L. Krikhaar,et al.  A two-phase process for software architecture improvement , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[16]  Richard C. Holt,et al.  Software architecture transformations , 2000, Proceedings 2000 International Conference on Software Maintenance.

[17]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[18]  Xavier Franch,et al.  Systematic formulation of non-functional characteristics of software , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.