Abstract
UML is widely adopted for modelling object-oriented software systems, including diagrams that cover the several facets of the entire development life cycle. Approaches to formal semantics of UML tend to concentrate on individual diagrams and, so far, no complete, standard, semantics is available. Here, we explore a different path and define a natural-language semantics for a component UML model that embodies state machines and composite structure diagrams. We then integrate with the NAT2TEST strategy to provide means for analysis (via model checking and theorem proving), simulation and testing. The integration is based on a systematic process (mapping rules), and its soundness has been validated considering an independent reference formal semantics. The developed tool support automates the translation from UML models to natural-language requirements directly based on the proposed mapping rules. We illustrate our contributions and tool support with respect to two case studies: the classical Dijkstra’s dining philosophers problem, and a distributed ring-buffer model.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
André, E., Liu, S., Liu, Y., Choppy, C., Sun, J., Dong, J.S.: Formalizing UML state machines for automated verification - a survey. ACM Comput. Surv. 55(13s) (2023). https://doi.org/10.1145/3579821
Bertot, Y., Casteran, P.: Interactive Theorem Proving and Program Development. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-662-07964-5
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)
Calvino., A., Apvrille., L.: Direct model-checking of SysML models. In: Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development - MODELSWARD, pp. 216–223. INSTICC, SciTePress (2021). https://doi.org/10.5220/0010256302160223
Carvalho, G., Barros, F., Carvalho, A., Cavalcanti, A., Mota, A., Sampaio, A.: NAT2TEST tool: from natural language requirements to test cases based on CSP. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 283–290. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22969-0_20
Carvalho, G., Cavalcanti, A., Sampaio, A.: Modelling timed reactive systems from natural-language requirements. Form. Asp. Comput. 28(5), 725–765 (2016). https://doi.org/10.1007/s00165-016-0387-x
Carvalho, G., Dihego, J., Sampaio, A.: Artefact associated with this paper: “an integrated framework for analysing, simulating and testing UML models” (2024). https://zenodo.org/doi/10.5281/zenodo.13323735
Carvalho, G., Meira, I.: Validating, verifying and testing timed data-flow reactive systems in Coq from controlled natural-language requirements. Sci. Comput. Program. 201, 102537 (2021). https://doi.org/10.1016/j.scico.2020.102537, https://www.sciencedirect.com/science/article/pii/S0167642320301453
Carvalho, G., Sampaio, A., Mota, A.: A CSP timed input-output relation and a strategy for mechanised conformance verification. In: Groves, L., Sun, J. (eds.) ICFEM 2013. LNCS, vol. 8144, pp. 148–164. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41202-8_11
Change Vision, Inc.: Astah UML User’s Guide (nd). https://astah.net/support/astah-uml/. Accessed 25 June 2024
Chen, Z., Liu, Z., Ravn, A.P., Stolz, V., Zhan, N.: Refinement and verification in component-based model-driven design. Sci. Comput. Program. 74(4), 168–196 (2009). https://doi.org/10.1016/j.scico.2008.08.003, https://www.sciencedirect.com/science/article/pii/S0167642308000890. Special Issue on the Grand Challenge
Cicchetti, A., et sl.: CHESS: a model-driven engineering tool environment for aiding the development of complex industrial systems. In: 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, pp. 362–365 (2012). https://doi.org/10.1145/2351676.2351748
Ciccozzi, F., Malavolta, I., Selic, B.: Execution of UML models: a systematic review of research and practice. Softw. Syst. Model. 18(3), 2313–2360 (2019). https://doi.org/10.1007/s10270-018-0675-4
de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8, 569 (1965). https://doi.org/10.1145/365559.365617
Elekes, M., Molnár, V., Micskei, Z.: To do or not to do: semantics and patterns for do activities in UML PSSM state machines. IEEE Trans. Softw. Eng. 50(8), 2124–2141 (2024). https://doi.org/10.1109/TSE.2024.3422845
Falcão, F., Lima, L., Sampaio, A., Antonino, P.: A formal component model for UML based on CSP aiming at compositional verification. Softw. Syst. Model. 23(3), 765–798 (2024). https://doi.org/10.1007/S10270-023-01127-Z
Graics, B., Molnár, V., Vörös, A., Majzik, I., Varró, D.: Mixed-semantics composition of statecharts for the component-based design of reactive systems. Softw. Syst. Model. 19(6), 1483–1517 (2020). https://doi.org/10.1007/s10270-020-00806-5
Graics, B., Mondok, M., Molnár, V., Majzik, I.: Model-based testing of asynchronously communicating distributed controllers. In: Cámara, J., Jongmans, S.S. (eds.) FACS 2023. LNCS, vol. 14485, pp. 23–44. Springer, Heidelberg (2024). https://doi.org/10.1007/978-3-031-52183-6_2
Hoare, C.: Communicating Sequential Processes. Prentice-Hall International (1985)
Horváth, B., et al.: Pragmatic verification and validation of industrial executable SysML models. Syst. Eng. 26(6), 693–714 (2023). https://doi.org/10.1002/sys.21679, https://incose.onlinelibrary.wiley.com/doi/abs/10.1002/sys.21679
Lampropoulos, L., Pierce, B.C.: QuickChick: Property-Based Testing in Coq, Software Foundations, vol. 4. Electronic textbook (2023). http://softwarefoundations.cis.upenn.edu. Version 1.3.2
Lima, L., et al.: An integrated semantics for reasoning about SysML design models using refinement. Softw. Syst. Model. 16(3), 875–902 (2017). https://doi.org/10.1007/s10270-015-0492-y
Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., Tang, A.: What industry needs from architectural languages: a survey. IEEE Trans. Softw. Eng. 39(6), 869–891 (2013)
Molnár, V., Graics, B., Vörös, A., Majzik, I., Varró, D.: The gamma statechart composition framework: Design, verification and code generation for component-based reactive systems. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ICSE 2018, pp. 113–116. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3183440.3183489
Object Management Group (OMG): UML Resource Page. https://www.omg.org/spec/UML/. Accessed 12 June 2024
Object Management Group (OMG): Semantics of a Foundational Subset for Executable UML Models, Version 1.3. OMG Document Number formal/17-07-02 (2017). https://www.omg.org/spec/FUML/1.3/
Object Management Group (OMG): Precise Semantics of UML Composite Structures, Specification v1.2. OMG Document Number: formal/19-05-01 (2019). https://www.omg.org/spec/PSCS/1.2/
Object Management Group (OMG): Precise Semantics of UML State Machines, Specification v1.0. OMG Document Number: formal/19-05-01 (2019). https://www.omg.org/spec/PSSM/1.0/
Roscoe, A.: The Theory and Practice of Concurrency. Prentice Hall (1997)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Pearson Higher Education (2004)
Acknowledgments
This work is partially supported by CNPq grant 432198/2018-0 and also by INES (www.ines.org.br), CNPq grant 465614/2014-0, CAPES grant 88887.136410/2017-00, and FACEPE grants APQ-0399-1.03/17.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Ethics declarations
Disclosure of Interests
The authors have no competing interests to declare that are relevant to the content of this article.
Rights and permissions
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Carvalho, G., Dihego, J., Sampaio, A. (2025). An Integrated Framework for Analysing, Simulating and Testing UML Models. In: C. Nogueira, S., Teodorov, C. (eds) Formal Methods: Foundations and Applications. SBMF 2024. Lecture Notes in Computer Science, vol 15403. Springer, Cham. https://doi.org/10.1007/978-3-031-78116-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-78116-2_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-78115-5
Online ISBN: 978-3-031-78116-2
eBook Packages: Computer ScienceComputer Science (R0)