Engineering complex adaptations in highly heterogeneous distributed systems

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.

[1]  Fabio Kon,et al.  Automatic configuration of component-based distributed systems , 2000 .

[2]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[3]  Gordon S. Blair,et al.  The Design and Implementation of OpenORB v2 , 2001 .

[4]  Lu Yan An Adaptive Middleware to Overcome Service Discovery Heterogeneity in Mobile Ad Hoc Environments , 2007 .

[5]  Gordon S. Blair,et al.  Reflection, self-awareness and self-healing in OpenORB , 2002, WOSS '02.

[6]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[7]  Timothy W. Finin,et al.  GSD: a novel group-based service discovery protocol for MANETS , 2002, 4th International Workshop on Mobile and Wireless Communications Network.

[8]  Jim Dowling,et al.  The Decentralised Coordination of Self-Adaptive Components for Autonomic Distributed Systems , 2005 .

[9]  Thierry Coupaye,et al.  Recursive and Dynamic Software Composition with Sharing , 2002 .

[10]  Gordon S. Blair,et al.  Experiences with open overlays: a middleware approach to network heterogeneity , 2008, Eurosys '08.

[11]  Timothy W. Finin,et al.  Allia: alliance-based service discovery for ad-hoc environments , 2002, WMC '02.

[12]  Gordon S. Blair,et al.  Genie , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[13]  Andrew P. Sage,et al.  On the Systems Engineering and Management of Systems of Systems and Federations of Systems , 2001, Inf. Knowl. Syst. Manag..

[14]  Pierre Verbaeten,et al.  NeCoMan: middleware for safe distributed service deployment in programmable networks , 2004, Adaptive and Reflective Middleware.

[15]  Wouter Joosen,et al.  Support for distributed adaptations in aspect-oriented middleware , 2008, AOSD.

[16]  Fabio Kon,et al.  Developing Adaptive Distributed Applications: A Framework Overview and Experimental Results , 2003, CoopIS/DOA/ODBASE.

[17]  Gordon S. Blair,et al.  Deep Middleware for the Divergent Grid , 2005, Middleware.

[18]  Françoise Sailhan,et al.  Scalable Service Discovery for MANET , 2005, Third IEEE International Conference on Pervasive Computing and Communications.

[19]  Svein O. Hallsteinsen,et al.  Modeling of component-based adaptive distributed applications , 2006, SAC.

[20]  Clemens Szyperski,et al.  Component software , 1997 .

[21]  Valérie Issarny,et al.  A Perspective on the Future of Middleware-based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[22]  Frank Eliassen,et al.  Composing Components and Services Using a Planning-Based Adaptation Middleware , 2008, SC@ETAPS.

[23]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).