Methodology for Architectural Level Reliability Risk Analysis Lalitha Krothapalli CSC 532
Risk Risk is a combination of two factors. • Probability of malfunctioning( failure) • Consequence of malfunctioning (severity)
Uses of Risk Assessment • Finding out the complex modules. • Finding out the potentially troublesome modules. • Calculates the effort for testing.
Types of Risks • Availability Risk. • Acceptance Risk. • Performance Risk. • Cost Risk. • Schedule Risk • Reliability Risk.
Architectural level • System is divided in to two parts Components: Like objects, classes or procedures. Connectors: Procedural calls , Client- server protocols
Advantage of Architectural Risk Analysis • Early detection and correction of errors • Cost will be less. • Design and coding are also depend on the complexity of the architecture.
Advantages of simulating the Architecture Model • Obtain dynamic behavior of components and connectors using dynamic metrics. • Study the consequences of failure and severity of that failure.
Background • The proposed methodology is based on the previous work of • Dynamic Metrics • Reliability Modeling and Analysis of Software Architecture
Dynamic Metrics • Used to find out the complexity of each component • Executive components have lot of state changes • Measures the impact on the maintainability, reusability and error proneness • Connector complexity can be calculated by using dynamic coupling metrics
Component Dependency Graphs • Used to find out the reliability analysis at the architectural level. • Represents components, connectors and component, connector reliabilities • Can be used to calculate the execution time of the components and the interaction between the components
Risk Assessment Methodology • Usage of architectural description language for modeling system architecture. • Calculate complexity analysis using simulation of the architecture. • Obtain severity analysis using FEMA and simulation runs. • Developing heuristic risk factors for components and connectors. • Preparing CDGs for calculating risk assessment.
Architectural Modeling • Interaction between the components • Behavior of individual components • Real time object oriented model can be used to simulate the architecture
Complexity Analysis • Component Complexity • Connector complexity
Severity analysis • Identifying failure modes. - failures modes of Individual components. - failure modes of individual connectors. • Conducting Effect Analysis. • Ranking severity. • Catastrophic • Critical • Marginal • Minor.
Develop Reliability Risk Factors for Architecture Elements • Heuristic Factor for a component • Heuristic factor for a connector.
Developing Component Dependency Graphs • Calculate the execution time of each scenario. • Calculate the execution time of each component • Calculate the transition probability from one component to other for each and every scenario. • Predict the complexity factor and severity of the index of the each component.
Reliability Risk Analysis Algorithm • The risk factor of a system can be obtained from aggregating the risk factors of all components and connectors • Breadth of a graph - All risk factors • Depth of a graph - Sequential execution
Conclusion • Applicable to architecture level so the errors can identified and detected at the early stages of life cycle. • Based on dynamic metrics . • Automatable.
References • 1. Volume: 28, Issue: 6, Year: Jun 2002A methodology for architecture-level reliability risk analysisYacoub, S.M.; Ammar, H.H.Page(s): 529-547 • 2. 1 Architectural-level risk analysis using UMLGoseva-Popstojanova, K.; Hassan, A.; Guedem, A.; Abdelmoez, W.; Nassar, D.E.M.; Ammar, H.; Mili, A.;Software Engineering, IEEE Transactions on , Volume: 29 , Issue: 10 , Oct. 2003 Pages:946 – 960 • 3. 7 Risk analysis-a subjective processRedmill, F.;Engineering Management Journal , Volume: 12 , Issue: 2 , April 2002 Pages:91 – 96