A Hierarchical Reliability Model of Service-Based Software System
Service-Oriented Architecture (SOA) introduces a new paradigm where data, service, and the service composition logic are decoupled in an open environment. Software systems are built and evolved online by dynamic discovering and binding to the open services accessible through standard protocols. It requires new reliability modeling techniques to facilitate the analysis of dynamic collaborations and to be adaptable to the changes of service composition and system configuration at runtime. The paper proposes a hierarchical reliability model, in which the system reliability is calculated according to the layered superimposition of the reliabilities of data, services, fault-tolerant mechanism and service composition logic. At the basic-service layer, the service reliability is considered in the context of data reliability and service pools with backup alternatives. At the composition layer, a DTMC (Discrete Time Markov Chain) model is created for analyzing system reliability based on the reliability of the constituent services and their execution rate which are decided by the composite control structure and the operation scenarios. The DTMC state transition diagram can be automatically generated by analyzing and transforming the layered superimposition of the application following the transformation rules. The hierarchical modeling framework enables change adaptation at various levels. In addition, the models can be continuously learned and dynamically adjusted by profiling on the runtime monitoring log files.