QoS-CARE: A Reliable System for Preserving QoS Contracts through Dynamic Reconfiguration

Gabriel Tamura 1, 2
1 ADAM - Adaptive Distributed Applications and Middleware
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Ubiquitous software services are increasingly pervading the daily activities of common people. In turn, this situation is increasing the users' demands for highly dynamic capabilities of these services to satisfy context-dependent requirements. In the last years, the engineering of self-adaptive software has demonstrated its support for these capabilities and has achieved significant advances. However, self-adaptation theories, models and mechanisms are further required to be trustworthy, extensible and re-usable in order to be incorporated as common assets of the software engineering design process, when appropriate. Most of the existing approaches focus only on one kind of these assets, usually an ad-hoc mechanism, and moreover, the community lacks standardized properties to evaluate these mechanisms in comparable ways. To address these shortcomings, in this dissertation we develop and implement a formal model to preserve Quality of Service (QoS) contracts in component-based software applications through dynamic reconfiguration. Our contribution is twofold. First, we provide a comprehensive solution strategy that ranges from a formal foundation that concedes trustworthiness to our proposal, to an experimental evaluation that grants practical feasibility to our work. Second, we identify and define properties inherent to self-adaptive software systems that allow comparable assessment on them. In our first contribution we identify four elements: the formal model, the architecture of the proposal, its implementation, and its experimental evaluation. Our formal model is based on the feedback-loop model to achieve reconfiguration autonomy. To obtain reliability, we build on a typed and attributed graph transformation theory to define component-based application structures, QoS contracts and reconfiguration rules. These definitions are typing structures that guarantee conformance of the corresponding instances. We specify the dynamic reconfiguration operation with these operations. Our approach benefits from graph transformation theorems to guarantee that the reconfiguration process is terminating, atomic, and verifiable on the component-based well-formation rules. To cope with context unpredictability, we conceive a finite state machine that manages states of both, contract fulfillment, and also unfulfillment. We devise an architecture to realize our formal model, which creates and maintains a graph representation of the managed application and the QoS contracts at runtime. Furthermore, this architecture bridges the graph representation structure with the actual running application structure through a pair of functions that maintain the coherence between these two structures. We encode this architecture as an SCA layer for dynamic reconfiguration in an implementation, which we deploy and execute in FraSCAti, a multi-scale SCA middleware. We undertake an experimental evaluation of our approach by applying a benchmark on two plausible case studies. From the obtained results we conclude on the practical feasibility of our proposal. In the second contribution, we aim at filling-in the existing gap in the assessment of the MAPE-K (Monitor, Analyzer, Planner, Executor and shared Knowledge) loop model, which was proposed with no standard properties to compare among its different realizations. Based on an extensive survey of research papers, we characterized common properties inherent to self-adaptive software and proposed for them suitable mappings to metrics. Among the most important properties are the atomic adaptation, the settling-time, the termination, the structural consistency, the robustness, the resource overshoot and the stability. For the validation of our proposal, we analyzed and verified the corresponding conditions for the first five of these properties. With our first contribution, our aim is to advance the software engineering for self-adaptive software systems by providing a comprehensive solution strategy built on a formal foundation. With our second contribution we provide the basis to standardize self-adaptive software properties, useful for their assessment.
Document type :
Theses
Complete list of metadatas

Cited literature [120 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-00713345
Contributor : Gabriel Tamura <>
Submitted on : Tuesday, July 17, 2012 - 6:30:27 AM
Last modification on : Thursday, February 21, 2019 - 10:52:48 AM
Long-term archiving on: Thursday, October 18, 2012 - 2:20:47 AM

Identifiers

  • HAL Id : tel-00713345, version 2

Collections

Citation

Gabriel Tamura. QoS-CARE: A Reliable System for Preserving QoS Contracts through Dynamic Reconfiguration. Software Engineering [cs.SE]. Université des Sciences et Technologie de Lille - Lille I; Universidad de Los Andes, 2012. English. ⟨tel-00713345v2⟩

Share

Metrics

Record views

724

Files downloads

673