Skip to main content
Log in

Survey of reliability and availability prediction methods from the viewpoint of software architecture

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Many future software systems will be distributed across a network, extensively providing different kinds of services for their users. These systems must be highly reliable and provide services when required. Reliability and availability must be engineered into software from the onset of its development, and potential problems must be detected in the early stages, when it is easier and less expensive to implement modifications. The software architecture design phase is the first stage of software development in which it is possible to evaluate how well the quality requirements are being met. For this reason, a method is needed for analyzing software architecture with respect to reliability and availability. In this paper, we define a framework for comparing reliability and availability analysis methods from the viewpoint of software architecture. Our contribution is the comparison of the existing analysis methods and techniques that can be used for reliability and availability prediction at the architectural level. The objective is to discover which methods are suitable for the reliability and availability prediction of today’s complex systems, what are the shortcomings of the methods, and which research activities need to be conducted in order to overcome these identified shortcomings. The comparison reveals that none of the existing methods entirely fulfill the requirements that are defined in the framework. The comparison framework also defines the characteristics required of new reliability and availability analysis methods. Additionally, the framework is a valuable tool for selecting the best suitable method for architecture analysis. Furthermore, the framework can be extended and used for other evaluation methods as well.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Purhonen A., Niemelä E. and Matinlassi M. (2004). Viewpoints of DSP software and service architectures. J. Systems Softw. 69(1–2): 57–73

    Article  Google Scholar 

  2. Reussner R.H., Schmidt H.W. and Poernomo I.H. (2003). Reliability prediction for component-based software architectures. J. Systems Softw. 66(3): 241–252

    Article  Google Scholar 

  3. Avizienis, A., Laprie, J.C., Randell, B.: Fundamental Concepts of Dependability. LAAS-CNRS. p. 21 (2001)

  4. Matinlassi, M., Niemelä, E.: The impact of maintainability on component-based software systems. In: Proceedings of the 29th Euromicro Conference. Antalya, Turkey (2003)

  5. Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-functional Requirements in Software Engineering. Kluwer, Boston, Dordrecht 439 p (2000)

  6. In, H., Boehm, B., Rodgers, T., Deutsch, M.: Applying WinWin to quality requirements: a case study. In: Proceedings of the 23rd International Conference on Software Engineering. Toronto, Canada (2001)

  7. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading, 452 p (1998)

  8. Jazayeri, M., Ran, A., van der Linden, F.: Software Architecture for Product Families. Addison-Wesley, Boston, 257 p (2000)

  9. Jayaratna, N.: Understanding and Evaluating Methodologies: NIMSAD: a Systematic Framework. McGraw-Hill, London, 259 p (1994)

  10. Buschmann, F., et al.: Pattern Oriented Software Architecture. A System of Patterns. John Wiley, New York, 467 p (1996)

  11. Bosch, J.: Design and use of Software Aarchitectures: Adopting and Evolving a Product-line Approach. Addison-Wesley, Harlow, 354 p (2000)

  12. Klein M. (1999). Attribute-Based Architecture Styles. in WICSA1 First Working IFIP Conference on Software Architecture. San Antonio, USA

    Google Scholar 

  13. Garlan D., Shaw M. An introduction to software architecture. In: Advances in Software Engineering and Knowledge Engineering. World Scientific, Singapore, (1993)

  14. Brown, A.: An Introduction to Model Driven Architecture, Part I: MDA and Today’s Systems (2004)

  15. OMG, Unified Modeling Language (UML), version 1.5. Object Management Group (2002)

  16. OMG, Unified Modeling Language (UML) 2.0 Specification. Object Management Group (2003)

  17. Barry, D.K.: Web Services and Service-Oriented Architectures: The Savvy Manager’s Guide. Morgan Kaufmann, 200 p (2003)

  18. IEEE, IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software-Intensive Systems. Institute of Electrical and Electronics Engineers Inc (2000)

  19. Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading, 397 p (1999)

  20. Kruchten P. (1995). The 4+1 view model of architecture. IEEE Softw. 12(6): 42–50

    Article  Google Scholar 

  21. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, 608 p (2002)

  22. Shooman, M.: Structural models for software reliability prediction. In: Proceedings of the 2nd International Conference on Software Engineering (1976)

  23. McCall, J., et al.: Methodology for Software Reliability Prediction. Rome Labs Technical Report, RADC-TR-87-171, Vols I & II (1987)

  24. Smidts, C., Li, M.: Software Engineering Measures for Predicting Software Reliability in Safety Critical Digital Systems. Nuclear Engineering Department, Technical Report, University of Maryland (2000)

  25. Goseva-Popstojanova K. and Trivedi K.S. (2001). Architecture-based approach to reliability assessment of software systems. Perform. Evaluat. 45(2–3): 179–204

    Article  MATH  Google Scholar 

  26. Littlewood B. (1979). Software reliability model for modular program structure. IEEE Trans. Reliability 28(3): 241–246

    Article  MATH  Google Scholar 

  27. Douglass, B.P.: Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison Wesley Professional, 800 p (1999)

  28. Kazman R., Abowd G., Bass L. and Clements P. (1996). Scenario-based analysis of software architecture. IEEE Softw. 13(6): 47–55

    Article  Google Scholar 

  29. Lassing, N., Rijsenbrij, D., van Vilet, H.: On software architecture analysis of flexibility, complexity of changes: size isn’t everything. In: Proceedings of the 2nd Nordic Software Architecture Workshop (1999)

  30. Molter, G.: Integrating SAAM in Domain-centric and Reuse-based development process. In: Proceedings of the 2nd Nordic Workshop on Software Architecture (1999)

  31. Kazman, R., et al.: The architecture tradeoff analysis method. In: The 4th IEEE International Conference on Engineering of Complex Computer Systems (1998)

  32. Cheung R.C. (1980). A user-oriented software reliability model. IEEE Trans. Softw. Eng. 6(2): 118–125

    Article  MathSciNet  Google Scholar 

  33. Musa J.D. (1993). Operational profiles in software-reliability engineering. IEEE Softw. 10(2): 14–32

    Article  Google Scholar 

  34. Runeson, P., Regnell, B.: Derivation of an integrated operational profile and use case model. In: Proceedings. The Ninth International Symposium on Software Reliability Engineering (1998)

  35. Whittaker J.A. and Thomason M.G. (1994). A Markov chain model for statistical software testing. IEEE Trans. Softw. Eng. 20(10): 812–824

    Article  Google Scholar 

  36. Jacobson, I.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, ACM Press, 400 p (1992)

  37. Rodrigues, G.N., Rosenblum, D.S., Uchitel, S.: Using scenarios to predict the reliability of concurrent component-based software systems. In: 8th International Conference on Fundamental Approaches to Software Engineering, FASE 2005. Springer Lecture Notes in Computer Science, Edinburgh, (2005)

  38. Thomason, M.G., Whittaker, J.A.: Rare failure-state in a Markov chain model for software reliability. In: Proceedings of the 10th International Symposium on Software Reliability Engineering. IEEE, Boca Raton, (1999)

  39. Gokhale, S., Trivedi, K.S.: Reliability prediction and sensitivity analysis based on software architecture. In: Proceedings of the 3rd International Symposium on Software Reliability Engineering (ISSRE 02). IEEE Computer Society, Annapolis, (2002)

  40. Yacoub, S., Cukic, B., Ammar, H.: Scenario-based reliability analysis of component-based software. In: Proceedings of 10th International Symposium on Software Reliability Engineering (ISSRE’99) (1999)

  41. Krishnamurthy, S., Mathur, A.P.: On the estimation of reliability of a software system using reliabilities of its components. In: Proceedings of the 8th International Symposium on Sotfware Reliability Engineering (ISSRE97) (1997)

  42. Gokhale, S.S., Trivedi, K.S.: Dependency characterization in path-based approaches to architecture-based software reliability prediction. In: Proceedings of the IEEE Workshop on Application-Specific Software Engineering Technology, ASSET-98 (1998)

  43. Gokhale, S.S., Lyu, M.R., Trivedi, K.S.: Reliability simulation of component-based software systems. In: Proceeding of the 9th International Software Reliability Engineering (1998)

  44. Leangsuksun, C., Song, H., Shen, L.: Reliability modeling using UML. In: Proceeding of the 2003 International Conference on Software Engineering Research and Practice. Las Vegas (2003)

  45. Singh, H., et al.: A Bayesian approach to reliability prediction and assessment of component based systems. In: Proceedings of 12th International Symposium on Software Reliability Engineering (ISSRE’01). Hong Kong (2001)

  46. Cortellessa, V., Singh, H., Cukic, B.: Early reliability assessment of UML based software models. In: Third International Workshop on Software and Performance. Rome (2002)

  47. OMG, UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms. Revised submission, Object Management Group (2003)

  48. Cortellessa, V., Pompei, A.: Towards a UML Profile for QoS: A Contribution in the Reliability Domain. In: Proceedings of the Fourth International Workshop on Software and Performance. ACM Press (2004)

  49. Rodrigues, G.N., Roberts, G., Emmerich, W., Skene, J.: Reliability support for the model driven architecture. In: Proceedings of the ICSE Workshop on Software Architecture for Dependable Systems. Portland (2003)

  50. OMG, UML Profile for Schedulability, Performance, and Time Specification. Object Management Group (2003)

  51. Greenfield, J.: UML Profile for EJB, in Technical report. Rational Software Corp (2001)

  52. Rodrigues, G.N.: A model driven approach for software systems reliability. In: 26th International Conference on Software Engineering (ICSE’04). Edinburgh (2004)

  53. Zarras, A., Issarny, V.: Assessing software reliability at the architectural level. In: Proceedings of the 4th ACM SIGSOFT International Software Architecture Workshop. ACM, Ireland (2000)

  54. Grassi, V.: Architecture-based dependability prediction for service-oriented computing. In: Proceedings of the Twin Workshops on Architecting Dependable Systems, International Conference on Software Engineering (ICSE 2004). Springer, Edinburgh, (2004)

  55. Wang, W.-L., Wu, Y., Chen, M.-H.: An architecture-based software reliability model. In: Pacific Rim International Symposium on Dependable Computing. IEEE, Hong Kong (1999)

  56. Leangsuksun, C., et al.: Availability prediction and modeling of high availability OSCAR cluster. In: IEEE International Conference on Cluster Computing. Hong Kong (2003)

  57. Laprie J.C. and Kanoun K. (1992). X-ware reliability and availability modeling. IEEE Trans. Softw. Eng. 18(2): 130–147

    Article  Google Scholar 

  58. Ledoux J. (1999). Availability modeling of modular software. IEEE Trans. Reliability 48(2): 159–168

    Article  MathSciNet  Google Scholar 

  59. Bachmann, F., Bass, L., Klein, M.: Moving from quality attribute requirements to architectural decisions. In: Second International Software Requirements to Architectures, STRAW’03. Portland, USA (2003)

  60. Fugua N.B. (2003). The applicability of Markov analysis methods to reliability, maintainability and safety. Reliability Anal. Center START Sheet 10(2): 8

    Google Scholar 

  61. Dobrica, L., Niemelä, E.: Using UML notation extensions to model variability in product line architectures. In: ICSE, International Workshop on Software Variability Management. Portland (2003)

  62. Everett, W.: Software component reliability analysis. In: IEEE Symposium on Application—Specific Systems and Software Engineering and Technology. Richardson (1999)

  63. Voas J.M. (1998). Certifying off-the-shelf software components. Computer 31(6): 53–59

    Article  Google Scholar 

  64. McGregor, J.D., Stafford, J.A., Cho, I.-H.: Measuring component reliability. In: Proceedings of the 6th ICSE Workshop on Component-Based Software Engineering. IEEE, Portland (2003)

  65. Roshandel, R., Medvidovic, N.: Toward architecture-based reliability estimation. In: Proceedings of the Twin Workshops on Architecting Dependable Systems, International Conference on Software Engineering (ICSE 2004). Edinburgh (2004)

  66. ISO/IEC, Software Engineering - Product Quality. Part 1: Quality Model (2001)

  67. Ozekici S. and Soyer R. (2003). Reliability of software with an operational profile. Eur. J. Oper. Res. 149(Issue 2): 459–474

    Article  MathSciNet  Google Scholar 

  68. Elbaum, S., Narla, S.: A methodology for operational profile refinement. In: Proceedings of the Annual Reliability and Maintainability Symposium (2001)

  69. Gittens, M., Lutfiyya, H., Bauer, M.: An extended operational profile model. In: 15th International Symposium on Software Reliability Engineering, ISSRE 2004 (2004)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anne Immonen.

Additional information

Communicated by Oystein Haugen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Immonen, A., Niemelä, E. Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw Syst Model 7, 49–65 (2008). https://doi.org/10.1007/s10270-006-0040-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0040-x

Keywords

Navigation