Abstract
The increasing complexity of software systems in embedded systems or industrial business domains has led to the importance of reliability analysis for current systems. Reliability analysis has become a crucial part of the system development life cycle, and a new approach is needed to enable an early analysis for reliability estimation, especially for the system under design. However, the existing approach neglects the correlation between system resource and system task for estimating system reliability. This subsequently restricts accuracy of the estimation as well as causing difficulties in identifying critical resources and tasks during the design phase. This paper proposes a model-driven system reliability estimation using a scenario-based approach to estimate system reliability and identify its critical resources and system tasks during the design phase. This model is based on the PerFAM model, which can specifically view timing failures through a system scenario. The proposed approach is validated by the application of a sensitivity analysis into one case study. The case study demonstrates an essential relationship between system reliability, as well as both resources and tasks, which ultimately becomes the integral part for a system reliability estimation assessment.
















Similar content being viewed by others
References
Amelunxen, C. et al. (2006). MOFLON: A standard-compliant metamodeling framework with graph transformations. In A. Rensink & J. Warmer (Eds.), Model driven architecture—Foundations and applications, ECMDA-FA, (Vol. 4066, pp. 361–375). Heidelberg: LNCS.
Baier, C., et al. (2010). Performability assessment by model checking of Markov reward models. Formal Methods in System Design, 36(1), 1–36.
Balsamo, S., et al. (2004). Model-based performance prediction in software development: A survey. IEEE Transactions on Software Engineering, 30(5), 295–310.
Becker, S., Koziolek, H., & Reussner, R. (2009). The Palladio component model for model-driven performance prediction. The Journal of Systems & Software, 82(1), 3–22. doi:10.1016/j.jss.2008.03.066.
Bernardi, S., Campos, J., & Merseguer, J. (2011a). Timing-failure risk assessment of UML design using Time Petri Net bound techniques. Industrial Informatics, IEEE Transactions on, 7(1), 90–104.
Bernardi, S., Merseguer, J., & Petriu, D. C. (2011b). A dependability profile within MARTE. Software & Systems Modeling, 10(3), 313–336.
Brosch, F., Koziolek, H., Buhnova, B., & Reussner, R. (2012). Architecture-based reliability prediction with the palladio component model. IEEE Transactions on Software Engineering, 38(6), 1319–1339.
Cortellessa, V., Di Marco, A., & Inverardi, P. (2007). Integrating performance and reliability analysis in a non-functional MDA framework. In M. B. Dwyer & A. Lopes (Eds.), Fundamental Approaches to Software Engineering, FASE 2007 (Vol. 4422, pp. 57–71). Heidelberg: LNCS.
Distefano, S., Scarpa, M., & Puliafito, A. (2011). From UML to Petri nets: The PCM-based methodology. IEEE Transactions on Software Engineering, 37(1), 65–79.
Eusgeld, I., & Freiling, F. (2008). Introduction to dependability metrics. In I. Eusgeld, F. C. Freiling, & R. Reussner (Eds.), Dependability metrics (Vol. 4909, pp. 1–4). Heidelberg: LNCS.
Garousi, V., Briand, L. C., & Labiche, Y. (2009). A UML-based quantitative framework for early prediction of resource usage and load in distributed real-time systems. Software & Systems Modeling, 8(2), 275–302.
Gokhale, S. (2007). Architecture-based software reliability analysis: Overview and limitations. IEEE Transactions on Dependable and Secure Computing, 4(1), 32–40.
Gokhale, S. S., & Trivedi, K. S. (2006). Analytical models for architecture-based software reliability prediction: A unification framework. IEEE Transactions on Reliability, 55(4), 578–590.
Gokhale, S. S., et al. (2004). An analytical approach to architecture-based software performance and reliability prediction. Performance Evaluation, 58(4), 391–412.
Goseva-Popstojanova, K., & Kamavaram, S. (2003). Assessing uncertainty in reliability of component-based software systems. Software reliability engineering, 2003. ISSRE 2003. 14th international symposium on. pp. 307–320.
Goseva-Popstojanova, K., & Trivedi, K. S. (2001). Architecture-based approach to reliability assessment of software systems. Performance Evaluation, 45(2–3), 179–204.
Grassi, V., Mirandola, R., & Sabetta, A. (2007). Filling the gap between design and performance/reliability models of component-based systems: A model-driven approach. Journal of Systems and Software, 80(4), 528–558.
Hong, D., & Gu, T. (2011). A UML model based white box reliability prediction to identify unreliable components. Secure software integration and reliability improvement companion (SSIRI-C), 2011 5th international conference on, vol., no., pp. 152–159.
Immonen, A., & Niemelä, E. (2007). Survey of reliability and availability prediction methods from the viewpoint of software architecture. Software & Systems Modeling, 7(1), 49–65.
Isa, M. A., & Jawawi, D. N. A. (2011). An intermediate metamodel for failure-based behavior of performance and reliability. Software engineering (MySEC), 2011 5th Malaysian conference in, vol., no., pp. 234–239.
Isa, M. A., Jawawi, D. N. A., & Zaki, M. Z. M. (2013). A formal semantic for scenario-based model using algebraic semantics framework for MOF. International Journal of Software Engineering and Its Applications, 7(1), 107–122.
ISO9126-2 (2001) Software engineering—Product quality: Part 2: External metrics. ISO/IEC.
Jawawi, D. N. A., Sabil, S., Mamat, R., Zaki, M. Z. M., Talab, M. A. S., Mohamad, R., Hamdan, N. M., & Kamal, K. (2011). A robotic wheelchair component-based software development. Book chapter for Mobile Robots/Book 2, 2011 (pp. 102–126). Intech Open Access Publisher, ISBN 978-953-307-842-7.
Jedlicka, M., Moravcik, O., Schreiber, P., & Tanuska, P. (2011). UML support for reliability evaluation. In 2009 International symposium on computing, communication, and control (ISCCC 2009) Proceedings of CSIT vol.1, pp. 258–261.
Jeske, D. (2005). Some successful approaches to software reliability modeling in industry. Journal of Systems and Software, 74(1), 85–99.
Koziolek, H., Schlich, B., & Bilich, C. (2010). A large-scale industrial case study on architecture-based software reliability analysis. In 2010 IEEE 21st international symposium on software reliability engineering, pp. 279–288.
Krka, I., Edwards, G., Cheung, L., Golubchik, L., & Medvidovic, N. (2009). A comprehensive exploration of challenges in architecture-based reliability estimation. In Architecting dependable systems VI, Lecture notes in computer science (pp. 202–227). Berlin: Springer.
Lauer, C., German, R., & Pollmer, J. (2011). Fault tree synthesis from UML models for reliability analysis at early design stages. ACM SIGSOFT Software Engineering Notes, 36(1), 1–8.
Liu, C. L., & Layland, J. W. (1973). Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM (JACM), 20(1), 46–61.
Lyu, M. R. (2007). Software reliability engineering: A roadmap. In 2007 future of software engineering. IEEE Computer Society (pp. 153–170).
Mohamed, A., & Zulkernine, M. (2010). A taxonomy of software architecture-based reliability efforts. In Proceedings of the 2010 ICSE workshop on sharing and reusing architectural knowledge—SHARK’10, pp. 44–51.
Musa, J. (1993). Operational profiles in software reliability engineering. Software, IEEE, 10(2), 14–32.
Petriu, D. B., & Woodside, M. (2006). An intermediate metamodel with scenarios and resources for generating performance models from UML designs. Software & Systems Modeling, 6(2), 163–184.
Pietrantuono, R., Russo, S., & Trivedi, K. S. (2010). Software reliability and testing time allocation: An architecture-based approach. IEEE Transactions on Software Engineering, 36(3), 323–337.
Popic, P., Desovski, D., Abdelmoez, W., & Cukic, B. (2005). Error propagation in the reliability analysis of component based systems. In Software reliability engineering, 2005. ISSRE 2005. 16th IEEE international symposium on (pp. 10-pp). IEEE.
Rivers, J. A., & Kudva, P. (2009). Reliability challenges and system performance at the architecture level. IEEE Design and Test of Computers, 26(6), 62–73.
Rodrigues, G., Rosenblum, D., & Uchitel, S. (2005). Using scenarios to predict the reliability of concurrent component-based software systems. In M. Cerioli (Ed.), Fundamental Approaches to Software Engineering, FASE 2005 (Vol. 3442, pp. 111–126). Heidelberg: LNCS.
Salfner, F., Lenk, M., & Malek, M. (2010). A survey of online failure prediction methods. ACM Computing Surveys (CSUR), 42(3), 10.
Schneidewind, N. F. (2009). Analysis of object-oriented software reliability model development. Innovations in Systems and Software Engineering, 5(4), 243–253.
Schürr, A., & Klar, F. (2008). 15 years of triple graph grammars. Graph Transformations, 5214, 411–425.
Sharma, V., & Trivedi, K. (2006). Reliability and performance of component based software systems with restarts, retries, reboots and repairs. Software reliability engineering, 2006. ISSRE’06. 17th international symposium, pp. 299–310.
Shousha, M., Briand, L. C., & Labiche, Y. (2012). A uml/marte model analysis method for uncovering scenarios leading to starvation and deadlocks in concurrent systems. IEEE Transactions on Software Engineering, 38(2), 354–374.
Singh, L. K. (2011). Software reliability early prediction in architectural design phase: Overview and limitations. Journal of Software Engineering and Applications, 04(03), 181–186.
Su, X., Liu, H., Wu, Z., Yang, X., & Zuo, D. (2011). SA based software deployment reliability estimation considering component dependence. Journal of Electronics (China), 28(1), 118–125.
Szulman, P. (2009). WCET analysis of data dependent, component oriented, embedded software systems. Electronic Notes in Theoretical Computer Science, 203(7), 71–85.
Valis, D., & Bartlett, L. (2010). The failure phenomenon: A critique. International Journal of Performance Engineering, 6(2), 181–190.
Whittaker, J. A., & Poore, J. H. (1993). Markov analysis of software specifications. ACM Transactions on Software Engineering and Methodology, 2(1), 93–106.
Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., et al. (2008). The worst-case execution-time problem—Overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems (TECS), 7(3), 36.
Williams, B. J., & Carver, J. C. (2010). Characterizing software architecture changes: A systematic review. Information and Software Technology, 52(1), 31–51.
Yacoub, S. M., & Ammar, Hany H. (2002). A methodology for architecture-level reliability risk analysis. IEEE Transactions on Software EngineeringI, 28(6), 529–547.
Yacoub, S., Cukic, B., & Ammar, H. H. (2004). A scenario-based reliability analysis approach for component-based software. IEEE Transactions on Reliability, 53(4), 465–480.
Yang, J., Huang, G., Zhu, W., Cui, X., & Mei, H. (2009). Quality attribute tradeoff through adaptive architectures at runtime. Journal of Systems and Software, 82(2), 319–332.
Zio, E. (2009). Reliability engineering: Old problems and new challenges. Reliability Engineering & System Safety, 94(2), 125–141.
Acknowledgments
We would like to thank the Malaysia Ministry of Higher Education for sponsoring this research.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Isa, M.A., Jawawi, D.N.A. & Zaki, M.Z.M. Model-driven estimation approach for system reliability using integrated tasks and resources. Software Qual J 22, 661–697 (2014). https://doi.org/10.1007/s11219-013-9209-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-013-9209-z