Improving self adaptation planning through software architecture based stochastic modeling
We propose a formal automated approach to translate from an ADL to a DTMC.We address issues of today self adaptive systems.We assessed dynamically the impact of each strategy in the system quality.Our approach presents better results than traditional planning algorithms.Our approach presents good scalability and performance results. The ever growing complexity of software systems makes it increasingly challenging to foresee at design time all interactions between a system and its environment.Most self adaptive systems trigger adaptations through operators that are statically configured for specific environment and system conditions. However, in the occurrence of uncertain conditions, self adaptive decisions may not be effective and might lead to a disruption of the desired non functional attributes.To address this, we propose an approach that improves the planning stage by predicting the outcome of each strategy. In detail, we automatically derive a stochastic model from a formal architecture description of the managed system with the changes imposed by each strategy. Such information is used to optimize the self adaptation decisions to fulfill the desired quality goals.To assess the effectiveness of our approach we apply it to a cloud based news system and predicted the reliability for each possible adaptation strategy. The results obtained from our approach are compared to a representative static planning algorithm as well as to an oracle that always makes the ideal decision. Experiments show that our method improves both availability and cost when compared to the static planning algorithm, while being close to the oracle.Our approach may therefore be used to optimize self adaptation planning.
J. Syst. Softw.