Self-adaptive applications are becoming popular since they are able to adapt their behavior based on changes of environments. However, possible faults in these applications may result in runtime failures, which reduce their dependability. We propose a novel approach to improving the dependability of self-adaptive applications. The approach uses a rematching process to make self-adaptive applications consistent with their environments. In the rematching process, consistency failures are automatically detected and fixed at runtime to reduce application failures. The strategy for fixing consistency failures includes backward rematching and forward rematching. Proper strategies can be selected according to rematching ability analysis results for concerned applications. As a result, applications can thus achieve consistency with their environments and failures can be significantly avoided. We developed a tool named IDEA to support this process and the experimental results confirmed the effectiveness of our IDEA.
['Wenhua Yang', 'Chang Xu', 'Linghao Zhang']
IDEA: improving dependability for self-adaptive applications