Architectural reflection for software evolution

Stephen Rank · Lincoln Repository (University of Lincoln) · 2005

Software evolution is expensive. Lehman identifies severalproblems associated with it: Continuous adaptation, increasing complexity, continuing growth, and declining quality. This paper proposes that a reflective software engineering environment will address these problems by employing languages and techniques from the softwarearchitecture community.Creating a software system will involve manipulating a collection of views, including low-level code views and high-level architectural views which will be tied together using reflection. This coupling will allow the development environment to automatically identify inconsistencies between the views, and support software engineers in managing architectures during evolution.This paper proposes a research programme which will result in a software engineering environment which addresses problems of software evolution and the maintenance of consistency between architectural views of a software system.

Read the paper · More papers on PaperTik