Headlines Module - Autonomic Computing

  • Autonomic Computing
  • Self-Adaptive Systems
  • Decentralized Architectures for Self-Adaptive Systems
  • Dynamic Software Architectures
  • Reflection and Self-Adaptation

Introduction session

Reading club

  • A Survey of Autonomic Computing - Degrees, Models, and Applications, M. Huebscher and J. McCann, ACM Comput. Surv, 40(3), 2008 (pdf)
  • An Architecture-Based Approach to Self-Adaptive Software, P. Oreizy, M. Gorlick, R. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. Rosenblum, and A. Wolf, IEEE Intelligent Systems, 14(3), 1999 (pdf)
  • Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure, D. Garlan, S. Cheng, A. Huang, B. Schmerl, and P. Steenkiste, IEEE Computer, 37(10), 2004 (pdf)
  • Reflecting on Self-Adaptive Software Systems, J. Andersson, R. de Lemos, S. Malek, D. Weyns, Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2009 (pdf)

Software engineering and self-adaptive systems


Conventional engineering approaches call for a direct specification of all possible configurations and reconfigurations. Self-adaptive systems dynamically adapt their structures and behaviors to changes in their environment and user requirements. Therefore, self-adaptive systems require a shift in engineering vision from satisfying offline requirements through traditional top-down methods to satisfying online requirements through runtime adaptations. This shift in vision affects the different stages of the software engineering life-cycle. Here we focus on the requirements engineering and architectural design. Concretely, study and describe (1) how the specification of requirements for self-adaptive systems differs from traditional approaches, and (2) how the architecture of a self-adaptive system differs from the architecture of a traditional software system.
  • Revisiting the Relationship between Software Architecture and Requirements: The case of Dynamically Adaptive Systems, N. Bencomo, P. Grace and P. Sawyer, Self-Organizing Architectures, SOAR 2009 (pdf)
  • From Goals To Components: A Combined Approach To Self-Management, D. Sykes, W. Heaven, J. Magee, J. Kramer, Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2008 (pdf)
  • Goal-based modeling approach to develop requirements for adaptive systems with environmental uncertainty, B. Cheng, P. Sawyer, N. Bencomo, and J. Whittle, MODELS 2009 (pdf)

Middleware and self-adaptive systems


Self-adaptive software systems adjust their behavior at runtime to achieve certain functional or quality of service objectives. The development of self-adaptive software systems has shown to be significantly more challenging than traditional systems, particularly for systems that are deployed in a distributed environment. Middleware provides high-level abstractions to support the developers of complex distributed software systems. Study and describe how reflective middleware solutions contribute to manage the complexity of engineering self-adaptive systems.
  • Reflective Middleware Solutions for Context-Aware Applications, L. Capra, W. Emmerich and C. Mascolo, Reflection, Lecture Notes in Computer Science vol. 2192, 2001 (pdf)
  • Research Directions in Reflective Middleware: The Lancaster Experience, G. Blair, G. Coulson, P. Grace, Adaptive and Reflective Middleware, 2004 (pdf)
  • Engineering Complex Adaptations in Highly Heterogeneous Distributed Systems, P. Grace, G. Blair, C. Flores-Cortes, and N. Bencomo, International Conference on Autonomic Computing and Communication, ICAC 2008 (pdf)

Multi-Agent Systems and Self-Adaptive Systems


Er zijn verschillende perspectieven op de link tussen agenten en zelf-adaptieve, gedistribueerde software systemen. Agenten observeren, analyseren, plannen, sturen een onderliggend systeem. Agenten hebben intern een zelf-adaptief mechanisme e.g. intention revision. Multi-agent systemen kunnen ook als systeem geobserveerd en aangepast worden. Breng deze perspectieven in kaart, en onderbouw, illustreer in de gevalstudie van het MAS-project rond gedecentaliseerde coördinatie en sturing voor PDP.
  • BDI Agents: From Theory to Practice, A. Rao, M. Georgeff, 1st International Conference on Multiagent Systems, 1995 (pdf)
  • The Theory and Practice of Intention Reconsideration, M. Schut, M. Wooldridge, S. Parsons Journal on experimental and theoretical artificial intelligence, 2004 (pdf)
  • On Decentralized Self-Adaptation: Lessons from the Trenches and Challenges for the Future, D. Weyns, S. Malek, J. Andersson, Software Engineering of Adaptive and Self-Managing Systems, SEAMS 2010 (pdf)

Patterns and Self-Adaptive Systems


Patronen zijn herbruikbare oplossingen voor concrete problemen qua architecturaal of gedetailleerd ontwerp. Gegeven een aantal concrete raamwerken, technologieën, voor zelf-adaptieve systemen. Herleid deze tot wel-gedefinieerde patronen met, naast een goede, herbruikbare beschrijving van de oplossingsmethode, duidelijke aandacht de kwaliteiten en krachten.
  • An Architectural Blueprint for Autonomic Computing, IBM, Autonomic Computung White Paper 4th Edition, 2006 (pdf)
  • Engineering Self-Adaptive Systems through Feedback Loops, Software Engineering for Self-Adaptive Systems, Y. Brun, G. Di Marzo Serugendo, C. Gacek, Holger Giese, H. Kienle, M. Litoiu, H. Müller, M. Pezzè and M. Shaw, Lecture Notes in Computer Science vol. 5525, 2009 (pdf)
  • Design Patterns for Developing Dynamically Adaptive Systems, A. Ramirez and B. Cheng, Software Engineering of Adaptive and Self-Managing Systems, SEAMS 2010 (pdf)
  • Software Reconfiguration Patterns for Dynamic Evolution of Software Architectures, H. Gomaa and M. Hussein, Fourth Working IEEE/IFIP Conference on Software Architecture, WICSA 2004 (pdf)

Slides

Contact

    tom.holvoet [at] cs.kuleuven.be
    danny.weyns [at] cs.kuleuven.be