The main challenge of this Thesis is to reliably preserve quality of service (QoS) contracts in component-based software systems under changing conditions of system execution. In response to this challenge, the presented contribution is twofold. The first is a model for component-based software applications, QoS contracts and reconfiguration rules as typed attributed graphs, and the definition of QoS-contracts semantics as state machines in which transitions are performed as software reconfigurations. Thus, we effectively use (formal) models at runtime to reliably reconfigure software applications for preserving its QoS contracts. More specifically, we show the feasibility of exploiting design patterns at runtime in reconfiguration loops to fulfill expected QoS levels associated to specific context conditions. We realize this formal model through a component-based architecture and implementation that can be used as an additional layer of SCA middleware stacks to preserve the QoS contracts of executed applications. The second contribution is the characterization of adaptation properties to evaluate self-adaptive software systems in a standardized and comparable way. By its own nature, the adaptation mechanisms of self-adaptive software systems are essentially feedback loops as defined in control theory. Thus, it results reasonable to evaluate them using the standard properties used to evaluate feedback loops, re-interpreting these properties for the software domain. We define the relibility of our formal model realization in terms of a subset of the characterized adaptation properties, and we show that these properties are guaranteed in this realization.
Agregar etiquetas para QoS-CARE: A Reliable System for Preserving QoS Contracts through Dynamic Reconfiguration = QoS-CARE: Un Sistema Confiable para Preservar Contratos de QoS a través de Reconfiguración Dinámica