Autonomous Architectural Assembly And Adaptation
Author(s)
Sykes, Daniel
Type
Thesis
Abstract
An increasingly common solution for systems which are deployed in unpredictable
or dangerous environments is to provide the system with an autonomous or selfmanaging
capability. This capability permits the software of the system to adapt to
the environmental conditions encountered at runtime by deciding what changes
need to be made to the system’s behaviour in order to continue meeting the
requirements imposed by the designer. The chief advantage of this approach comes
from a reduced reliance on the brittle assumptions made at design time.
In this work, we describe mechanisms for adapting the software architecture of
a system using a declarative expression of the functional requirements (derived
from goals), structural constraints and preferences over the space of non-functional
properties possessed by the components of the system. The declarative approach
places this work in contrast to existing schemes which require more fine-grained,
often procedural, specifications of how to perform adaptations. Our algorithm for
assembling and re-assembling configurations chooses between solutions that meet
both the functional requirements and the structural constraints by comparing
the non-functional properties of the selected components against the designer’s
preferences between, for example, a high-performance or a highly reliable solution.
In addition to the centralised algorithm, we show how the approach can be applied
to a distributed system with no central or master node that is aware of the full
space of solutions. We use a gossip protocol as a mechanism by which peer nodes
can propose what they think the component configuration is (or should be). Gossip
ensures that the nodes will reach agreement on a solution, and will do so in a
logarithmic number of steps. This latter property ensures the approach can scale
to very large systems. Finally, the work is validated on a number of case studies.
or dangerous environments is to provide the system with an autonomous or selfmanaging
capability. This capability permits the software of the system to adapt to
the environmental conditions encountered at runtime by deciding what changes
need to be made to the system’s behaviour in order to continue meeting the
requirements imposed by the designer. The chief advantage of this approach comes
from a reduced reliance on the brittle assumptions made at design time.
In this work, we describe mechanisms for adapting the software architecture of
a system using a declarative expression of the functional requirements (derived
from goals), structural constraints and preferences over the space of non-functional
properties possessed by the components of the system. The declarative approach
places this work in contrast to existing schemes which require more fine-grained,
often procedural, specifications of how to perform adaptations. Our algorithm for
assembling and re-assembling configurations chooses between solutions that meet
both the functional requirements and the structural constraints by comparing
the non-functional properties of the selected components against the designer’s
preferences between, for example, a high-performance or a highly reliable solution.
In addition to the centralised algorithm, we show how the approach can be applied
to a distributed system with no central or master node that is aware of the full
space of solutions. We use a gossip protocol as a mechanism by which peer nodes
can propose what they think the component configuration is (or should be). Gossip
ensures that the nodes will reach agreement on a solution, and will do so in a
logarithmic number of steps. This latter property ensures the approach can scale
to very large systems. Finally, the work is validated on a number of case studies.
Date Issued
2010-02
Date Awarded
2010-07
Copyright Statement
Attribution NoDerivatives 4.0 International Licence (CC BY-ND)
Advisor
Magee, Jeff
Kramer, Jeff
Sponsor
Systems Engineering for Autonomous Systems (SEAS) Defence Technology Centre
Creator
Sykes, Daniel
Publisher Department
Computing
Publisher Institution
Imperial College London
Qualification Level
Doctoral
Qualification Name
Doctor of Philosophy (PhD)
