Skip to main content
Log in

RELSPEC: a framework for reliability aware design of component based embedded systems

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

With the increase in the complexity of safety-critical embedded applications, the reliability analysis of such systems have also become increasingly difficult. For such complex system specifications, if the reliability provisions are declared upfront in the design flow then the overall system level reliability can be easily inferred given that the system components satisfy their individual reliability requirements. Moreover, such an early-stage specification and analysis paves newer and scalable ways for synthesis of reliable systems. This paper develops a reliability specification and analysis framework, RELSPEC, which enables system level reliability analysis at an early-stage of design by leveraging automatically constructed intermediate probabilistic models of the system. In addition to this, we provide a mechanized method of system synthesis with the objective of satisfying a target reliability value for the overall system. To this end, we explore the application of existing optimization methods and also provide domain specific techniques which outperform such existing methods. Experiments over a few automotive case-studies show the efficacy of this methodology.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. In such cases, the actual implementation of the function may not be available. However, if the values returned by the function effect downstream computation, then we assume that the functional specification is known. That is definitely required for carrying out a “whole-program” analysis.

  2. In that way, one may model any distribution as piecewise uniform discrete distribution.

  3. This restriction is required for source level static analysis as will be revealed later.

  4. The value of an input variable is bounded by the number of bits used by the data type in the worst case.

  5. f defines the data flow relationship between iterator value and number of loop iterations.

  6. The largeness is presently defined by a threshold parameter in our implementation.

  7. We do not provide any specific statement class for assertions and model their semantics using that of if-else.

  8. A child region can be generated in many shapes but following [56], we also restrict ourselves to regions that are hypercuboid in shape.

  9. \({\varGamma }_B\) and \({\varGamma }_M\) are the base and max configurations of the system respectively.

  10. It may be noted that the reduction in execution time for the reliability target 0.995 happens for all the MSA algorithm variants since the binary nature of the search is always able to quickly detect any reliability target being unreachable (as is the case with 0.995).

