A framework for dynamic adaptation of power-aware server clusters
Proceedings of the 2009 ACM symposium on Applied Computing
Improving Architecture-Based Self-Adaptation through Resource Prediction
Software Engineering for Self-Adaptive Systems
Effective self adaptation by integrating adaptive framework with architectural patterns
Proceedings of the 1st Amrita ACM-W Celebration on Women in Computing in India
Improving architecture-based self-adaptation using preemption
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
Weaving the fabric of the control loop through aspects
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
Software engineering in an uncertain world
Proceedings of the FSE/SDP workshop on Future of software engineering research
A message-array-based mechanism for tracking control effects in supervisory control software
International Journal of Automation and Computing
Adapt cases: extending use cases for adaptive systems
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
FlashMob: distributed adaptive self-assembly
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Toward a fuzzy control-based approach to design of self-adaptive software
Proceedings of the Second Asia-Pacific Symposium on Internetware
Requirements and assessment of languages and frameworks for adaptation models
MODELS'11 Proceedings of the 2011th international conference on Models in Software Engineering
Stitch: A language for architecture-based self-adaptation
Journal of Systems and Software
Journal of Systems and Software
Journal of Systems and Software
Learning revised models for planning in adaptive systems
Proceedings of the 2013 International Conference on Software Engineering
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
Requirements and architectural approaches to adaptive software systems: a comparative study
Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Adaptive support framework for wisdom web of things
World Wide Web
Hi-index | 0.00 |
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.