Our society is increasingly demanding situation-aware smarter software (SASS) systems, whose goals change over time and depend on context situations. A system with such properties must sense their dynamic environment and respond to changes quickly, accurately, and reliably, that is, to be context-aware and self-adaptive. The problem addressed in this dissertation is the dynamic management of context information to improve the relevance of SASS systems' context-aware capabilities with respect to changes in their requirements and execution environment. Therefore, this dissertation focuses on the investigation of dynamic context management and self-adaptivity to: (i) improve context-awareness and exploit context information to enhance quality of user experience in SASS systems, and (ii) improve the dynamic capabilities of self-adaptivity in SASS systems. Context-awareness and self-adaptivity pose significant challenges for the engineering of SASS systems. Regarding context-awareness, the first challenge addressed is the impossibility of fully specifying environmental entities and the corresponding monitoring requirements at design-time. The second challenge arises from the continuous evolution of monitoring requirements due to changes in the system caused by self-adaptation. As a result, context monitoring strategies must be modeled and managed in such a way that they support the addition and deletion of context types and monitoring conditions at runtime. Concerning self-adaptivity, the third challenge is to control the dynamicity of adaptation goals, adaptation mechanisms, and monitoring infrastructures, and the way they affect each other in the adaptation process. This is to preserve the effectiveness of context monitoring requirements and thus self-adaptation. The fourth challenge, related also to self-adaptivity concerns the assessment of adaptation mechanisms at runtime to prevent undesirable system states as a result of self-adaptation.
Agregar etiquetas para Context Management and Self-Adaptivity for Situation-Aware Smart Software Systems = Administración de Contexto y Auto-Adaptación para Sistemas de Software Inteligentes y Sensibles a las Situaciones