Nothing Special   »   [go: up one dir, main page]

skip to main content
Rainbow: cost-effective software architecture-based self-adaptation
Publisher:
  • Carnegie Mellon University
  • Schenley Park Pittsburgh, PA
  • United States
ISBN:978-0-549-52525-7
Order Number:AAI3305807
Pages:
202
Reflects downloads up to 20 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

Modern, complex software systems (e-commerce, IT, critical infrastructures, etc.) are increasingly required to continue operation in the face of change, to self-adapt to accommodate shifting user priorities, resource variability, changing environments, and component failures. While manual oversight benefits from global problem contexts and flexible policies, human operators are costly and prone to error. Low-level, embedded mechanisms (exceptions, time-outs, etc.) are effective and timely for error recovery, but are local in scope to the point-of-failure, application-specific, and costly to modify when adaptation objectives change. An ideal solution leverages domain expertise, provides an end-to-end system perspective, adapts the system in a timely manner, and can be engineered cost-effectively.

Architecture-based self-adaptation closes the “loop of control,” using external mechanisms and the architecture model of the target system to adapt the system. An architecture model exposes important system properties and constraints, provides end-to-end problem contexts, and allows principled and automated adaptations. Existing architecture-based approaches specialize support for particular classes of systems and fixed sets of quality-of-service concerns; they are costly to develop for new systems and to evolve for new qualities. To overcome these limitations, we posit this thesis:

We can provide software engineers the ability to add and evolve self-adaptation capabilities cost-effectively, for a wide range of software systems, and for multiple objectives, by defining a self-adaptation framework that factors out common adaptation mechanisms and provides explicit customization points to tailor self-adaptation capabilities for particular classes of systems, for multiple quality-of-service objectives.

Our approach, embodied in a system called Rainbow, provides an engineering approach and a framework of mechanisms to monitor a target system and its environment, reflect observations into the system's architecture model, detect opportunities for improvements, select a course of action, and effect changes. The framework provides general and reusable infrastructures with well-defined customization points, a set of abstractions, and an adaptation engineering process, focusing engineers on adaptation concerns to systematically customize Rainbow to particular systems. To automate system self-adaptation, Rainbow provides a language, called Stitch, to represent routine human adaptation knowledge using a core set of adaptation concepts.

Cited By

  1. ACM
    Pfannemüller M, Breitbach M, Weckesser M, Becker C, Schmerl B, Schürr A and Krupitzer C (2021). REACT-ION: A Model-based Runtime Environment for Situation-aware Adaptations, ACM Transactions on Autonomous and Adaptive Systems, 15:4, (1-29), Online publication date: 31-Dec-2021.
  2. Eberhardinger B, Habermaier A and Reif W Toward adaptive, self-aware test automation Proceedings of the 12th International Workshop on Automation of Software Testing, (34-37)
  3. Han D, Yang Q, Xing J, Li J and Wang H (2016). FAME, Information and Software Technology, 76:C, (118-134), Online publication date: 1-Aug-2016.
  4. Cámara J, Correia P, de Lemos R, Garlan D, Gomes P, Schmerl B and Ventura R (2016). Incorporating architecture-based self-adaptation into an adaptive industrial software system, Journal of Systems and Software, 122:C, (507-523), Online publication date: 1-Dec-2016.
  5. Su G, Chen T, Feng Y, Rosenblum D and Thiagarajan P An Iterative Decision-Making Scheme for Markov Decision Processes and Its Application to Self-adaptive Systems Proceedings of the 19th International Conference on Fundamental Approaches to Software Engineering - Volume 9633, (269-286)
  6. ACM
    Schmerl B, Gennari J, Cámara J and Garlan D Raindroid Proceedings of the Symposium and Bootcamp on the Science of Security, (115-117)
  7. ACM
    Schmerl B, Cámara J, Gennari J, Garlan D, Casanova P, Moreno G, Glazier T and Barnes J Architecture-based self-protection Proceedings of the 2014 Symposium and Bootcamp on the Science of Security, (1-12)
  8. ACM
    Swanson J, Cohen M, Dwyer M, Garvin B and Firestone J Beyond the rainbow: self-adaptive failure avoidance in configurable systems Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (377-388)
  9. ACM
    Yang Q, Tao X, Xie H, Xing J and Song W FuAET: a tool for developing fuzzy self-adaptive software systems Proceedings of the 6th Asia-Pacific Symposium on Internetware, (54-63)
  10. Gao Y, Lin M and Wang R (2018). Adaptive support framework for wisdom web of things, World Wide Web, 16:4, (379-398), Online publication date: 1-Jul-2013.
  11. Sykes D, Corapi D, Magee J, Kramer J, Russo A and Inoue K Learning revised models for planning in adaptive systems Proceedings of the 2013 International Conference on Software Engineering, (63-71)
  12. Cámara J, Correia P, de Lemos R, Garlan D, Gomes P, Schmerl B and Ventura R Evolving an adaptive industrial software system to use architecture-based self-adaptation Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (13-22)
  13. Angelopoulos K, Souza V and Pimentel J Requirements and architectural approaches to adaptive software systems Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (23-32)
  14. Cámara J and de Lemos R Evaluation of resilience in self-adaptive systems using probabilistic model-checking Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (53-62)
  15. Tajalli H and Medvidović N A reference architecture for integrated development and run-time environments Proceedings of the Second International Workshop on Developing Tools as Plug-Ins, (19-24)
  16. ACM
    Luckey M, Nagel B, Gerth C and Engels G Adapt cases Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (30-39)
  17. ACM
    Sykes D, Magee J and Kramer J FlashMob Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (100-109)
  18. Vogel T and Giese H Requirements and assessment of languages and frameworks for adaptation models Proceedings of the 2011th international conference on Models in Software Engineering, (167-182)
  19. ACM
    Krishnamurthy V and Babu C Effective self adaptation by integrating adaptive framework with architectural patterns Proceedings of the 1st Amrita ACM-W Celebration on Women in Computing in India, (1-4)
  20. ACM
    Garlan D Software engineering in an uncertain world Proceedings of the FSE/SDP workshop on Future of software engineering research, (125-128)
  21. ACM
    Yang Q, Lü J, Li J, Ma X, Song W and Zou Y Toward a fuzzy control-based approach to design of self-adaptive software Proceedings of the Second Asia-Pacific Symposium on Internetware, (1-4)
  22. ACM
    Petrucci V, Loques O and Mossé D A framework for dynamic adaptation of power-aware server clusters Proceedings of the 2009 ACM symposium on Applied Computing, (1034-1039)
  23. Raheja R, Cheng S, Garlan D and Schmerl B Improving architecture-based self-adaptation using preemption Proceedings of the First international conference on Self-organizing architectures, (21-37)
  24. Haesevoets, R, Truyen E, Holvoet T and Joosen W Weaving the fabric of the control loop through aspects Proceedings of the First international conference on Self-organizing architectures, (38-65)
Contributors
  • Carnegie Mellon University
  • Carnegie Mellon University
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations