The Decentralised Coordination of Self-Adaptive Components for Autonomic Distributed Systems

ion Control signal system model Disturbance Inputs Inputs Outputs Services Information Infrastructure Adaptive Architecture Controller Figure 2.9: Hinnelund's model of an autonomic computing system as a control system. autonomic systems as examples of closed-loop control systems (Taylor and Tofts, 2004). Inputs that cannot be controlled directly are called disturbance inputs. Relationships between inputs and outputs can be linear or non-linear, with linear systems being favoured over non-linear systems due to their predictability. State Monitoring A state-space model can be used to describe a control system that has more than one input and/or output. The size of the state-space should be tractable. The monitoring of system states is equivalent in control systems terms to soliciting feedback from system operation in order to guide the adaptive behaviour of the system (Dutton et al., 1997). State information in control systems usually satis es the Markov property (Dutton et al., 1997), as the decision making components generally make decisions without recourse to historical information (Hinnelund, 2004; Dutton et al., 1997). Techniques have been developed, such as estimators and observers (Dutton et al., 1997), to handle situations where measurements of system state cannot be made directly and must be computed from available measurement data. In Hinnelund's model (see gure 2.9) there is no support for an abstract model of system state. He provides a sample autonomic system in (Hinnelund, 2004) that implements a service work ow. In

[1]  Jim Dowling,et al.  Using Reflection to Support Dynamic Adaptation of System Software: A Case Study Driven Evaluation , 1999, Reflection and Software Engineering.

[2]  Richard S. Sutton,et al.  Learning and Sequential Decision Making , 1989 .

[3]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[4]  Gordon S. Blair,et al.  A Resource Adaptation Framework For Reflective Middleware , 2003, Middleware Workshops.

[5]  Ken Dutton,et al.  The art of control engineering , 1988 .

[6]  Craig W. Reynolds Flocks, herds, and schools: a distributed behavioral model , 1987, SIGGRAPH.

[7]  Keith Cheverst,et al.  A platform supporting coordinated adaptation in mobile systems , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[8]  Peter Stone TPOT-RL Applied to Network Routing , 2000, ICML.

[9]  Vinny Cahill Dynamic Software Evolution and The K-Component Model , 2001 .

[10]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[11]  Michail G. Lagoudakis,et al.  Coordinated Reinforcement Learning , 2002, ICML.

[12]  Martin H. Levinson Linked: The New Science of Networks , 2004 .

[13]  Philip K. McKinley,et al.  Transparent self-optimization in existing CORBA applications , 2004 .

[14]  Jeff Magee,et al.  Analysing dynamic change in distributed software architectures , 1998, IEE Proc. Softw..

[15]  Robert J. Allen A formal approach to software architecture , 1997 .

[16]  Wilfried Brauer,et al.  Fuzzy Model-Based Reinforcement Learning , 2002, Advances in Computational Intelligence and Learning.

[17]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[18]  Roy H. Campbell,et al.  A Middleware for Context-Aware Agents in Ubiquitous Computing Environments , 2003, Middleware.

[19]  Thomas Ledoux,et al.  Towards a Framework for Self-adaptive Component-Based Applications , 2003, DAIS.

[20]  Andrew G. Barto,et al.  Reinforcement learning , 1998 .

[21]  Eduardo F. Morales,et al.  A New Distributed Reinforcement Learning Algorithm for Multiple Objective Optimization Problems , 2000, IBERAMIA-SBIA.

[22]  Jim Dowling,et al.  The K-Component Architecture Meta-model for Self-Adaptive Software , 2001, Reflection.

[23]  Pablo de la Fuente,et al.  Coordination in a Reflective Architecture Description Language , 2002, COORDINATION.

[24]  Thilo Kielmann,et al.  Designing a Coordination Model for Open Systems , 1996, COORDINATION.

[25]  Hein Meling,et al.  Messor: Load-Balancing through a Swarm of Autonomous Agents , 2002, AP2PC.

