Architecture-Based Reliability Prediction with the Palladio Component Model

With the increasing importance of reliability in business and industrial software systems, new techniques of architecture-based reliability engineering are becoming an integral part of the development process. These techniques can assist system architects in evaluating the reliability impact of their design decisions. Architecture-based reliability engineering is only effective if the involved reliability models reflect the interaction and usage of software components and their deployment to potentially unreliable hardware. However, existing approaches either neglect individual impact factors on reliability or hard-code them into formal models, which limits their applicability in component-based development processes. This paper introduces a reliability modeling and prediction technique that considers the relevant architectural factors of software systems by explicitly modeling the system usage profile and execution environment and automatically deriving component usage profiles. The technique offers a UML-like modeling notation whose models are automatically transformed into a formal analytical model. Our work builds upon the Palladio Component Model (PCM), employing novel techniques of information propagation and reliability assessment. We validate our technique with sensitivity analyses and simulation in two case studies. The case studies demonstrate effective support of usage profile analysis and architectural configuration ranking, together with the employment of reliability-improving architecture tactics.

[1]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[2]  Kishor S. Trivedi,et al.  Availability Modeling of SIP Protocol on IBM© WebSphere© , 2008, 2008 14th IEEE Pacific Rim International Symposium on Dependable Computing.

[3]  Swapna S. Gokhale,et al.  Reliability prediction and sensitivity analysis based on software architecture , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[4]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[5]  David S. Rosenblum,et al.  Using Scenarios to Predict the Reliability of Concurrent Component-Based Software Systems , 2005, FASE.

[6]  David S. Rosenblum,et al.  Reliability Analysis of Concurrent Systems Using LTSA , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[7]  Heiko Koziolek,et al.  Parameter dependencies for reusable performance specifications of software components , 2010 .

[8]  Nenad Medvidovic,et al.  Early prediction of software component reliability , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[9]  Ralf Reussner,et al.  Optimising multiple quality criteria of service-oriented software architectures , 2009, QUASOSS '09.

[10]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[11]  Katerina Goseva-Popstojanova,et al.  Large empirical case study of architecture-based software reliability , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[12]  Hany H. Ammar,et al.  A scenario-based reliability analysis approach for component-based software , 2004, IEEE Transactions on Reliability.

[13]  Heiko Koziolek,et al.  Parameter Dependencies for Component Reliability Specifications , 2009, Electron. Notes Theor. Comput. Sci..

[14]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[15]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[16]  Eila Niemelä,et al.  Survey of reliability and availability prediction methods from the viewpoint of software architecture , 2007, Software & Systems Modeling.

[17]  Kishor S. Trivedi,et al.  Quantifying software performance, reliability and security: An architecture-based approach , 2007, J. Syst. Softw..

[18]  Swapna S. Gokhale,et al.  Architecture-Based Software Reliability Analysis: Overview and Limitations , 2007, IEEE Transactions on Dependable and Secure Computing.

[19]  Kishor S. Trivedi,et al.  Accurate and efficient stochastic reliability analysis of composite services using their compact Markov reward model representations , 2007, IEEE International Conference on Services Computing (SCC 2007).

[20]  Xuan Wang,et al.  Adequacy, Accuracy, Scalability, and Uncertainty of Architecture-based Software Reliability: Lessons Learned from Large Empirical Case Studies , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[21]  C. Murray Woodside,et al.  Performance modeling from software components , 2004, WOSP '04.

[22]  Ralf Reussner,et al.  Automatic component protocol adaptation with the CoConut/J tool suite , 2003, Future Gener. Comput. Syst..

[23]  Steffen Becker,et al.  Coupled model transformations for QoS enabled component-based software design , 2010 .

[24]  Heiko Koziolek,et al.  A Large-Scale Industrial Case Study on Architecture-Based Software Reliability Analysis , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[25]  Swapna S. Gokhale,et al.  Heuristic Component Placement for Maximizing Software Reliability , 2008 .

