Special Issue Engineering Adaptive Software Systems

Download Special Issue Engineering Adaptive Software Systems PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Special Issue Engineering Adaptive Software Systems book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Architectures for Adaptive Software Systems

Author: Raffaela Mirandola
language: en
Publisher: Springer Science & Business Media
Release Date: 2009-06-08
Much of a software architect’s life is spent designing software systems to meet a set of quality requirements. General software quality attributes include scalability, security, performance or reliability. Quality attribute requirements are part of an application’s non-functional requirements, which capture the many facets of how the functional - quirements of an application are achieved. Understanding, modeling and continually evaluating quality attributes throughout a project lifecycle are all complex engineering tasks whichcontinuetochallengethe softwareengineeringscienti ccommunity. While we search for improved approaches, methods, formalisms and tools that are usable in practice and can scale to large systems, the complexity of the applications that the so- ware industry is challenged to build is ever increasing. Thus, as a research community, there is little opportunity for us to rest on our laurels, as our innovations that address new aspects of system complexity must be deployed and validated. To this end the 5th International Conference on the Quality of Software Archit- tures (QoSA) 2009 focused on architectures for adaptive software systems. Modern software systems must often recon guretheir structure and behavior to respond to c- tinuous changes in requirements and in their execution environment. In these settings, quality models are helpful at an architectural level to guide systematic model-driven software development strategies by evaluating the impact of competing architectural choices.
Engineering Adaptive Software Systems

This book discusses the problems and challenges in the interdisciplinary research field of self-adaptive software systems. Modern society is increasingly filled with software-intensive systems, which are required to operate in more and more dynamic and uncertain environments. These systems must monitor and control their environment while adapting to meet the requirements at runtime. This book provides promising approaches and research methods in software engineering, system engineering, and related fields to address the challenges in engineering the next-generation adaptive software systems. The contents of the book range from design and engineering principles (Chap. 1) to control–theoretic solutions (Chap. 2) and bidirectional transformations (Chap. 3), which can be seen as promising ways to implement the functional requirements of self-adaptive systems. Important quality requirements are also dealt with by these approaches: parallel adaptation for performance (Chap. 4),self-adaptive authorization infrastructure for security (Chap. 5), and self-adaptive risk assessment for self-protection (Chap. 6). Finally, Chap. 7 provides a concrete self-adaptive robotics operating system as a testbed for self-adaptive systems. The book grew out of a series of the Shonan Meetings on this ambitious topic held in 2012, 2013, and 2015. The authors were active participants in the meetings and have brought in interesting points of view. After several years of reflection, they now have been able to crystalize the ideas contained herein and collaboratively pave the way for solving some aspects of the research problems. As a result, the book stands as a milestone to initiate further progress in this promising interdisciplinary research field.
Model-driven engineering of adaptation engines for self-adaptive software

The development of self-adaptive software requires the engineering of an adaptation engine that controls and adapts the underlying adaptable software by means of feedback loops. The adaptation engine often describes the adaptation by using runtime models representing relevant aspects of the adaptable software and particular activities such as analysis and planning that operate on these runtime models. To systematically address the interplay between runtime models and adaptation activities in adaptation engines, runtime megamodels have been proposed for self-adaptive software. A runtime megamodel is a specific runtime model whose elements are runtime models and adaptation activities. Thus, a megamodel captures the interplay between multiple models and between models and activities as well as the activation of the activities. In this article, we go one step further and present a modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that considerably eases the development of adaptation engines by following a model-driven engineering approach. We provide a domain-specific modeling language and a runtime interpreter for adaptation engines, in particular for feedback loops. Megamodels are kept explicit and alive at runtime and by interpreting them, they are directly executed to run feedback loops. Additionally, they can be dynamically adjusted to adapt feedback loops. Thus, EUREMA supports development by making feedback loops, their runtime models, and adaptation activities explicit at a higher level of abstraction. Moreover, it enables complex solutions where multiple feedback loops interact or even operate on top of each other. Finally, it leverages the co-existence of self-adaptation and off-line adaptation for evolution.