[26]  Moshe Tennenholtz,et al.  Adaptive Load Balancing: A Study in Multi-Agent Learning , 1994, J. Artif. Intell. Res..

[27]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[28]  Gordon S. Blair,et al.  Reconfiguration of resources in middleware , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[29]  Shigeru Chiba,et al.  A metaobject protocol for C++ , 1995, OOPSLA.

[30]  Richard S. Sutton,et al.  Learning to predict by the methods of temporal differences , 1988, Machine Learning.

[31]  John A. Zinky,et al.  QoS Aspect Languages and Their Runtime Integration , 1998, LCR.

[32]  G. Flake The Computational Beauty of Nature , 1998 .

[33]  Gordon S. Blair,et al.  Design and Application of TOAST: An Adaptive Distributed Multimedia Middleware Platform , 2001, IDMS.

[34]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[35]  Robbert van Renesse,et al.  Navigating in the storm: using Astrolabe for distributed self-configuration, monitoring and adaptation , 2003, 2003 Autonomic Computing Workshop.

[36]  Márk Jelasity,et al.  A Modular Paradigm for Building Self-Organizing Peer-to-Peer Applications , 2003, Engineering Self-Organising Systems.

[37]  Hein Meling,et al.  Toward Self-organizing, Self-repairing and Resilient Distributed Systems , 2003, Future Directions in Distributed Computing.

[38]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[39]  David C. Luckham,et al.  Rapide: A language and toolset for simulation of distributed systems by partial orderings of events , 1997, Partial Order Methods in Verification.

[40]  M. Mitchell Waldrop,et al.  Complexity : the emerging science and the edge of order and chaos , 1992 .

[41]  Adam Buble,et al.  Open CORBA Benchmarking , 2004 .

[42]  Klara Nahrstedt,et al.  "Agilos": A Middleware Control Architecture for Application -Aware Quality of Service Adaptations , 2000 .

[43]  John A. Zinky,et al.  Building auto-adaptive distributed applications: the QuO-APOD experience , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[44]  Patrick Hinnelund Autonomic Computing – a method for automated systems management Systems management using distributed local control , 2004 .

[45]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[46]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[47]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[48]  Aniruddha S. Gokhale,et al.  Generators for Synthesis of QoS Adaptation in Distributed Real-Time Embedded Systems , 2002, GPCE.

[49]  João Paulo A. Almeida Dynamic Reconfiguration of Object-Middleware-based Distributed Systems , 2001 .

[50]  Leonid Peshkin,et al.  Reinforcement learning for adaptive routing , 2002, Proceedings of the 2002 International Joint Conference on Neural Networks. IJCNN'02 (Cat. No.02CH37290).

[51]  Petr Tuma,et al.  Distributed Component System Based on Architecture Description: The SOFA Experience , 2002, OTM.

[52]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[53]  E. Carrapatoso,et al.  A reflective component-based and architecture aware framework to manage architecture composition , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[54]  Joefon Jann,et al.  Dynamic reconfiguration: Basic building blocks for autonomic computing on IBM pSeries servers , 2003, IBM Syst. J..

[55]  Opher Etzion,et al.  Context awareness in Amit , 2003, 2003 Autonomic Computing Workshop.

[56]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[57]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[58]  Thomas A. Corbi,et al.  The dawning of the autonomic computing era , 2003, IBM Syst. J..

[59]  Andrew G. Barto,et al.  Elevator Group Control Using Multiple Reinforcement Learning Agents , 1998, Machine Learning.

[60]  Thaís Vasconcelos Batista,et al.  Enabling Reflection and Reconfiguration in CORBA , 2003, Middleware Workshops.

[61]  Nicholas R. Jennings,et al.  Intelligent agents: theory and practice , 1995, The Knowledge Engineering Review.

[62]  Marco Dorigo,et al.  From Natural to Artificial Swarm Intelligence , 1999 .

[63]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[64]  Robert Laddaga,et al.  Active Software , 2000, IWSAS.

[65]  Francesco Tisato,et al.  Rule-based strategic reflection: observing and modifying behaviour at the architectural level , 1999, 14th IEEE International Conference on Automated Software Engineering.

