School of Computing


ADAPT - Middleware Technologies for Adaptive and Composable Distributed Systems

An essential feature of adaptive software is its ability to respond (by adapting itself) to changes that occur in its operating environment, via the dynamic transformation and reconfiguration of its components. The provision of this adaptive capability should be considered in the early phases of software development and incorporated in the derived software architectures. Such architectures are employed for describing the software components, the interactions between these components, and the properties that regulate the composition of these components. This research proposes an approach to adaptive software development based on the concept of reflection and on the existing theory of adaptive control systems, and will be targeted on those control system applications which have safety and timing as key requirements, as well as adaptability. The novel aspects of this research are the utilization of an architectural style to integrate the phases of requirements analysis and software design during the development of adaptive software, and the incorporation within the architectural style of notions from object-oriented programming languages (those which implement reflective computing systems). The outcome of the research should provide a software developer with powerful support for building future software intensive systems, such as autonomous robotic agents, automated motorways, and unstable aircraft.