Document Type : Original Article

Authors

1 Department of Algorithms and Computation, College of Engineering Sciences, University of Tehran, Tehran, Iran

2 Aerospace Research Institute (Ministry of Science, Research and Technology); Department of Aerospace Management, Law and Standards; Tehran, P.O.B 14665-834, Iran

Abstract

Software plays a critical role in controlling the behavior of mechanical and electrical systems, as well as facilitating interactions among their components in cyber-physical systems (CPS). The risks associated with CPS systems can lead to the loss of functionality, performance, and even jeopardize human lives. Therefore, ensuring the reliability of software through comprehensive testing is of paramount importance in detecting and preventing potential errors. To achieve this objective, various methods and tools are employed to assess both the static and dynamic behavior of object-oriented software systems. One commonly used tool in the Unified Modeling Language (UML) is the state chart diagram, which visually represents the dynamic behavior of an object-oriented system. These diagrams depict the transitions and actions that occur as an object changes its state, driven by various inputs. To validate the accuracy of UML state chart diagrams, this paper proposes a method utilizing Finite State Machines (FSM) and Transition Tables. By creating a Transition Table, the UML state chart diagram can be effectively validated. To evaluate the proposed method, a set of Test Cases has been generated and applied to a real case study, ensuring the accuracy and reliability of the UML state chart diagram.

Keywords

[1] Oveisi, S., Moeini, A., Mirzaei, S., & Farsi, M. A. (2023). Software reliability prediction: A survey. Quality and Reliability Engineering International39(1), 412-453.
[2] Oveisi, S., Nadjafi, M., Farsi, M. A., Moeini, A., & Shabankhah, M. (2020). Design software failure mode and effect analysis using Fuzzy TOPSIS based on Fuzzy entropy. Journal of Advances in Computer Engineering and Technology, 6(3), 187-200.
[3] Modarres, M.,  Kaminskiy, M. P., & Krivtsov, V. (2016). Reliability engineering and risk analysis: a practical guide. CRC press.
[4] Kamandi, A.,  Azgomi, M. A., & A. Movaghar, A. (2006). Transformation of UML models into analyzable OSAN models. Electronic Notes in Theoretical Computer Science, 159, 3-22.
[5] Duo, W., Zhou, M., & Abusorrah, A. (2022). A survey of cyber-attacks on cyber physical systems: Recent advances and challenges. IEEE/CAA Journal of Automatica Sinica9(5), 784-800.
[6] Kamandi, A., Abdollahi Azgomi, M., & Movaghar,  A. (2004). A Modelling Tool for Object Stochastic Activity Networks. In Proc. 9th Annual CSI Computer Conf. (CSICC'04), Tehran, Iran,  408-419.
[7] Rautakorpi, M., (1995). Application of Markov Chain Techniques in Certification of Software. Helsinki University.
[8] Rausand, M., & Høyland, A. (2004). System reliability theory: models, statistical methods, and applications. John Wiley & Sons, 396.
[9] Salman, Y. D. A. (2014). Test Case Generation Framework Based On Uml Statechart Diagram. Lecture Notes in Electrical Engineering.
[10] Zakaria, N. N., Othman, M., Sokkalingam, R., Daud, H., Abdullah, L., & Abdul Kadir, E. (2019). Markov Chain Model Development For Forecasting Air Pollution Index Of Miri, Sarawak. Sustainability11(19).
[11] Barbosa, G., de Souza, É. F., dos Santos, L. B. R., da Silva, M., Balera, J. M., & Vijaykumar, N. L. (2022). A Systematic Literature Review on prioritizing software test cases using Markov chains. Information and Software Technology147.
 [12] Rebelo, L., Souza, É., Berkenbrock, G., Barbosa, G., Silva, M., Endo, A., ... & Trubiani, C. (2023). Prioritizing Test Cases with Markov Chains: A Preliminary Investigation. In IFIP International Conference on Testing Software and Systems, 219-236. Cham: Springer Nature Switzerland.
 [13] Kashyap, A., Holzer, T., Sarkani, S., & Eveleigh, T. (2012). Model based testing for software systems: an application of markov modulated markov process. International Journal of Computer Applications46(14), 13-20.
 [14] Ding, Y., Li, W., Zhong, D., Huang, H., Zhao, Y., & Xu, Z. (2018). System states transition safety analysis method based on FSM and NuSMV. In Proceedings of the 2018 2nd International Conference on Management Engineering, Software Engineering and Service Sciences, 107-112.
 [15] Saxena, V., & Kumar, S. (2012). Validation of UML Class Model through Finite-State Machine. International Journal of Computer Applications41(19).