Design-Time Reliability Prediction Model for Component-Based Software Systems
<p>The proposed model’s phases and activities.</p> "> Figure 2
<p>The password verification scenario of the ATM system.</p> "> Figure 3
<p>A portion of a railcar system case study is described in two sequence charts, combined by <span class="html-italic">s-TS</span> into one chart. (<b>a</b>) Simple sequence chart describing scenario of car approaching terminal with stopping at terminal. (<b>b</b>) Another simple sequence chart describing scenario of car approaching terminal with passing that terminal. (<b>c</b>) One <span class="html-italic">s-TS</span> combining the two scenarios described in (<b>a</b>,<b>b</b>).</p> "> Figure 4
<p>The scenario of password verification after the annotation and propagation. (<b>a</b>) State variables of the components participate in the scenario which is the main input for annotation. (<b>b</b>) The scenario of password verification that annotated and propagated using the state variables shown in figure (<b>a</b>).</p> "> Figure 5
<p>The FSMs obtained from the password verification scenario. (<b>a</b>) FSM UI component. (<b>b</b>) FSM of ATM component. (<b>c</b>) FSM of Bank component.</p> "> Figure 6
<p>The <math display="inline"><semantics> <mrow> <mi>S</mi> <mi>s</mi> </mrow> </semantics></math> are generated by the proposed model and the comparison models.</p> "> Figure 7
<p><math display="inline"><semantics> <mrow> <mi>S</mi> <mi>M</mi> <mi>s</mi> </mrow> </semantics></math> generated by the proposed models and the others.</p> "> Figure A1
<p>System specifications of ATM case study in form of <span class="html-italic">s-TS</span>. (<b>a</b>) Scenario of card insertion (scenario 1). (<b>b</b>) Scenario of incorrect password (scenario 2). (<b>c</b>) Scenario of display options (scenario 3).</p> "> Figure A2
<p>System constraints and state variables that were used for annotation of <span class="html-italic">s-TS</span> scenarios. (<b>a</b>) System constraints table of ATM case study. (<b>b</b>) State variables of the components of ATM case study.</p> "> Figure A3
<p>System Specifications of Railcar Case Study in the Form of <span class="html-italic">s-TS</span>. (<b>a</b>) Scenario of passenger in terminal (scenario 1). (<b>b</b>) Scenario of car approaching terminal (scenario 2). (<b>c</b>) Scenario of car departing terminal (scenario 3).</p> "> Figure A4
<p>System Constraints Table and State Variables of the Components of the Railcar Scenario. (<b>a</b>) System constraints table of of railcar. (<b>b</b>) State variables of the components of railcar.</p> ">
Abstract
:1. Introduction
2. Related Work
3. The Proposed Model
3.1. Behavior Modeling
3.1.1. Running Examples
3.1.2. Scenario Preparation
3.2. Calculating a Scenario’s Reliability
3.3. System Reliability
3.3.1. The Reliability of Component-Based Sequential Applications
3.3.2. The Reliability of Component-Based Concurrent Applications
3.3.3. The Reliability of the Scenario Combination
3.3.4. Calculating the Reliability of the System
4. Evaluation
The Results
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
Appendix B
References
- Immonen, A.; Niemelä, E. Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw. Syst. Model. 2008, 7, 49–65. [Google Scholar] [CrossRef]
- Musa, J.D.; Iannino, A.; Okumoto, K. (Eds.) Software Reliability: Measurement, Prediction, Application; McGraw-Hill: Launches, UK, 1987; 621p. [Google Scholar]
- Roy, B.; Graham, T.N. Methods for evaluating software architecture: A survey. Sch. Comput. TR 2008, 545, 82. [Google Scholar]
- Wohlin, C.; Runeson, P. A method proposal for early software reliability estimation. In Proceedings of the 3rd International Symposium on Software Reliability Engineering (ISSRE), Raleigh, NC, USA, 7–10 October 1992; pp. 156–163. [Google Scholar]
- Cukic, B. The virtues of assessing software reliability early. IEEE Softw. 2005, 22, 50–53. [Google Scholar] [CrossRef]
- Cheung, L.; Roshandel, R.; Medvidovic, N.; Golubchik, L. Early prediction of software component reliability. In Proceedings of the 30th International Conference on Software Engineering, Leipzig, Germany, 10–18 May 2008; pp. 111–120. [Google Scholar]
- Brosch, F.; Koziolek, H.; Buhnova, B.; Reussner, R. Architecture-based reliability prediction with the palladio component model. IEEE Trans. Softw. Eng. 2011, 38, 1319–1339. [Google Scholar] [CrossRef]
- Sibay, G.E.; Braberman, V.; Uchitel, S.; Kramer, J. Synthesizing modal transition systems from triggered scenarios. IEEE Trans. Softw. Eng. 2012, 39, 975–1001. [Google Scholar] [CrossRef] [Green Version]
- Krka, I.; Medvidovic, N. Component-aware triggered scenarios. In Proceedings of the 2014 IEEE/IFIP Conference on Software Architecture, Sydney, NSW, Australia, 7–11 April 2014; pp. 129–138. [Google Scholar]
- Whittle, J.; Jayaraman, P.K. Synthesizing hierarchical state machines from expressive scenario descriptions. ACM Trans. Softw. Eng. Methodol. 2010, 19, 1–45. [Google Scholar] [CrossRef]
- Torre, D.; Labiche, Y.; Genero, M.; Baldassarre, M.T.; Elaasar, M. UML diagram synthesis techniques: A systematic mapping study. In Proceedings of the 10th International Workshop on Modelling in Software Engineering, Gothenburg, Sweden, 27–28 May 2018; pp. 33–40. [Google Scholar]
- Ali, A.; Jawawi, D.; Isa, M.A. Scalable scenario specifications to synthesize component-centric behaviour models. Int. J. Softw. Eng. Appl. 2015, 9, 79–106. [Google Scholar] [CrossRef]
- Tarinejad, A.; Izadkhah, H.; Ardakani, M.M.; Mirzaie, K. Metrics for assessing reliability of self-healing software systems. Comput. Electr. Eng. 2021, 90, 106952. [Google Scholar] [CrossRef]
- Wang, W.L.; Pan, D.; Chen, M.H. Architecture-based software reliability modeling. J. Syst. Softw. 2006, 79, 132–146. [Google Scholar] [CrossRef]
- Chen, L.; Huang, L.; Li, C.; Wu, X. Incorporating architectural modelling with state-based reliability evaluation. Int. J. Hoc Ubiquitous Comput. 2017, 26, 167–184. [Google Scholar] [CrossRef]
- Cheung, L.; Krka, I.; Golubchik, L.; Medvidovic, N. Architecture-level reliability prediction of concurrent systems. In Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, Boston, MA, USA, 22–25 April 2012; pp. 121–132. [Google Scholar]
- Cooray, D.; Kouroshfar, E.; Malek, S.; Roshandel, R. Proactive self-adaptation for improving the reliability of mission-critical, embedded, and mobile software. IEEE Trans. Softw. Eng. 2013, 39, 1714–1735. [Google Scholar] [CrossRef]
- Ali, A.; NA Jawawi, D.; Adham Isa, M.; Imran Babar, M. Technique for early reliability prediction of software components using behaviour models. PLoS ONE 2016, 11, e0163346. [Google Scholar]
- Hou, C.; Wang, J.; Chen, C. Using hierarchical scenarios to predict the reliability of component-based software. IEICE Trans. Inf. Syst. 2018, 101, 405–414. [Google Scholar] [CrossRef] [Green Version]
- Krka, I.; Edwards, G.; Cheung, L.; Golubchik, L.; Medvidovic, N. A comprehensive exploration of challenges in architecture-based reliability estimation. In Architecting Dependable Systems VI; Springer: Berlin/Heidelberg, Germany, 2009; pp. 202–227. [Google Scholar]
- Mosimann, J.E. On the compound multinomial distribution, the multivariate β-distribution, and correlations among proportions. Biometrika 1962, 49, 65–82. [Google Scholar]
- Harel, D.; Gery, E. Executable object modeling with statecharts. In Proceedings of the IEEE 18th International Conference on Software Engineering, Berlin, Germany, 25–30 March 1996; pp. 246–257. [Google Scholar]
- Al-Fedaghi, S. Diagrammatic Formalism for Complex Systems: More than One Way to Eventize a Railcar System. arXiv 2021, arXiv:2103.02820. [Google Scholar]
- Harel, D.; Marelly, R.; Marron, A.; Szekely, S. Integrating Inter-Object Scenarios with Intra-object Statecharts for Developing Reactive Systems. IEEE Des. Test 2020, 38, 35–47. [Google Scholar] [CrossRef]
- Reussner, R.H.; Schmidt, H.W.; Poernomo, I.H. Reliability prediction for component-based software architectures. J. Syst. Softw. 2003, 66, 241–252. [Google Scholar] [CrossRef]
- Goševa-Popstojanova, K.; Trivedi, K.S. Architecture-based approach to reliability assessment of software systems. Perform. Eval. 2001, 45, 179–204. [Google Scholar] [CrossRef]
- Roshandel, R.; Medvidovic, N.; Golubchik, L. A Bayesian model for predicting reliability of software systems at the architectural level. In Proceedings of the International Conference on the Quality of Software Architectures, Karlsruhe, Germany, 14–17 October 2007; pp. 108–126. [Google Scholar]
- Benes, N.; Buhnova, B.; Cerna, I.; Oslejsek, R. Reliability analysis in component-based development via probabilistic model checking. In Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering, Bertinoro, Italy, 25–28 June 2012; pp. 83–92. [Google Scholar]
- ChauPattnaik, S.; Ray, M.; Nayak, M.M. Component based reliability prediction. Int. J. Syst. Assur. Eng. Manag. 2021, 12, 391–406. [Google Scholar] [CrossRef]
- Yacoub, S.; Cukic, B.; Ammar, H.H. A scenario-based reliability analysis approach for component-based software. IEEE Trans. Reliab. 2004, 53, 465–480. [Google Scholar] [CrossRef]
- Hsu, C.J.; Huang, C.Y. An adaptive reliability analysis using path testing for complex component-based software systems. IEEE Trans. Reliab. 2011, 60, 158–170. [Google Scholar] [CrossRef]
- Tyagi, K.; Sharma, A. A rule-based approach for estimating the reliability of component-based systems. Adv. Eng. Softw. 2012, 54, 24–29. [Google Scholar] [CrossRef]
- El Kharboutly, R.; Gokhale, S.S. Efficient reliability analysis of concurrent software applications considering software architecture. Int. J. Softw. Eng. Knowl. Eng. 2014, 24, 43–60. [Google Scholar] [CrossRef]
- Babeker, A.A.M.E. Quality Measurement Model for Composite Service-oriented Design. Ph.D. Thesis, Universiti Teknologi Malaysia, Johor Bahru, Malaysia, 2015. [Google Scholar]
- Aziz, M.W.; Radziah, M.; Jawawi, D. Service-oriented Analysis and Design Approach for Distributed Embedded Real-time Systems. Ph.D. Thesis, Universiti Teknologi Malaysia, Johor Bahru, Malaysia, 2013. [Google Scholar]
- Cheung, L.; Golubchik, L.; Medvidovic, N. SHARP: A scalable approach to architecture-level reliability prediction of concurrent systems. In Proceedings of the 2010 ICSE Workshop on Quantitative Stochastic Models in the Verification and Design of Software Systems, Cape Town, South Africa, 3 May 2010; pp. 1–8. [Google Scholar]
- Rodrigues, G.; Rosenblum, D.; Uchitel, S. Using scenarios to predict the reliability of concurrent component-based software systems. In International Conference on Fundamental Approaches to Software Engineering; Springer: Berlin/Heidelberg, Germany, 2005; pp. 111–126. [Google Scholar]
- Roshandel, R.; Schmerl, B.; Medvidovic, N.; Garlan, D.; Zhang, D. Understanding tradeoffs among different architectural modeling approaches. In Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), Oslo, Norway, 15 June 2004; pp. 47–56. [Google Scholar]
- Singh, H.; Cortellessa, V.; Cukic, B.; Gunel, E.; Bharadwaj, V. A bayesian approach to reliability prediction and assessment of component based systems. In Proceedings of the 12th International Symposium on Software Reliability Engineering, Hong Kong, China, 27–30 November 2001; pp. 12–21. [Google Scholar]
- Goseva-Popstojanova, K.; Hassan, A.; Guedem, A.; Abdelmoez, W.; Nassar, D.E.M.; Ammar, H.; Mili, A. Architectural-level risk analysis using UML. IEEE Trans. Softw. Eng. 2003, 29, 946–960. [Google Scholar] [CrossRef]
- Sadi, M.S.; Myers, D.; Sanchez, C.O.; Jurjens, J. Component criticality analysis to minimizing soft errors risk. Comput. Syst. Sci. Eng. 2010, 26, 377–391. [Google Scholar]
- Johnson, N.L. Discrete Multivariate Distributions; Wiley: New York, NY, USA, 1997. [Google Scholar]
- Zelterman, D. Multinomial Distribution: Overview. In Wiley StatsRef: Statistics Reference Online; Wiley: New York, NY, USA, 2014. [Google Scholar]
- Lane, D. Hyperstat Online: An Introductory Statistics Textbook and Online Tutorial for Help in Statistic. Available online: https://davidmlane.com/hyperstat/ (accessed on 21 March 2019).
Model | Year | Behavior Model Notations | Reliability Calculation Model | Concurrency | Operation-Level | Scalability |
---|---|---|---|---|---|---|
Singh et al. [36] | 2001 | UCD + SDs | scenarios failure formula + bayesian | × | (✓) | (✓) |
Reussner et al. [25] | 2003 | RADL | DTMC | × | ✓ | × |
Yacoub et al. [30] | 2004 | MSCs | PDG + algorithm | × | × | × |
Rodrigues et al. [35] | 2005 | MSCs | DTMC | × | (✓) | (✓) |
Roshandel et al. [27] | 2007 | MM | DTMC + bayesian | × | (✓) | × |
Hsu and Huang [31] | 2011 | MM | path failure formulas + semi truncation strategy | (✓) | (✓) | (✓) |
Brosch et al. [7] | 2011 | PCM | DTMC + algorithms + simulation | (✓) | ✓ | × |
Benes et al. [28] | 2012 | CAWPT | DTMC + PLT-logic based model | × | ✓ | × |
Tyagi and Sharma [32] | 2012 | Text-based | fuzzy-logic-based model | (✓) | × | × |
Cheung et al. [16] | 2012 | SDs + MM | CTMC + Truncation strategy | (✓) | (✓) | (✓) |
El Kharboutly and Gokhale [33] | 2014 | MM | CTMC + scenarios compressing | × | (✓) | (✓) |
Hou et al. [19] | 2018 | UCD + MM | PDG + algorithm | × | × | × |
Tarinejad et al. [13] | 2021 | MM | DTMC | × | × | × |
Our proposed model | 2022 | s-TS + FSMS | modified scenarios failure formula + multinomial distribution | ✓ | ✓ | ✓ |
Operation | Failure Probability |
---|---|
insertCard | 0.002 |
enterPass | 0.01 |
check | 0.004 |
CheckResult | 0.003 |
DIS_option | 0.003 |
PassIncorrect | 0.003 |
The Number of Active Scenarios | |||||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | ||
0 | 0 | 1.000 | 0.200 | 0.040 | 0.008 |
0 | 1 | 0.500 | 0.200 | 0.060 | 0 |
0 | 2 | 0.250 | 0.150 | 0 | 0 |
0 | 3 | 0.125 | 0 | 0 | 0 |
1 | 0 | 0.300 | 0.120 | 0.036 | 0 |
1 | 1 | 0.300 | 0.180 | 0 | 0 |
1 | 2 | 0.225 | 0 | 0 | 0 |
1 | 3 | 0 | 0 | 0 | 0 |
2 | 0 | 0.090 | 0.054 | 0 | 0 |
2 | 1 | 0.135 | 0 | 0 | 0 |
2 | 2 | 0 | 0 | 0 | 0 |
2 | 3 | 0 | 0 | 0 | 0 |
3 | 0 | 0.027 | 0 | 0 | 0 |
3 | 1 | 0 | 0 | 0 | 0 |
3 | 2 | 0 | 0 | 0 | 0 |
3 | 3 | 0 | 0 | 0 | 0 |
The Number of Active Scenario Instances | |||||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | ||
0 | 0 | 0 | 0 | 0 | 0.008 |
0 | 1 | 0 | 0 | 0.060 | 0 |
0 | 2 | 0 | 0.150 | 0 | 0 |
0 | 3 | 0.125 | |||
1 | 0 | 0.036 | |||
1 | 1 | 0.180 | |||
1 | 2 | 0.225 | |||
2 | 0 | 0 | 0.054 | 0 | 0 |
2 | 1 | 0.135 | 0 | 0 | 0 |
3 | 0 | 0.027 | 0 | 0 | 0 |
Factors Lead to High Computational Cost | ||
---|---|---|
Hierarchical model | Low | High |
Composition model | High | Low |
Proposed model | Medium | Medium |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ali, A.; Bashir, M.B.; Hassan, A.; Hamza, R.; Alqhtani, S.M.; Tawfeeg, T.M.; Yousif, A. Design-Time Reliability Prediction Model for Component-Based Software Systems. Sensors 2022, 22, 2812. https://doi.org/10.3390/s22072812
Ali A, Bashir MB, Hassan A, Hamza R, Alqhtani SM, Tawfeeg TM, Yousif A. Design-Time Reliability Prediction Model for Component-Based Software Systems. Sensors. 2022; 22(7):2812. https://doi.org/10.3390/s22072812
Chicago/Turabian StyleAli, Awad, Mohammed Bakri Bashir, Alzubair Hassan, Rafik Hamza, Samar M. Alqhtani, Tawfeeg Mohmmed Tawfeeg, and Adil Yousif. 2022. "Design-Time Reliability Prediction Model for Component-Based Software Systems" Sensors 22, no. 7: 2812. https://doi.org/10.3390/s22072812