A reflective architecture to support dynamic software evolution

Rank, Stephen (2002) A reflective architecture to support dynamic software evolution. PhD thesis, University of Durham.

Documents
thesis.pdf
[img]
[Download]
[img]
Preview
PDF
thesis.pdf

476kB
Item Type:Thesis (PhD)
Item Status:Live Archive

Abstract

This thesis presents work which is concerned with the run-time
evolution of component-based software systems. In particular, the
main result of the research presented here is a framework which is
used to model and control the architecture of a software system. This
framework allows the run-time manipulation of the components which
make up a software system. The framework makes the architecture of
software systems visible, and allows interaction with it, using a
reflective meta-object protocol.

The motivating objectives of this work are providing a framework to
support architectural flexibility, higher-level intervention, safe
changes, and architectural visibility in software systems.

The framework's behaviour and structure was motivated by a set of
case-studies which have been used to guide its development and
enhancement. The framework was developed iteratively, using each
case-study in turn to evaluate its capabilities and to prompt the
direction of development.

A detailed set of evaluation criteria are developed, and the framework
is evaluated with respect to these. The framework was found to meet
each of the four objectives fully, with the exception of the aim to
allow only safe changes which is only partly satisfied. Ways in which
the framework can be improved in order to more fully satisfy its
objectives are suggested, as are other extensions to its behaviour.

Additional Information:This thesis presents work which is concerned with the run-time evolution of component-based software systems. In particular, the main result of the research presented here is a framework which is used to model and control the architecture of a software system. This framework allows the run-time manipulation of the components which make up a software system. The framework makes the architecture of software systems visible, and allows interaction with it, using a reflective meta-object protocol. The motivating objectives of this work are providing a framework to support architectural flexibility, higher-level intervention, safe changes, and architectural visibility in software systems. The framework's behaviour and structure was motivated by a set of case-studies which have been used to guide its development and enhancement. The framework was developed iteratively, using each case-study in turn to evaluate its capabilities and to prompt the direction of development. A detailed set of evaluation criteria are developed, and the framework is evaluated with respect to these. The framework was found to meet each of the four objectives fully, with the exception of the aim to allow only safe changes which is only partly satisfied. Ways in which the framework can be improved in order to more fully satisfy its objectives are suggested, as are other extensions to its behaviour.
Subjects:G Mathematical and Computer Sciences > G610 Software Design
G Mathematical and Computer Sciences > G400 Computer Science
G Mathematical and Computer Sciences > G620 Programming
G Mathematical and Computer Sciences > G600 Software Engineering
Divisions:College of Science > School of Computer Science
ID Code:30
Deposited On:10 Nov 2004

Repository Staff Only: item control page