Abstract
The primary purpose of software design is to reduce the complexity of software systems and to abstract the details to aid in comprehension. Design languages, such as UML, offer increased flexibility and alternatives for designers. However, there are no clear objective guidelines to help software designers select alternatives that reduce model complexity and improve their comprehensibility. Current model complexity metrics are often dependent exclusively on the number of model elements without appropriately considering the complexity of these elements and their interactions. In this paper, we introduce novel complexity metrics for UML state machines models. The proposed approach and metrics are formulated by estimating a complexity rate for each element in the state machine model. The paper presents an in-depth theoretical validity evaluation using Briand ́s theoretical property-based framework to ensure the correctness of the metrics. The proposed complexity metrics satisfy four of the five Briand’s properties.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Briand, L., Morasca, S., Basili, V.: Property-based software engineering measurement. IEEE Trans. Softw. Eng. 22(1), 68–85 (1996)
Srinivasan, K., Devi, T.: Software metrics validation methodologies in software engineering. Int. J. Softw. Eng. Appl. (IJSEA) 5(6), 87–102 (2014)
Misra, S., Akman, I.: Weighted class complexity: a measure of complexity for object oriented systems. J. Inf. Sci. Eng. 24, 1689–1708 (2008)
Zhang, G., Hölzl, M.: A set of metrics of non-locality complexity in UML state machines. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds.) Behavior Modeling – Foundations and Applications. LNCS, vol. 6368, pp. 59–81. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21912-7_3
Zhang, G., Holzl, M.: A set of metrics for states and transitions in UML state machines. In: Proceedings of the 2014 Workshop on Behaviour Modelling-Foundations and Applications (BM-FA 2014), p. 6. ACM, New York, NY, USA (2014)
Hall, M.: Complexity metrics for hierarchical state machines. In: Cohen, M.B., Ó Cinnéide, M. (eds.) SSBSE 2011. LNCS, vol. 6956, pp. 76–81. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23716-4_10
Cruz-Lemus, J.A., Maes, A., Genero, M., Poels, G., Piattini, M.: The impact of structural complexity on the understandability of uml statechart diagrams. Inf. Sci. 180(11), 2209–2220 (2010)
Aldawud, O., Elrad, T., Bader, A.: A UML profile for aspect oriented modeling. In: 2001 Conference on Object-Oriented Programming, Languages, and Systems. Workshop on Advanced Separation of Concerns in Object-Oriented Systems, Tampa, Florida, October 2001
Badreddin, O.: Powering software sustainability with blockchain. In: Proceedings of 28th ACM Annual International Conference on Computer Science and Software Engineering, CASCON (2018)
Broy, M., Cengarle, M.V.: UML formal semantics: lessons learned. Softw. Syst. Model. 10, 441–446 (2011)
Lee, S.: Unified Modeling Language (UML) for database systems and computer applications. Int. J. Database Theor. Appl. 5(1), 157–164 (2011)
Risco-Mart, J.L., Mittal, S., Zeigler, B.P., De La Cruz, J.M.: From UML state charts to DEVS state machines using XML. In: Proceedings of the ACM/IEEE 10th International Conference on Model-Driven Engineering Languages and Systems (MODELS 2007), Nashville, Tennessee, USA, pp. 35–48, January 2007
Ukic, N.: Measuring software complexity. Doctoral Theasis, University of Split, Croatia (2015)
Genero, M., Miranda, D., Piattini, M.: Defining metrics for UML statechart diagrams in a methodological way. In: Jeusfeld, M.A., Pastor, O. (eds.) ER 2003. LNCS, vol. 2814, pp. 118–128. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39597-3_12
Cruz-Lemus, J.A., Genero, M., Piattini, M.: Using controlled experiments for validating UML statechart diagrams measures. In: Cuadrado-Gallego, J.J., Braungarten, R., Dumke, R.R., Abran, A. (eds.) IWSM/Mensura -2007. LNCS, vol. 4895, pp. 129–138. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85553-8_11
Masmali, O., Badreddin, O.: Model driven security: a systematic mapping study. Softw. Eng. 7(2), 30 (2019)
Masmali, O., Badreddin, O.: Towards a model-based fuzzy software quality metrics. In: The Proceedings of the International Conference on Model Driven Engineering and Software Development MODELSWARD 2020, Valletta, Malta, February 25–27, vol. 1, pp. 139–148 (2020)
Badreddin, O., Khandoker, R., Forward, A., Masmali, O., Lethbridge, T.C.: A decade of software design and modeling: a survey to uncover trends of the practice. In: Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems 14 October 2018, pp. 245–255 (2018)
Baddreddin, O., Rahad, K.: The impact of design and UML modeling on codebase quality and sustainability. In: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering 2018 October 29, pp. 236–244. IBM Corp (2018)
Badreddin, O., Lethbridge, T.C., Forward, A., Elaasar, M., Aljamaan, H., Garzon, M.A.: Enhanced code generation from UML composite state machines. In: 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), 7 January 2014, pp. 235–245. IEEE (2014)
Briand, L., Morasca, S., Basili, V.: Response to: comments on property-based software engineering measurement: refining the additivity properties. IEEE Trans. Softw. Eng. 23, 196–197 (1997)
Aljamaan, H., Lethbridge, T.C., Badreddin, O., Guest, G., Forward, A.: Specifying trace directives for UML attributes and state machines. In: 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), 7 January 2014, pp. 79–86. IEEE (2014)
El Akkaoui, Z., Vaisman, A., Zimányi, E.: A quality-based ETL design evaluation framework. In: ICEIS (2019)
Heinrich, B., Hristova, D., Klier, M., Schiller, A., Szubartowicz, M.: Requirements for data quality metrics. J. Data Inf. Qual. (JDIQ) 9(2), 1–32 (2018)
Misra, S., Adewumi, A., Fernandez-Sanz, L., Damasevicius, R.: A suite of object oriented cognitive complexity metrics. IEEE Access 6, 8782–8796 (2018)
Bogner, J., Wagner, S., Zimmermann, A.: Automatically measuring the maintainability of service-and microservice-based systems: a literature review. In: Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement 2017 Oct 25, pp. 107–115 (2017)
Antinyan, V., Staron, M., Sandberg, A.: Evaluating code complexity triggers, use of complexity measures and the influence of code complexity on maintenance time. Empir. Softw. Eng. 22(6), 3057–3087 (2017). https://doi.org/10.1007/s10664-017-9508-2
Kirbas, S., Hall, T., Sen, A.: Evolutionary coupling measurement: Making sense of the current chaos. Sci. Comput. Program. 135, 4–19 (2017)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Masmali, O., Badreddin, O. (2021). Theoretically Validated Complexity Metrics for UML State Machine Models. In: Arai, K., Kapoor, S., Bhatia, R. (eds) Proceedings of the Future Technologies Conference (FTC) 2020, Volume 3. FTC 2020. Advances in Intelligent Systems and Computing, vol 1290. Springer, Cham. https://doi.org/10.1007/978-3-030-63092-8_28
Download citation
DOI: https://doi.org/10.1007/978-3-030-63092-8_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-63091-1
Online ISBN: 978-3-030-63092-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)