Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

SQME: a framework for modeling and evaluation of software architecture quality attributes

Published: 01 August 2019 Publication History

Abstract

Designing a software architecture that satisfies all quality requirements is a difficult task. To determine whether the requirements are achieved, it is necessary to quantitatively evaluate quality attributes on the architecture model. A good evaluation process should have proper answers for these questions: (1) how to feedback the evaluation results to the architecture model (i.e., improve the architecture based on the evaluation results), (2) how to analyze uncertainties in calculations, and (3) how to handle conflicts that may exist between the quality preferences of stakeholders. In this paper, we introduce SQME as a framework for automatic evaluation of software architecture models. The framework uses evolutionary algorithms for architecture improvement, evidence theory for uncertainty handling, and EV/TOPSIS for making trade-off decisions. To validate the applicability of the framework, a case study is performed, and a software tool is developed to support the evaluation process.

References

[1]
Becker, S., Kapova, L.H.: Towards a methodology driven by relationships of quality attributes for QoS-based analysis. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, 2013, pp. 311---314
[2]
Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: Proceedings of the First Joint WOSP/SIPEW International Conference on Performance Engineering, 2010, pp. 105---116
[3]
Trubiani, C., Meedeniya, I., Cortellessa, V., Aleti, A., Grunske, L.: Model-based performance analysis of software architectures under uncertainty. In: Proceedings of the 9th International ACM Sigsoft Conference on Quality of Software Architectures, 2013, pp. 69---78
[4]
Autili, M., Cortellessa, V., Di Ruscio, D., Inverardi, P., Pelliccione, P., Tivoli, M.: EAGLE: engineering software in the ubiquitous globe by leveraging uncertainty. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, 2011, pp. 488---491
[5]
Xu, J.: Rule-based automatic software performance diagnosis and improvement. Perform. Eval. 69(8), 525---550 (2012)
[6]
Esfahani, N., Malek, S., Razavi, K.: GuideArch: guiding the exploration of architectural solution space under uncertainty. In: Proceedings of the International Conference on Software Engineering, 2013, pp. 43---52
[7]
Dubois, D.: Possibility theory and statistical reasoning. Comput. Stat. Data Anal. 51(1), 47---69 (2006)
[8]
Shafer, G.: The Dempster---Shafer Theory. Encycl. Artif. Intell. 2nd edn., pp. 330---331 (2008)
[9]
Sedaghatbaf, A., Azgomi, M.A.: Quantitative evaluation of software security: an approach based on UML/SecAM and evidence theory. ISC. Int. J. Inf. Secur. 8(2), 137---149 (2016)
[10]
Sedaghatbaf, A., Azgomi, M.A.: Reliability evaluation of UML-DAM models under unertainty. IET Softw. (2018).
[11]
Group, O.M.: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems v.1.0 (2009)
[12]
Bernardi, S., Merseguer, J., Petriu, D.C.: A dependability profile within MARTE. Softw. Syst. Model. 10(3), 313---336 (2011)
[13]
Shafer, G.: A Mathematical Theory of Evidence. Princeton University Press, Princeton (1976)
[14]
Petriu, D.C., Alhaj, M., Tawhid, R.: Software performance modeling. In: Proceedings of the 12th International Conference on Formal Methods for the Design of Computer, Communication, and Software Systems: Formal Methods for Model-driven Engineering, 2012, pp. 219---262
[15]
Distefano, S., Scarpa, M., Puliafito, A.: From UML to Petri nets: the PCM-based methodology. IEEE Trans. Softw. Eng. 37(1), 65---79 (2011)
[16]
Brosch, F., Koziolek, H., Buhnova, B., Reussner, R.: Architecture-based reliability prediction with the palladio component model. IEEE Trans. Softw. Eng. 38(6), 1319---1339 (2012)
[17]
Becker, S., Koziolek, H., Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3---22 (2009)
[18]
Bernardi, S., Merseguer, J., Petriu, D.C.: Dependability modeling and assessment in UML-based software development. Sci. World J. 2012, 1---11 (2012)
[19]
Bernardi, S., Merseguer, J., Petriu, D.C.: Dependability modeling and analysis of software systems specified with UML. ACM Comput. Surv. 45(1), 1---48 (2012)
[20]
Räihä, O.: A survey on search-based software design. Comput. Sci. Rev. 4(4), 203---249 (2010)
[21]
Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658---683 (2013)
[22]
Walker, M., Reiser, M.O., Tucci-Piergiovanni, S., Papadopoulos, Y., Lönn, H., Mraidha, C., Parker, D., Chen, D., Servat, D.: Automatic optimisation of system architectures using EAST-ADL. J. Syst. Softw. 86(10), 2467---2487 (2013)
[23]
Cuenot, P., Chen, D., Gérard, S., Lönn, H., Reiser, M.O., Servat, D., Sjöstedt, C.J., Kolagari, R.T., Törngren, M., Weber, M.: Managing complexity of automotive electronics using the EAST-ADL. In: Proceedings of the IEEE International Conference on Engineering of Complex Computer Systems, ICECCS, 2007, pp. 353---358
[24]
Deb, K., Agrawal, S., Pratap, A., Meyarivan, T.: A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In: Parallel Problem Solving from Nature, 2000, pp. 849---858
[25]
Koziolek, A., Ardagna, D., Mirandola, R.: Hybrid multi-attribute QoS optimization in component based software systems. J. Syst. Softw. 86(10), 2542---2558 (2013)
[26]
Koziolek, A., Koziolek, H., Reussner, R.: PerOpteryx: automated application of tactics in multi-objective software architecture optimization. In: Proceedings of the Joint ACM SIGSOFT Conference and ACM SIGSOFT Symposium on Quality of Software Architectures and Architecting Critical Systems, 2011, pp. 33---42
[27]
Meedeniya, I., Moser, I., Aleti, A., Grunske, L.: Architecture-based reliability evaluation under uncertainty. In: Proceedings of the Joint ACM SIGSOFT Conference and ACM SIGSOFT Symposium on Quality of Software Architectures and Architecting Critical Systems, 2011, pp. 85---94
[28]
Meedeniya, I., Aleti, A., Grunske, L.: Architecture-driven reliability optimization with uncertain model parameters. J. Syst. Softw. 85(10), 2340---2355 (2012)
[29]
Meedeniya, I., Aleti, A., Avazpour, I., Amin, A.: Robust ArcheOpterix: architecture optimization of embedded systems under uncertainty. In: Proceedings of 2012 2nd International Workshop on Software Engineering for Embedded Systems, 2012, pp. 23---29
[30]
Filieri, A., Ghezzi, C., Grassi, V., Mirandola, R.: Reliability analysis of component-based systems with multiple failure modes. In: Grunske, L., Reussner, R., Plasil, F. (eds.) Component-Based Software Engineering, pp. 1---20. Springer, Berlin (2010)
[31]
Halkidis, S.T., Tsantalis, N., Chatzigeorgiou, A., Stephanides, G.: Architectural risk analysis of software systems based on security patterns. Dependable Secur. Comput. IEEE Trans. 5(3), 129---142 (2008)
[32]
Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: Proceedings of the Fourth IEEE International Conference on Engineering of Complex Computer Systems, 1998, pp. 68---78
[33]
Kazman, R., Asundi, J., Klein, M.: Quantifying the costs and benefits of architectural decisions. In: Proceedings of the International Conference on Software Engineering, 2001, pp. 297---306
[34]
Al-Naeem, T., Gorton, I., Babar, M.a., Rabhi, F., Benatallah, B.: A quality-driven systematic approach for architecting distributed software applications. In: Proceedings of the 27th International Conference on Software Engineering, 2005, pp. 244---253
[35]
Saaty, T.L.: The Analytic Hierarchy Process. Applications and Studies, Berlin (1980)
[36]
Lima Junior, F.R., Osiro, L., Carpinetti, L.C.R.: A comparison between fuzzy AHP and fuzzy TOPSIS methods to supplier selection. Appl. Soft Comput. 21, 194---209 (2014)
[37]
Ertugrul, I., Karakaşoglu, N.: Comparison of fuzzy AHP and fuzzy TOPSIS methods for facility location selection. Int. J. Adv. Manuf. Technol. 39(7---8), 783---795 (2008)
[38]
Sentz, K., Ferson, S.: Combination of Evidence in Dempster---Shafer Theory, vol. 835. Sandia National Laboratories, Albuquerque (2002)
[39]
Merlin, P.M., Farber, D.J.: Recoverability of communication protocols: implications of a theoretical study. IEEE Trans. Commun. 24(9), 1036---1043 (1976)
[40]
Bernardi, S., Campos, J.: Computation of performance bounds for real-time systems using time Petri nets. IEEE Trans. Ind. Informatics 5(2), 168---180 (2009)
[41]
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77, 541---580 (1989)
[42]
Coello Coello, C.A., Dhaenens, C., Jourdan, L.: Multi-objective combinatorial optimization: problematic and context. Stud. Comput. Intell. 272, 1---21 (2010)
[43]
Etemaadi, R., Emmerich, M.T.M., Chaudron, M.R.V.: Problem-specific search operators for metaheuristic software architecture design. In: International Symposium on Search Based Software Engineering, 2012, pp. 267---272
[44]
Sedaghatbaf, A.: SQME Tool Web Page (2018). {Online}. Available: http://webpages.iust.ac.ir/azgomi/TwCL/sqme.htm
[45]
Gérard, S., Dumoulin, C., Tessier, P., Selic, B.: 19 Papyrus: a UML2 tool for domain-specific language modeling. In: Model-Based Engineering of Embedded Real-Time Systems, pp. 361---368. Springer, Berlin Heidelberg (2010)
[46]
DICE Profiles 2016. {Online}. Available: http://dice-project.github.io/DICE-Profiles/
[47]
MOEA Framework. {Online}. Available: http://moeaframework.org/
[48]
Petriu, D.B., Woodside, M.: An intermediate metamodel with scenarios and resources for generating performance models from UML designs. Softw. Syst. Model. 6(2), 163---184 (2007)