[66]  Jean-Charles Fabre,et al.  Implementing a reflective fault-tolerant CORBA system , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[67]  Dina Q. Goldin,et al.  Toward domain-independent formalization of indirect interaction , 2004, 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[68]  Steve R. White,et al.  Unity: experiences with a prototype autonomic computing system , 2004 .

[69]  Bjarne Stroustrup,et al.  The C++ Programming Language: Special Edition , 2000 .

[70]  Jan Treur,et al.  Compositional modelling of reflective agents , 1999, Int. J. Hum. Comput. Stud..

[71]  Cecilia Mascolo,et al.  CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications , 2003, IEEE Trans. Software Eng..

[72]  Cristina V. Lopes,et al.  Open Implementation Design Guidelines , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[73]  Pablo de la Fuente,et al.  Introducing Reflection in Architecture Description Languages , 2002, WICSA.

[74]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

[75]  Andrew W. Moore,et al.  Reinforcement Learning: A Survey , 1996, J. Artif. Intell. Res..

[76]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[77]  Ioannis Georgiadis Self-organising distributed component software architectures , 2001 .

[78]  Douglas C. Schmidt,et al.  Active object: an object behavioral pattern for concurrent programming , 1996 .

[79]  Ian T. Foster,et al.  Mapping the Gnutella Network: Properties of Large-Scale Peer-to-Peer Systems and Implications for System Design , 2002, ArXiv.

[80]  Gordon S. Blair,et al.  A principled approach to supporting adaptation in distributed mobile environments , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[81]  Jeffrey O. Kephart,et al.  An architectural approach to autonomic computing , 2004 .

[82]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[83]  Craig Boutilier,et al.  Cooperative Negotiation in Autonomic Systems using Incremental Utility Elicitation , 2002, UAI.

[84]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[85]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[86]  Sean R Eddy,et al.  What is dynamic programming? , 2004, Nature Biotechnology.

[87]  Robbert van Renesse,et al.  Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining , 2003, TOCS.

[88]  Mauro Birattari,et al.  Swarm Intelligence , 2012, Lecture Notes in Computer Science.

[89]  Marco Dorigo,et al.  AntNet: Distributed Stigmergetic Control for Communications Networks , 1998, J. Artif. Intell. Res..

[90]  Chris Tofts,et al.  Self Managed Systems-A Control Theory Perspective , 2004 .

[91]  Sridhar Mahadevan,et al.  Recent Advances in Hierarchical Reinforcement Learning , 2003, Discret. Event Dyn. Syst..

[92]  Guy Theraulaz,et al.  Self-Organization in Biological Systems , 2001, Princeton studies in complexity.

[93]  Richard M. Karp,et al.  Load Balancing in Structured P2P Systems , 2003, IPTPS.

[94]  Zhen Li,et al.  Rudder: a rule-based multi-agent infrastructure for supporting autonomic Grid applications , 2004 .

[95]  M. Parashar,et al.  Enabling Autonomic , Self-managing Grid Applications , 2004 .

[96]  Mark S. Squillante,et al.  Fundamentals of Decentralized Optimization in Autonomic Systems , 2004 .

[97]  Ian Clarke,et al.  Protecting Free Expression Online with Freenet , 2002, IEEE Internet Comput..

[98]  John R. Koza,et al.  Hidden Order: How Adaptation Builds Complexity. , 1995, Artificial Life.

[99]  Stephen Wolfram,et al.  A New Kind of Science , 2003, Artificial Life.

[100]  Michael L. Littman,et al.  A Distributed Reinforcement Learning Scheme for Network Routing , 1993 .

[101]  T. De Wolf,et al.  Towards autonomic computing: agent-based modelling, dynamical systems analysis, and decentralised control , 2003, IEEE International Conference on Industrial Informatics, 2003. INDIN 2003. Proceedings..

[102]  Jim Dowling,et al.  SAMPLE: An On-Demand Probabilistic Routing Protocol for Ad-hoc Networks , 2004 .

