Integrating predictive analysis in self-adaptive pervasive systems
Intégration de l’analyse prédictive dans des systèmes auto-adaptatifs
Abstract
In this thesis we proposed a proactive self-adaptation by integrating predictive analysis into two phases of the software process. At design time, we propose a predictive modeling process, which includes the activities: define goals, collect data, select model structure, prepare data, build candidate predictive models, training, testing and cross-validation of the candidate models and selection of the ''best'' models based on a measure of model goodness. At runtime, we consume the predictions from the selected predictive models using the running system actual data. Depending on the input data and the time allowed for learning algorithms, we argue that the software system can foresee future possible input variables of the system and adapt proactively in order to accomplish middle and long term goals and requirements.
Au cours des dernières années, il y a un intérêt croissant pour les systèmes logiciels capables de faire face à la dynamique des environnements en constante évolution. Actuellement, les systèmes auto-adaptatifs sont nécessaires pour l’adaptation dynamique à des situations nouvelles en maximisant performances et disponibilité. Les systèmes ubiquitaires et pervasifs fonctionnent dans des environnements complexes et hétérogènes et utilisent des dispositifs à ressources limitées où des événements peuvent compromettre la qualité du système. En conséquence, il est souhaitable de s’appuyer sur des mécanismes d’adaptation du système en fonction des événements se produisant dans le contexte d’exécution. En particulier, la communauté du génie logiciel pour les systèmes auto-adaptatif (Software Engineering for Self-Adaptive Systems - SEAMS) s’efforce d’atteindre un ensemble de propriétés d’autogestion dans les systèmes informatiques. Ces propriétés d’autogestion comprennent les propriétés dites self-configuring, self-healing, self-optimizing et self-protecting. Afin de parvenir à l’autogestion, le système logiciel met en œuvre un mécanisme de boucle de commande autonome nommé boucle MAPE-K [78]. La boucle MAPE-K est le paradigme de référence pour concevoir un logiciel auto-adaptatif dans le contexte de l’informatique autonome. Cet modèle se compose de capteurs et d’effecteurs ainsi que quatre activités clés : Monitor, Analyze, Plan et Execute, complétées d’une base de connaissance appelée Knowledge, qui permet le passage des informations entre les autres activités [78]. L’étude de la littérature récente sur le sujet [109, 71] montre que l’adaptation dynamique est généralement effectuée de manière réactive, et que dans ce cas les systèmes logiciels ne sont pas en mesure d’anticiper des situations problématiques récurrentes. Dans certaines situations, cela pourrait conduire à des surcoûts inutiles ou des indisponibilités temporaires de ressources du système. En revanche, une approche proactive n’est pas simplement agir en réponse à des événements de l’environnement, mais a un comportement déterminé par un but en prenant par anticipation des initiatives pour améliorer la performance du système ou la qualité de service.
Origin | Version validated by the jury (STAR) |
---|
Loading...