Cited By

View all
  • (2023)Towards Assessing Spread in Sets of Software Architecture DesignsSoftware Architecture10.1007/978-3-031-42592-9_9(133-140)Online publication date: 18-Sep-2023
  • (2020)An Algorithm for Multi-objective Software Performance Optimisation at the Architecture LevelProceedings of the 2020 4th International Conference on Electronic Information Technology and Computer Engineering10.1145/3443467.3443914(1113-1119)Online publication date: 6-Nov-2020
  • (2020)eQual: informing early design decisionsProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409749(1039-1051)Online publication date: 8-Nov-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Software and Systems Modeling (SoSyM)
Software and Systems Modeling (SoSyM)  Volume 18, Issue 4
August 2019
407 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 August 2019

Author Tags

  1. EV/TOPSIS
  2. Evidence theory
  3. Evolutionary algorithms
  4. Software architecture
  5. Software quality attributes

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards Assessing Spread in Sets of Software Architecture DesignsSoftware Architecture10.1007/978-3-031-42592-9_9(133-140)Online publication date: 18-Sep-2023
  • (2020)An Algorithm for Multi-objective Software Performance Optimisation at the Architecture LevelProceedings of the 2020 4th International Conference on Electronic Information Technology and Computer Engineering10.1145/3443467.3443914(1113-1119)Online publication date: 6-Nov-2020
  • (2020)eQual: informing early design decisionsProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409749(1039-1051)Online publication date: 8-Nov-2020
  • (2019)Quality attributes use in architecture design decision methods: research and practiceComputing10.1007/s00607-019-00758-9102:2(551-572)Online publication date: 1-Oct-2019

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media