References

  1. Baier C, Katoen JP et al (2008) Principles of model checking, vol 26202649. MIT Press, Cambridge

    MATH  Google Scholar 

  2. Ball T, Majumdar R, Millstein T, Rajamani SK (2001) Automatic predicate abstraction of c programs. In: Programming language design and implementation. ACM, pp 203–213

  3. Bonami P, Kilinç M, Linderoth J (2012) Algorithms and software for convex mixed integer nonlinear programs. In: Mixed integer nonlinear programming. Springer, Berlin, pp 1–39

  4. Booch G, Rumbaugh J, Jacobson I (1996) The unified modeling language. Unix Rev 14(13):5

    Google Scholar 

  5. Carbin M, Misailovic S, Rinard MC (2013) Verifying quantitative reliability for programs that execute on unreliable hardware. ACM SIGPLAN Not 48(10):33–52

    Article  Google Scholar 

  6. Cheng Y, Sun X, Yin YL (2008) Searching monotone multi-dimensional arrays. Discrete Math 308(11):2213–2221

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MATH  Google Scholar 

  8. Cuoq P, Kirchner F, Kosmatov N, Prevosto V, Signoles J, Yakobowski B (2012) Frama-c. In: Software engineering and formal methods. Springer, Berlin, pp 233–247

  9. Day TD, Roberts SG (2002) A simulation model for vehicle braking systems fitted with abs. Tech. rep, SAE Technical Paper

  10. De Loera JA, Hemmecke R, Tauzer J, Yoshida R (2004) Effective lattice point counting in rational convex polytopes. J Symb Comput 38(4):1273–1302

    Article  MathSciNet  MATH  Google Scholar 

  11. Dijkstra EW (1975) Guarded commands, nondeterminacy and formal derivation of programs. Commun ACM 18(8):453–457

    Article  MathSciNet  MATH  Google Scholar 

  12. Farr WH, Smith OD (1988) A tool for statistical modeling and estimation of reliability functions for software: Smerfs. J Syst Softw 8(1):47–55

    Article  Google Scholar 

  13. Flanagan C, Saxe JB (2001) Avoiding exponential explosion: generating compact verification conditions. ACM SIGPLAN Not 36(3):193–205

    Article  MATH  Google Scholar 

  14. Ghosh SK, Hazra A, Dey S (2015) Relspec: a framework for early reliability refinement of embedded applications. In: International conference on VLSI design. IEEE, pp 41–46

  15. Gokhale S, Trivedi KS (1997) Structure-based software reliability prediction. In: International conference on advanced computing. Citeseer

  16. Gokhale SS (2007) Architecture-based software reliability analysis: overview and limitations. IEEE Trans Dependable Secure Comput 4(1):32–40

    Article  Google Scholar 

  17. Gokhale SS, Trivedi KS (2002) Reliability prediction and sensitivity analysis based on software architecture. In: International symposium on software reliability engineering. IEEE, pp 64–75

  18. Gokhale SS, Wong WE, Trivedi KS, Horgan J (1998) An analytical approach to architecture-based software reliability prediction. In: International computer performance and dependability symposium. IEEE, pp 13–22

  19. Goseva-Popstojanova K, Mathur AP, Trivedi KS (2001) Comparison of architecture-based software reliability models. In: International symposium on software reliability engineering. IEEE, pp 22–31

  20. Goševa-Popstojanova K, Trivedi KS (2001) Architecture-based approach to reliability assessment of software systems. Perform Eval 45(2):179–204

    Article  MATH  Google Scholar 

  21. Gupta A, Rybalchenko A (2009) Invgen: An efficient invariant generator. In: Computer aided verification. Springer, Berlin, pp 634–640

  22. Gustafsson J, Ermedahl A, Sandberg C, Lisper B (2006) Automatic derivation of loop bounds and infeasible paths for WCET analysis using abstract execution. In: International real-time systems symposium. IEEE, pp 57–66

  23. Hazra A, Ghosh P, Vadlamudi SG, Chakrabarti PP, Dasgupta P (2013) Formal methods for early analysis of functional reliability in component-based embedded applications. Embed Syst Lett 5(1):8–11

    Article  Google Scholar 

  24. Hsu CJ, Huang CY (2011) An adaptive reliability analysis using path testing for complex component-based software systems. IEEE Trans Reliab 60(1):158–170

    Article  Google Scholar 

  25. Immonen A, Niemelä E (2008) Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw Syst Model 7(1):49–65

    Article  Google Scholar 

  26. Jifeng H, Seidel K, McIver A (1997) Probabilistic models for the guarded command language. Sci Comput Program 28(2):171–192

    Article  MathSciNet  MATH  Google Scholar 

  27. Karsai G, Sztipanovits J, Ledeczi A, Bapty T (2003) Model-integrated development of embedded software. Proc IEEE 91(1):145–164

    Article  Google Scholar 

  28. Koren I, Krishna CM (2010) Fault-tolerant systems. Morgan Kaufmann, Los Altos

    MATH  Google Scholar 

  29. Krishnamurthy S, Mathur AP (1997) On the estimation of reliability of a software system using reliabilities of its components. In: International symposium on software reliability engineering. IEEE, pp 146–155

  30. Kubat P (1989) Assessing reliability of modular software. Oper Res Lett 8(1):35–41

    Article  MathSciNet  MATH  Google Scholar 

  31. Kwiatkowska M, Norman G, Parker D (2011) Prism 4.0: Verification of probabilistic real-time systems. In: Computer aided verification. Springer, Berlin, pp 585–591

  32. Labuhn PI, Chundrlik Jr WJ (1995) Adaptive cruise control. US Patent 5,454,442

  33. Laprie JC (1984) Dependability evaluation of software systems in operation. IEEE Trans Softw Eng 10(6):701–714

    Article  Google Scholar 

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

    Article  Google Scholar 

  35. Leino KRM (2005) Efficient weakest preconditions. Inf Process Lett 93(6):281–288

    Article  MathSciNet  MATH  Google Scholar 

  36. Li C, Zhou X, Wang Y, Dong Y (2009) An improved path-based reliability prediction model for component-based embedded software. In: International conference on frontier of computer science and technology. IEEE, pp 301–307

  37. Littlewood B (1975) A reliability model for systems with markov structure. Appl Stat 24(2):172–177

    Article  MathSciNet  Google Scholar 

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

    Article  MATH  Google Scholar 

  39. Littlewood B, Verrall J (1973) A bayesian reliability growth model for computer software. Appl Stat 22(3):332–346

    Article  MathSciNet  Google Scholar 

  40. Lohar D, Dey S (2015) Integrating formal methods with testing for reliability estimation of component based systems. In: International symposium on software reliability engineering, p. to appear. IEEE

  41. Lyu MR, Nikora A (1992) Casre: a computer-aided software reliability estimation tool. In: International workshop on computer-aided software engineering. IEEE, pp 264–275

  42. Lyu MR, et al (1996) Handbook of software reliability engineering, vol 222. IEEE Computer Society Press, CA

  43. Malaiya YK, Li MN, Bieman JM, Karcich R (2002) Software reliability growth with test coverage. IEEE Trans Reliab 51(4):420–426

    Article  Google Scholar 

  44. Malakova M, Dimov A, Dimov D (2012) Soregene: a software reliability modelling tool. In: International conference on computer systems and technologies. ACM, pp 179–186

  45. MathWorks: Model-Based Design. www.mathworks.in/model-based-design/

  46. MathWorks: Simulink. www.mathworks.in/products/simulink/

  47. MathWorks: Stateflow. www.mathworks.in/products/stateflow/

  48. Musa JD, Iannino A, Okumoto K (1987) Software reliability: measurement, prediction, application. McGraw-Hill, Inc., NY

    Google Scholar 

  49. Nielson F, Nielson HR, Hankin C (1999) Principles of program analysis. Springer, Berlin

    Book  MATH  Google Scholar 

  50. Oldenkamp H (2007) Probabilistic model checking: a comparison of tools. Master’s thesis, University of Twente, Enschede, Netherlands

  51. Pratt VR (1979) Models of program logics. In: Foundations of computer science. IEEE, pp 115–122

  52. ReliaSoft Corporation: BlockSim. http://www.reliasoft.com/BlockSim/index.html

  53. Roychoudhury A (2009) Embedded systems and software validation. Morgan Kaufmann, Los Altos

    Google Scholar 

  54. Sahner RA, Trivedi KS (1987) Reliability modeling using sharpe. IEEE Trans Reliab 36(2):186–193

    Article  Google Scholar 

  55. Shooman ML (1976) Structural models for software reliability prediction. In: International conference on software engineering. IEEE Computer Society Press, pp 268–280

  56. Vadlamudi SG, Chakrabarti PP (2014) Robustness analysis of embedded control systems with respect to signal perturbations: finding minimal counterexamples using fault injection. IEEE Trans Dependable Secure Comput 11(1):45–58

    Article  Google Scholar 

  57. Wang WL, Pan D, Chen MH (2006) Architecture-based software reliability modeling. J Syst Softw 79(1):132–146

    Article  Google Scholar 

  58. Xie M (1991) Software reliability modelling, vol 1. World Scientific, Singapore

    MATH  Google Scholar 

  59. Yacoub SM, Cukic B, Ammar HH (1999) Scenario-based reliability analysis of component-based software. In: International symposium on software reliability engineering. IEEE, pp 22–31

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saurav Kumar Ghosh.

Additional information

This work was supported by a TCS Research Fellowship.

Appendix

Appendix

In this section we present the results that were used to plot Fig. 9 in Table 9. We compare the performance of MSA-I and MSA-II over the ABS Case Study with 12 reliability options for each component.

Table 9 Performance comparison of MSA-I and MSA-II

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ghosh, S.K., Vishnuvardhan, P., Vadlamudi, S.G. et al. RELSPEC: a framework for reliability aware design of component based embedded systems. Des Autom Embed Syst 21, 37–87 (2017). https://doi.org/10.1007/s10617-017-9183-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-017-9183-y

Keywords

Navigation