Autonomous architectural assembly and adaptation

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 deci...

Full description

Bibliographic Details
Main Author: Sykes, Daniel
Other Authors: Magee, Jeff ; Kramer, Jeff
Published: Imperial College London 2010
Subjects:
004
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.519268
id ndltd-bl.uk-oai-ethos.bl.uk-519268
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-5192682017-08-30T03:15:52ZAutonomous architectural assembly and adaptationSykes, DanielMagee, Jeff ; Kramer, Jeff2010An 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.004Imperial College Londonhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.519268http://hdl.handle.net/10044/1/5762Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 004
spellingShingle 004
Sykes, Daniel
Autonomous architectural assembly and adaptation
description 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.
author2 Magee, Jeff ; Kramer, Jeff
author_facet Magee, Jeff ; Kramer, Jeff
Sykes, Daniel
author Sykes, Daniel
author_sort Sykes, Daniel
title Autonomous architectural assembly and adaptation
title_short Autonomous architectural assembly and adaptation
title_full Autonomous architectural assembly and adaptation
title_fullStr Autonomous architectural assembly and adaptation
title_full_unstemmed Autonomous architectural assembly and adaptation
title_sort autonomous architectural assembly and adaptation
publisher Imperial College London
publishDate 2010
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.519268
work_keys_str_mv AT sykesdaniel autonomousarchitecturalassemblyandadaptation
_version_ 1718520860600434688