# Presentation: 149117

## 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 Use Case Diagram

- Annotated Sequence Diagram

## UML annotations (continued)

- Estimate of the a failure probability ***ij *of the component *i in the *scenario* j* :	***ij**=Prob(failure of Cij)=1-(1- ****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.