150 likes | 310 Vues
A Bayesian Approach to Reliability Predication of Component Based Systems. H. Singh, V. Cortellessa, B. Cukic, E. Gunel, V. Bharadwaj †Department of Statistics ‡Department of Computer Science and Electrical Engineering West Virginia University
E N D
A Bayesian Approach to Reliability Predication of Component Based Systems H. Singh, V. Cortellessa, B. Cukic, E. Gunel, V. Bharadwaj †Department of Statistics ‡Department of Computer Science and Electrical Engineering West Virginia University {singh,gunel}@stat.wvu.edu, {vittorio,cukic,vijay}@csee.wvu.edu
Introduction • Utilization of off-the-shelf software components for rapid application development. • Such applications are expected to have high reliability as a result of deploying trusted components. • The claims of high reliability need further investigation.
Goals • Probabilistic technique for reliability analysis applicable throughout the development life-cycle. • Integration with the information available as the annotations of UML. • The ability to study the sensitivity of the application reliability to reliabilities of components and interfaces within the system, thus allowing the system architect to select components with suitable reliability characteristics in cases when alternative reusable assets are available.
SW Reliability and UML • The UML notation provides several diagrams to capture software features. • No standard software process is required to be used with the UML notation. • The UML diagrams are syntactically related. • Certain types of analyses, such as cross syntax checking can be performed at the design time. • The graphical representation of the UML diagrams • UML is open to notational extensions • The potential for developing annotations of UML diagrams. These annotations enrich the software representation and support for software V&V throughout the life-cycle.
Reliability Assessment Process • Provide annotations for application’s UML diagram(s) • Use these annotations as inputs to the algorithm • Design level analysis: • Algorithm predicts expected system reliability from provided component reliabilities • Algorithm computes system sensibility analysis (what if I provide a more reliable component here?) • Reliability certification analysis: • Corroborate expected system reliability by random system level testing.
UML annotations Annotated Sequence Diagram Annotated Use Case Diagram
UML annotations (continued) • Estimate of the a failure probability q ij of the component i in the scenario j :q ij=Prob(failure of Cij)=1-(1- q i )bpij • The equation is feasible under the following assumptions: • Failure Independence : A component’s failure probability does not depend on the failure probabilities of the other components. • Regularity : A component’s failure probability is the same across all the busy periods of a component. • Comp. Reliabilities converted to BETA distributions
Design Level Analysis: An Example A WEB-based transaction processing system (WBTPS) Use cases: Local Operations Remote Read Remote Write
Design Level Analysis: An Example Annotated SD for “remote write” use case
From Annotations to Reliability Component Reliability information record
Component Reliabilities Component Failure Probabilities as PDFs (Beta Distributions)
Reliability Prediction Plot of Prior Probability Density Function of the System Failure Probability S fitted to the normalized histogram from simulation observations
Sensitivity Analysis • Increase / Decrease reliabilities of individual components and observe the impact on overall system reliability.
Summary • New framework for reliability prediction in component based systems • Fully integrated with UML. • The first reliability algorithm that integrates reliability prediction (design level analysis) with reliability certification (system integration and analysis task) • Limitations: • Still rather simplistic (assumes failure independence, the same as all the other similar algorithms do) • Unsupported by a tool (currently under the development).
Further Work • Remove failure independence assumption • Extend the level of detail in UML annotations • Continue building a tool • Reliability optimization to replace sensitivity analysis (given cost constraints) • Integrate with Risk Analysis (through Fault Trees) • Actively search for a realistic application in NASA.