A reflective architecture to support dynamic software evolution

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

This thesis presents work which is concerned with the run-timeevolution of component-based software systems. In particular, themain result of the research presented here is a framework which isused to model and control the architecture of a software system. Thisframework allows the run-time manipulation of the components whichmake up a software system. The framework makes the architecture ofsoftware systems visible, and allows interaction with it, using areflective meta-object protocol.The motivating objectives of this work are providing a framework tosupport architectural flexibility, higher-level intervention, safechanges, and architectural visibility in software systems.The framework's behaviour and structure was motivated by a set ofcase-studies which have been used to guide its development andenhancement. The framework was developed iteratively, using eachcase-study in turn to evaluate its capabilities and to prompt thedirection of development. A detailed set of evaluation criteria are developed, and the frameworkis evaluated with respect to these. The framework was found to meeteach of the four objectives fully, with the exception of the aim toallow only safe changes which is only partly satisfied. Ways in whichthe framework can be improved in order to more fully satisfy itsobjectives are suggested, as are other extensions to its behaviour.

Read the paper · More papers on PaperTik