[26]  Sam Malek,et al.  Improving the reliability of mobile software systems through continuous analysis and proactive reconfiguration , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[27]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[28]  Bianca Schroeder,et al.  Disk Failures in the Real World: What Does an MTTF of 1, 000, 000 Hours Mean to You? , 2007, FAST.

[29]  Jesse H. Poore,et al.  Markov analysis of software specifications , 1993, TSEM.

[30]  Ralf H. Reussner,et al.  Performance Prediction for Black-Box Components Using Reengineered Parametric Behaviour Models , 2008, CBSE.

[31]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[32]  Nenad Medvidovic,et al.  A Bayesian Model for Predicting Reliability of Software Systems at the Architectural Level , 2007, QoSA.

[33]  Michael R. Lyu,et al.  Handbook of software reliability engineering , 1996 .

[34]  Hoang Pham Recent advances in reliability and quality in design , 2008 .

[35]  C. Murray Woodside,et al.  Dependability Modeling of Self-healing Client-Server Applications , 2003, WADS.

[36]  Sooyong Park,et al.  Quality-driven architecture development using architectural tactics , 2009, J. Syst. Softw..

[37]  Katerina Goseva-Popstojanova,et al.  Assessing uncertainty in reliability of component-based software systems , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[38]  Lars Grunske,et al.  Architecture-based reliability evaluation under uncertainty , 2011, QoSA-ISARCS '11.

[39]  Jörg Kienzle,et al.  Software Fault Tolerance: An Overview , 2003, Ada-Europe.

[40]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[41]  David Lorge Parnas,et al.  Availability evaluation of hardware/software systems with several recovery procedures , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[42]  Michael R. Lyu,et al.  Effect of code coverage on software reliability measurement , 2001, IEEE Trans. Reliab..

[43]  Bojan Cukic,et al.  Early reliability assessment of UML based software models , 2002, WOSP '02.

[44]  Ming Li,et al.  Study of the impact of hardware fault on software reliability , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[45]  Hany H. Ammar,et al.  Architectural-Level Risk Analysis Using UML , 2003, IEEE Trans. Software Eng..

[46]  Heiko Koziolek,et al.  Towards Automatic Construction of Reusable Prediction Models for Component-Based Performance Engineering , 2008, Software Engineering.

[47]  Katerina Goseva-Popstojanova,et al.  Architecture-based approaches to software reliability prediction , 2003 .

[48]  Swapna S. Gokhale,et al.  Importance measures for modular software with uncertain parameters , 2010 .

[49]  Dai Pan,et al.  Architecture-based software reliability modeling , 2006, J. Syst. Softw..

[50]  Bojan Cukic,et al.  Error propagation in the reliability analysis of component based systems , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[51]  Steffen Becker,et al.  Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms , 2010, WOSP/SIPEW '10.

[52]  Swapna S. Gokhale,et al.  Quantifying the variance in application reliability , 2004, 10th IEEE Pacific Rim International Symposium on Dependable Computing, 2004. Proceedings..

[53]  Ravishankar K. Iyer,et al.  Simulation of software behavior under hardware faults , 1993, FTCS-23 The Twenty-Third International Symposium on Fault-Tolerant Computing.

[54]  Dick Hamlet Tools and experiments supporting a testing-based theory of component composition , 2009, TSEM.

[55]  Kishor S. Trivedi,et al.  Reliability and Performance of Component Based Software Systems with Restarts, Retries, Reboots and Repairs , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[56]  Jens Happe,et al.  State dependence in performance evaluation of component-based software systems , 2010, WOSP/SIPEW '10.

[57]  Heiko Koziolek,et al.  Parameterized Reliability Prediction for Component-Based Software Architectures , 2010, QoSA.

[58]  Ralf H. Reussner,et al.  Reliability prediction for component-based software architectures , 2003, J. Syst. Softw..

[59]  Vincenzo Grassi,et al.  Architecture-Based Reliability Prediction for Service-Oriented Computing , 2004, WADS.

[60]  Kishor S. Trivedi,et al.  Software Faults, Software Aging and Software Rejuvenation( New Development of Software Reliability Engineering) , 2005 .