Skip to main content
Log in

A method for dependability evaluation of software architectures

  • Published:
Computing Aims and scope Submit manuscript

Abstract

Dependability is an important quality attribute for today’s software systems, and the decisions made at the architectural design stage play a key role in the dependability of software products. Architecture-level dependability evaluation techniques are effective only if they support a practical architecture modelling notation and consider the impact of execution environment, error propagation and usage profile on dependability. Regarding these factors, the objective of this paper is to introduce a new method for evaluating the dependability of software architectures. UML is the de facto standard for modelling software architectures, and DAM is the most comprehensive UML profile supporting dependability annotations. In this paper, UML–DAM models are transformed into a hierarchical and coloured extension of stochastic activity networks and the dependability measures are quantified using the activity-marking oriented reward structures. The transformation and evaluation processes are detailed and implemented in a software tool. Also, to validate the applicability of the method, a case study is presented.

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
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

References

  1. Bass L, Clements P, Kazman R (2012) Software architecture in practice. Pearson Education, London

    Google Scholar 

  2. Mustafiz S, Sun X, Kienzle J, Vangheluwe H (2008) Model-driven assessment of system dependability. J Softw Syst Model 7:487–502

    Article  Google Scholar 

  3. Bernardi S, Merseguer J, Petriu DC (2012) Dependability modelling and analysis of software systems specified with UML. ACM Comput Surv 45:1–48

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  5. Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model-driven performance prediction. J Syst Softw 82:3–22

    Article  Google Scholar 

  6. Feiler PH, Lewis BA, Vestal S (2007) The SAE architecture analysis and design language (AADL) a standard for engineering performance critical systems. In: Proceedings of CACSD-CCA-ISIC, Munich, Germany, 4–6. IEEE, pp 1206–1211

  7. Sharma VS, Trivedi KS (2007) Quantifying software performance, reliability and security: an architecture-based approach. J Syst Softw 80:493–509

    Article  Google Scholar 

  8. Cheung L, Roshandel R, Medvidovic N, Golubchik L (2008) Early prediction of software component reliability. In: Proceedings of ICSE 08, Austin, TX, 15–21 May. ACM, pp 111–120

  9. Sharma V, Trivedi KS (2006) Reliability and performance of component based software systems with restarts, retries, reboots and repairs. In: Proceedings of ISSRE 06, Raleigh, NC, 7–10 Nov. IEEE, pp 299–310

  10. Franco JM, Barbosa R, Zenha-Rela M (2012) Automated reliability prediction from formal architectural descriptions. In: Proceedings of WICSA-ECSA, Helsinki, Finland, 20–24 Aug. IEEE, pp 302–309

  11. Pham T-T, Défago X (2013) Reliability prediction for component-based software systems with architectural-level fault tolerance mechanisms. In: Proceedings of ARES 13, Regensburg, Germany, 2–6 Sept. IEEE, pp 11–20

  12. Pham T-T, Défago X, Huynh Q-T (2014) Reliability prediction for component-based software systems: dealing with concurrent and propagating errors. Sci Comput Program 97:426–457

    Article  Google Scholar 

  13. Brosch F, Koziolek H, Buhnova B, Reussner R (2010) Parameterized reliability prediction for component-based software architectures. In: Heineman GT, Kofron J, Plasil F (eds) Research into practice-reality and gaps. Springer, Berlin

    Google Scholar 

  14. Reussner RH, Schmidt HW, Poernomo IH (2003) Reliability prediction for component-based software architectures. J Syst Softw 66:241–252

    Article  Google Scholar 

  15. Majzik I, Pataricza A, Bondavalli A (2003) Stochastic dependability analysis of system architecture based on UML models. In: Lemos R, Gacek C, Romanovsky A (eds) Architecting dependable systems. Springer, Berlin

    Google Scholar 

  16. Pai GJ, Dugan JB (2002) Automatic synthesis of dynamic fault trees from UML system models. In: Proceedings of ISSRE’02. IEEE, pp 243–254

  17. Rodrigues G, Rosenblum D, Uchitel S (2005) Reliability prediction in model-driven development. In: Briand L, Williams C (eds) Model driven engineering languages and systems. Springer, Berlin, pp 339–354

    Chapter  Google Scholar 

  18. Bernardi S, Merseguer J, Petriu DC (2011) A dependability profile within MARTE. J Softw Syst Model 10:313–336

    Article  Google Scholar 

  19. Abdollahi Azgomi M, Movaghar A (2003) Coloured stochastic activity networks: preliminary definitions and properties. In: Proceedings of ICALP’03 satellite workshop on stochastic Petri nets and related formalisms, Eindhoven, Netherlands, 28–29 June. pp 154–169

  20. Abdollahi Azgomi M (2005) High-level extensions for stochastic activity networks: theories, tools and applications. Ph.D. Thesis, Sharif University of Technology (in Persian)

  21. Sedaghatbaf A, Abdollahi Azgomi M (2014) Attack modelling and security evaluation based on stochastic activity networks. Secur Commun Netw 7:714–737

    Article  Google Scholar 

  22. Meyer JF, Movaghar A, Sanders WH (1985) Stochastic activity networks: structure, behaviour, and application. In: Proceedings of IWTPN 85. IEEE, pp 106–115

  23. Movaghar A (2001) Stochastic activity networks: a new definition and some properties. Sci Iran 8:303–311

    MATH  Google Scholar 

  24. Sedaghatbaf A, Abdollahi Azgomi M (2015) Software architecture modelling and evaluation based on stochastic activity networks. Lect Notes Comput Sci (LNCS) 9392:46–53

    Article  MATH  Google Scholar 

  25. Ajmone Marsan M, Balbo G, Conte G, Donatelli S, Franceschinis G (1998) Modelling with generalized stochastic Petri nets. Wiley, New York

    MATH  Google Scholar 

  26. Distefano S, Scarpa M, Puliafito A (2011) From UML to Petri nets: the PCM-based methodology. IEEE Trans Softw Eng 37:65–79

    Article  Google Scholar 

  27. Garlan D, Monroe R, Wile D (2010) Acme: an architecture description interchange language. In: Proceedings of CASCON’10, Toronto, CA, 1–4 Nov. IBM Corp, pp 159–173

  28. Brosch F, Koziolek H, Buhnova B, Reussner R (2012) Architecture-based reliability prediction with the Palladio component model. IEEE Trans Softw Eng 38:1319–1339

    Article  Google Scholar 

  29. Bernardi S, Flammini F, Marrone S, Merseguer J, Papa C, Vittorini V (2011) Model-driven availability evaluation of railway control systems. In: Flamini F, Bologna S, Vittorini V (eds) Computer safety, reliability, and security. Springer, Berlin

    Google Scholar 

  30. Bernardi S, Flammini F, Marrone S, Mazzocca N, Merseguer J, Nardone R, Vittorini V (2013) Enabling the usage of UML in the verification of railway systems: the DAM-rail approach. Reliab Eng Syst Saf 120:112–126

    Article  Google Scholar 

  31. Merseguer J, Bernardi S (2011) Dependability analysis of DES based on MARTE and UML state machine models. Discrete Event Dyn Syst 22:163–178

    Article  MathSciNet  MATH  Google Scholar 

  32. Berardinelli L, Bernardi S, Cortellessa V (2009) UML profiles for non-functional properties at work: analyzing reliability, availability and performance. NFPinDSML@ MoDELS

  33. Filieri A, Ghezzi C, Grassi V, Mirandola R (2010) Reliability analysis of component-based systems with multiple failure modes. In: Grunse L, Reussner R, Plasil L (eds) Component-based software engineering. Springer, Berlin

    Google Scholar 

  34. Pham T-T, Defago X (2012) Reliability prediction for component-based systems: incorporating error propagation analysis and different execution models. In: Proceedings of QSIC 12, X’ian, Shaanxi, 27–29 Aug. IEEE, pp 106–115

  35. 2011-06-02 (2011) A UML Profile for MARTE: modelling and analysis of real-time embedded systems. Object Management Group

  36. Westland JC, Suma V, Nair TRG, Sullivan M, Chillarege R, Kumaresh S, Engineering S, Practices B (1991) Handbook of software reliability engineering. IEEE Computer Society Press, Washington, DC

    Google Scholar 

  37. Research Report No. 722 (1999) Numerical analysis of generalized semi-Markov processes. Dept. of CS, University of Dortmund, Dortmund

  38. Nilsen FB (1998) GMSim: a tool for compositional GSMP modelling. In: Proceedings of WSC 98, Washington, DC, 13–16 Dec. IEEE, pp 555–562

  39. SQME Tool Web Page (2015) [Online] http://twcl.iust.ac.ir/projects/sqme.html

  40. Gérard S, Dumoulin C, Tessier P, Selic B (2010) 19 Papyrus: a UML2 tool for domain-specific language modelling. In: Giese H, Karsai G, Lee E, Rumpe B, Schatz B (eds) Model-based engineering of embedded real-time systems. Springer, Berlin

    Google Scholar 

  41. DICE Profiles (2016) [Online] http://dice-project.github.io/DICE-Profiles/

  42. Howell F, McNab R (1998) SimJava: a discrete event simulation library for java. In: Proceedings of SPIE 98, San Diego, CA, 11–14 Jan. pp 51–56

  43. Musa JD, Iannino A, Okumoto K (1987) Software reliability: measurement, prediction, application. McGraw-Hill, New York

    Google Scholar 

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

    Article  MATH  Google Scholar 

  45. Goševa-Popstojanova K, Kamavaram S (2003) Assessing uncertainty in reliability of component-based software systems. In: Proceedings of ISSRE 03, 17–20 Nov. IEEE, pp 307–320

  46. Rodríguez RJ, Merseguer J, Bernardi S (2010) Modelling and analysing resilience as a security issue within UML. In: Proceedings of the 2nd international workshop on software engineering for resilient systems, Luxembourg, 15–18 Apr. ACM, pp 42–51

  47. Avizienis A, Laprie J-C, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secure Comput 1(1):11–33

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Abdollahi Azgomi.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (rar 28453 KB)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sedaghatbaf, A., Abdollahi Azgomi, M. A method for dependability evaluation of software architectures. Computing 100, 119–150 (2018). https://doi.org/10.1007/s00607-017-0568-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-017-0568-3

Keywords

Mathematics Subject Classification

Navigation