[103]  Andrew W. Moore,et al.  Distributed Value Functions , 1999, ICML.

[104]  Gregory R. Ganger,et al.  A Human Organization Analogy for Self-* Systems , 2003 .

[105]  Matei Ripeanu,et al.  Peer-to-peer architecture case study: Gnutella network , 2001, Proceedings First International Conference on Peer-to-Peer Computing.

[106]  Peyman Oreizy,et al.  An Architecture-Centered Approach to Software Environment Integration , 2000 .

[107]  Torsten Eymann,et al.  Self-organizing resource allocation for autonomic network , 2003, 14th International Workshop on Database and Expert Systems Applications, 2003. Proceedings..

[108]  Jeffrey K. MacKie-Mason,et al.  A Market-Based Approach to Optimal Resource Allocation in Integrated-Services Connection-Oriented Networks , 2002, Oper. Res..

[109]  Artur Andrzejak,et al.  Adaptive Control Overlay for Service Management , 2003 .

[110]  Naftaly H. Minsky,et al.  On conditions for self-healing in distributed software systems , 2003, 2003 Autonomic Computing Workshop.

[111]  Marija Mikic-Rakic,et al.  Support for disconnected operation via architectural self-reconfiguration , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[112]  L. Zhen,et al.  AutoMate: Enabling Autonomic Applications on the Grid , 2003, 2003 Autonomic Computing Workshop.

[113]  Manuel Roman,et al.  An Application Framework for Active Space Applications , 2003 .

[114]  M. Roman,et al.  Design and implementation of runtime reflection in communication middleware: the dynamicTAO case , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[115]  Marco Dorigo,et al.  The ant colony optimization meta-heuristic , 1999 .

[116]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[117]  Tilman Schäfer,et al.  Supporting meta-types in a compiled, reflective programming language , 2002 .

[118]  Ravishankar K. Iyer,et al.  A system model for dynamically reconfigurable software , 2003, IBM Syst. J..

[119]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[120]  Jan Treur,et al.  Managing Conflicts in Reflective Agents , 2000, Computational Conflicts.

[121]  Richard N. Taylor,et al.  Extending the Representational State Transfer (REST) architectural style for decentralized systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[122]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

[123]  Kaveh M. Moazami-Goudarzi,et al.  Consistency preserving dynamic reconfiguration of distributed systems , 1999 .

[124]  Barry Redmond Supporting unanticipated dynamic adaptation of object-oriented software , 2004 .

[125]  John A. Zinky,et al.  Using QDL to specify QoS aware distributed (QuO) application configuration , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[126]  Gordon S. Blair,et al.  Supporting dynamic QoS management functions in a reflective middleware platform , 2000, IEE Proc. Softw..

[127]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[128]  Keith Cheverst,et al.  Utilising the event calculus for policy driven adaptation on mobile systems , 2002, Proceedings Third International Workshop on Policies for Distributed Systems and Networks.

[129]  Douglas C. Schmidt,et al.  The Design of an Adaptive CORBA Load Balancing Service , 2001 .

[130]  Jim Dowling,et al.  Collaborative reinforcement learning of autonomic behaviour , 2004 .

[131]  Mark D. Pendrith Distributed reinforcement learning for a traffic engineering application , 2000, AGENTS '00.

[132]  Andrew W. Moore,et al.  Prioritized Sweeping: Reinforcement Learning with Less Data and Less Time , 1993, Machine Learning.

[133]  Richard S. Sutton,et al.  Dimensions of Reinforcement Learning , 1998 .

[134]  Marija Mikic-Rakic,et al.  Support for disconnected operation via architectural self-reconfiguration , 2004 .

[135]  Fabio Kon,et al.  Dynamic Resource Management and Automatic Configuration of Distributed Component Systems , 2001, COOTS.

[136]  Salim Hariri,et al.  A component-based programming model for autonomic applications , 2004, International Conference on Autonomic Computing, 2004. Proceedings..