Results 1 -
6 of
6
Self-Adaptive Software: Landscape and Research Challenges
- ACM Transactions on Autonomous and Adaptive Systems
, 2009
"... Software systems dealing with distributed applications in changing environments normally require human supervision to continue operation in all conditions. These (re-)configuring, troubleshooting, and in general maintenance tasks lead to costly and time-consuming procedures during the operating phas ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
Software systems dealing with distributed applications in changing environments normally require human supervision to continue operation in all conditions. These (re-)configuring, troubleshooting, and in general maintenance tasks lead to costly and time-consuming procedures during the operating phase. These problems are primarily due to the open-loop structure often followed in software development. Therefore, there is a high demand for management complexity reduction, management automation, robustness, and achieving all of the desired quality requirements within a reasonable cost and time range during operation. Self-adaptive software is a response to these demands; it is a closed-loop system with a feedback loop aiming to adjust itself to changes during its operation. These changes may stem from the software system’s self (internal causes e.g., failure) or context (external events e.g., increasing requests from users). Such a system is required to monitor itself and its context, detect significant changes, decide how to react, and act to execute such decisions. These processes depend on adaptation properties (called self-* properties), domain characteristics (context information or models), and preferences of stakeholders. Noting these requirements, it is widely believed that new models and frameworks are needed to design self-adaptive software. This survey article presents a taxonomy, based on concerns of adaptation, i.e., how, what, when and where, towards providing a unified view of this emerging area. Moreover, as adaptive systems are encountered in many disciplines, it is imperative to learn from the theories and models developed in these other areas. This survey article presents a landscape of research in self-adaptive software by highlighting relevant disciplines and some prominent research projects. This landscape helps to identify the underlying research gaps and elaborates on the corresponding challenges.
WComp Middleware for Ubiquitous Computing: Aspects and Composite Event-based Web Services
- Annals of Telecommunications (AoT
, 2009
"... Abstract After a survey of the specific features of ubiquitous computing applications and corresponding middleware requirements, we list the various paradigms used in the main middlewares for ubiquitous computing in the literature. We underline the lack of works introducing the use of the concept of ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
Abstract After a survey of the specific features of ubiquitous computing applications and corresponding middleware requirements, we list the various paradigms used in the main middlewares for ubiquitous computing in the literature. We underline the lack of works introducing the use of the concept of Aspects in middleware dedicated to ubiquitous computing, in spite of them being used for middleware improvement in other domains. Then, we introduce our WComp middleware model, which federates three main paradigms: eventbased Web services, a lightweight component-based approach to design dynamic composite services, andan V. Hourdin is employed by MobileGov since Oct 2008.
Self-adaptation of event-driven component-oriented middleware using Aspects of Assembly
"... Pervasive devices are becoming popular and smaller. Those mobile systems should be able to adapt to changing requirements and execution environments. But it requires the ability to reconfigure deployed codes, which is considerably simplified if applications are component-oriented rather than monolit ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Pervasive devices are becoming popular and smaller. Those mobile systems should be able to adapt to changing requirements and execution environments. But it requires the ability to reconfigure deployed codes, which is considerably simplified if applications are component-oriented rather than monolithic blocks of codes. So, we propose a middleware approach called WComp which federates an event-driven component-oriented approach to compose services for devices. This approach is coupled with adaptation mechanisms dealing with separation of concerns. In such mechanisms, aspects (called Aspects of Assembly) are selected either by the user or by a self-adaptive process and composed by a weaver with logical merging of high-level specifications. The result of the weaver is then projected in terms of pure elementary modifications of components assemblies with respect to blackbox properties of COTS components. Our approach is validated by analyzing the results of different experiments drawn from sets of application configurations randomly generated and by showing its advantages while evaluating the additional costs on the reaction time to context changing.
Adaptive Middleware for Dynamic Component-level Deployment
- Proc. 4 th Workshop on Reflective and Adaptive Middleware Systems
, 2005
"... Utility hosting centers can reduce resource consumption by optimally distributing and load balancing their client's application components. However, current state-of-the-art middleware systems either rely on the application to deploy itself, and/or provide the hosting center with course-grained and ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Utility hosting centers can reduce resource consumption by optimally distributing and load balancing their client's application components. However, current state-of-the-art middleware systems either rely on the application to deploy itself, and/or provide the hosting center with course-grained and static deployment mechanisms. In this paper, we present our adaptive middleware system and API that allows the hosting-center to dynamically exchange component-level deployment generators for all hosted applications. To demonstrate our system's capabilities, we provide experimental results on the speed and effectiveness of dynamic deployment strategies.
Adaptation Hiding Modularity in Scalable Self Adaptation Systems
"... Growth in the complexity of computing systems, in the dynamism of the environments they operate in, and the need for timely adaptations as conditions change, now pose significant challenges for manual systems management and reconfiguration. There is thus increasing interest in systems that sense rel ..."
Abstract
- Add to MetaCart
Growth in the complexity of computing systems, in the dynamism of the environments they operate in, and the need for timely adaptations as conditions change, now pose significant challenges for manual systems management and reconfiguration. There is thus increasing interest in systems that sense relevant conditions and adapt automatically as they change. A problem we have observed in designing such systems is that we lack principles and methods to guide their design. Our hypothesis is that the modern notion of information hiding as a guide to modularization of software artifacts and design processes can be re-interpreted to provide a guide for organizing runtime structures and adaptation dynamics in self-adaptive systems. We argue that such an approach is important to achieving a number of key system properties, including scalability, analyzability, and efficiency. In this paper, we present our approch of modeling, decomposition and synthesis of runtime adaptive systems. To emphasize the extent to which we are exploiting Parnas’s concept as a runtime design principle, we exhibit, in particular, an an initial proof of concept, a mechanical translation of a formal model of his key-word-in-context (KWIC) case study into the bulk of an implementation of KWIC that adapts in a decentralized manner, at runtime, to the design variations envisioned in Parnas’s original paper. Ongoing and future work are focusing on the validation of this idea in the context of larger-scale, decentralized, wireless sensor network systems. 1.
Towards Meta-Adaptation Support with Reusable and Composable Adaptation Components
"... Abstract—Software systems today are increasingly used in changing environments and expected to adapt with variable adaptation concerns. This requirement demands a systematic approach to efficiently construct system global adaptation behaviour according to the dynamic adaptation requirements. This pa ..."
Abstract
- Add to MetaCart
Abstract—Software systems today are increasingly used in changing environments and expected to adapt with variable adaptation concerns. This requirement demands a systematic approach to efficiently construct system global adaptation behaviour according to the dynamic adaptation requirements. This paper presents Transformer – a framework for adaptation behaviour composition support based on reusable and composable adaptation components. Rather than using one adaptation module for all possible contexts, Transformer constructs system global adaptation behaviour by contextually fusing adaptation plans from multiple adaptation components. Explicit conflict resolution is provided to handle possible conflicts raised in the fusion process. In addition to the description of the Transformer framework, this paper also presents its implementation and its application to a video conferencing system. Qualitative analysis and simulation results show that our framework exhibits significant advantage over traditional approaches in light of flexibility and reusability of the adaptation components with little performance overhead. Keywords- Self-adaptive software; Adaptation composition; Conflict resolution; Meta-adaptation.

