Formally Modeling and Analyzing the Reliability of Cloud Applications
Cloud computing has become an important, useful paradigm for building applications with cloud services. However, cloud services exist in heterogeneous environments on the Internet. It is challenging to guarantee the reliability of cloud applications. Although there are efforts studying cloud and grid service reliability, very few have considered the modeling and analysis of the reliability of cloud applications. To address this emerging, important problem, we propose the first systematic approach that considers both cloud application elements and their running environment so as to faithfully model the dynamics of cloud computing. First, we present a formal description language to model the different components of a cloud application, and use it to analyze the static and dynamic factors affecting the reliability of cloud applications. Second, we propose reliability assurance strategies to ensure that cloud applications dynamically meet their required reliability. Third, Computation Tree Logic (CTL) is used to convert the reliability assurance strategy into the CTL formulas. We present operational semantics and related theories of Petri nets for establishing the correctness of our proposed method. Finally, a series of simulations are performed to evaluate the efficiency of our proposed approach.