8th International ICST Workshop on Middleware for Network Eccentric and Mobile Applications

Research Article

Engineering Complex Adaptations in Highly Heterogeneous Distributed Systems

  • @INPROCEEDINGS{10.4108/ICST.AUTONOMICS2008.4647,
        author={Paul Grace and Gordon S. Blair and Carlos Flores Cortes and Nelly Bencomo},
        title={Engineering Complex Adaptations in Highly Heterogeneous Distributed Systems},
        proceedings={8th International ICST Workshop on Middleware for Network Eccentric and Mobile Applications},
        publisher={ACM},
        proceedings_a={MINEMA},
        year={2010},
        month={5},
        keywords={Reflection middleware adaptation heterogeneity},
        doi={10.4108/ICST.AUTONOMICS2008.4647}
    }
    
  • Paul Grace
    Gordon S. Blair
    Carlos Flores Cortes
    Nelly Bencomo
    Year: 2010
    Engineering Complex Adaptations in Highly Heterogeneous Distributed Systems
    MINEMA
    ICST
    DOI: 10.4108/ICST.AUTONOMICS2008.4647
Paul Grace1,*, Gordon S. Blair1,*, Carlos Flores Cortes1,*, Nelly Bencomo1,*
  • 1: Computing Department, Lancaster University, Lancaster, UK.
*Contact email: gracep@comp.lancs.ac.uk, gordon@comp.lancs.ac.uk, c.florescortes@comp.lancs.ac.uk, bencomo@comp.lancs.ac.uk

Abstract

Distributed systems now encounter extreme heterogeneity in the form of diverse devices, network types etc., and also need to dynamically adapt to changing environmental conditions. Self-adaptive middleware is ideally situated to address these challenges. However, developing such software is a complex task. In this paper, we present the Gridkit self* approach to the engineering of reflective middleware; this embraces state of the art software engineering practices, and flexible dynamic adaptation mechanisms to better support system developers. Domain specific frameworks are modeled and developed to enhance configurability and reconfigurability. We evaluate this approach using case studies in the domains of service discovery and network overlays. These demonstrate the benefits of the approach in terms of aiding and simplifying the process of creating self-configuring and self-adaptive software.