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

Formalizing UML State Machines for Automated Verification – A Survey

Published: 13 July 2023 Publication History

Abstract

The Unified Modeling Language (UML) is a standard for modeling dynamic systems. UML behavioral state machines are used for modeling the dynamic behavior of object-oriented designs. The UML specification, maintained by the Object Management Group (OMG), is documented in natural language (in contrast to formal language). The inherent ambiguity of natural languages may introduce inconsistencies in the resulting state machine model. Formalizing UML state machine specification aims at solving the ambiguity problem and at providing a uniform view to software designers and developers. Such a formalization also aims at providing a foundation for automatic verification of UML state machine models, which can help to find software design vulnerabilities at an early stage and reduce the development cost. We provide here a comprehensive survey of existing work from 1997 to 2021 related to formalizing UML state machine semantics for the purpose of conducting model checking at the design stage.

References

[1]
ProB. [n. d.]. The ProB Animator and Model Checker. Retrieved from https://prob.hhu.de/.
[2]
SMUML. [n. d.]. Symbolic Methods for UML Behavioural Diagrams (SMUML). Retrieved from http://www.tcs.hut.fi/Research/Logic/SMUML.shtml.
[3]
2012. mCRL2, a Specification Language and Toolset. Retrieved from https://www.mcrl2.org/web/user_manual/.
[4]
Jean-Raymond Abrial. 1996. The B-book - Assigning Programs to Meanings. Cambridge University Press. DOI:
[5]
Jean-Raymond Abrial, Michael J. Butler, Stefan Hallerstede, Thai Son Hoang, Farhad Mehta, and Laurent Voisin. 2010. Rodin: An open toolset for modelling and reasoning in Event-B. Int. J. Softw. Tools Technol. Transf. 12, 6 (2010), 447–466. DOI:
[6]
Sabah Al-Fedaghi. 2020. Modeling the semantics of states and state machines. J. Comput. Sci. 16, 7 (2020). DOI:
[7]
Marcus Alanen and Ivan Porres. 2004. Coral: A metamodel kernel for transformation engines. Technical report. In MDA, David H. Akehurst (Ed.). Kent University. Retrieved from https://kar.kent.ac.uk/14116/.
[8]
Rajeev Alur and David L. Dill. 1994. A theory of timed automata. Theoret. Comput. Sci. 126, 2 (Apr.1994), 183–235. DOI:
[9]
Rajeev Alur and Radu Grosu. 2004. Modular refinement of hierarchic reactive machines. ACM Trans. Program. Lang. Syst. 26, 2 (2004), 339–369. DOI:
[10]
Rajeev Alur, Radu Grosu, and Michael McDougall. 2000. Efficient reachability analysis of hierarchical reactive machines. In CAV (LNCS), E. Allen Emerson and A. Prasad Sistla (Eds.), Vol. 1855. Springer, 280–295. DOI:
[11]
Rajeev Alur, Sampath Kannan, and Mihalis Yannakakis. 1999. Communicating hierarchical state machines. In ICALP (LNCS), Jirí Wiedermann, Peter van Emde Boas, and Mogens Nielsen (Eds.), Vol. 1644. Springer, 169–178. DOI:
[12]
Rajeev Alur, Michael McDougall, and Zijiang Yang. 2002. Exploiting behavioral hierarchy for efficient model checking. In CAV (LNCS), Ed Brinksma and Kim Guldstrand Larsen (Eds.), Vol. 2404. Springer, 338–342. DOI:
[13]
Rajeev Alur and Mihalis Yannakakis. 2001. Model checking of hierarchical state machines. ACM Trans. Program. Lang. Syst. 23, 3 (2001), 273–303. DOI:
[14]
Torben Amtoft, Kelly Androutsopoulos, and David Clark. 2020. Correctly slicing extended finite state machines. In From Lambda Calculus to Cybersecurity Through Program Analysis - Essays Dedicated to Chris Hankin on the Occasion of His Retirement (LNCS), Alessandra Di Pierro, Pasquale Malacaria, and Rajagopal Nagarajan (Eds.), Vol. 12065. Springer, 149–197. DOI:
[15]
Étienne André. 2013. Observer patterns for real-time systems. In ICECCS, Yang Liu and Andrew Martin (Eds.). IEEE Computer Society, 125–134. DOI:
[16]
Kelly Androutsopoulos, David Clark, Mark Harman, Robert M. Hierons, Zheng Li, and Laurence Tratt. 2013. Amorphous slicing of extended finite state machines. Trans. Softw. Eng. 39, 7 (2013), 892–909. DOI:
[17]
Étienne André, Mohamed Mahdi Benmoussa, and Christine Choppy. 2016. Formalising concurrent UML state machines using coloured Petri nets. Form. Asp. Comput. 28, 5 (Sept.2016), 805–845. DOI:
[18]
Étienne André, Christine Choppy, and Kais Klai. 2012. Formalizing non-concurrent UML state machines using colored Petri nets. ACM SIGSOFT Softw. Eng. Notes 37, 4 (2012), 1–8. DOI:
[19]
Toshiaki Aoki, Takaaki Tateishi, and Takuya Katayama. 2001. An axiomatic formalization of UML models. In pUML (LNI), Andy Evans, Robert B. France, Ana M. D. Moreira, and Bernhard Rumpe (Eds.), Vol. P-7. GI, 13–28. Retrieved from https://dl.gi.de/20.500.12116/30860.
[20]
Demissie B. Aredo. 2000. Semantics of UML statecharts in PVS. In NWPT.
[21]
Christel Baier and Joost-Pieter Katoen. 2008. Principles of Model Checking. MIT Press.
[22]
Simonetta Balsamo and Marta Simeoni. 2001. On transforming UML models into performance models. In Workshop on Transformations in the UML.
[23]
Michael Balser, Simon Bäumler, Alexander Knapp, Wolfgang Reif, and Andreas Thums. 2004. Interactive verification of UML state machines. In ICFEM (LNCS), Jim Davies, Wolfram Schulte, and Michael Barnett (Eds.), Vol. 3308. Springer, 434–448. DOI:
[24]
Michael Balser, Wolfgang Reif, Gerhard Schellhorn, and Kurt Stenzel. 1998. KIV 3.0 for provably correct systems. In FM-Trends (LNCS), Dieter Hutter, Werner Stephan, Paolo Traverso, and Markus Ullmann (Eds.), Vol. 1641. Springer, 330–337. DOI:
[25]
Luciano Baresi and Mauro Pezzè. 2001. On formalizing UML with high-level Petri nets. In Concurrent Object-Oriented Programming and Petri Nets, Advances in Petri Nets (LNCS), Gul Agha, Fiorella de Cindio, and Grzegorz Rozenberg (Eds.), Vol. 2001. Springer, 276–304. DOI:
[26]
Maria Encarnación Beato, Manuel Barrio-Solórzano, Carlos Enrique Cuesta Quintero, and Pablo de la Fuente. 2005. UML automatic verification tool with formal methods. Electron. Notes Theoret. Comput. Sci. 127, 4 (2005), 3–16. DOI:
[27]
Jörg Beckers, Daniel Klünder, Stefan Kowalewski, and Bastian Schlich. 2008. Direct support for model checking abstract state machines by utilizing simulation. In ABZ (LNCS), Egon Börger, Michael J. Butler, Jonathan P. Bowen, and Paul Boca (Eds.), Vol. 5238. Springer, 112–124. DOI:
[28]
Gerd Behrmann, Kim Guldstrand Larsen, Henrik Reif Andersen, Henrik Hulgaard, and Jørn Lind-Nielsen. 2002. Verification of hierarchical state/event systems using reusability and compositionality. Form. Meth. Syst. Des. 21, 2 (2002), 225–244. DOI:
[29]
Simona Bernardi, Susanna Donatelli, and José Merseguer. 2002. From UML sequence diagrams and statecharts to analysable Petri net models. In WOSP@ISSTA. ACM, 35–45. DOI:
[30]
Simona Bernardi, José Merseguer, and Dorina C. Petriu. 2012. Dependability modeling and analysis of software systems specified with UML. Comput. Surv. 45, 1 (2012), 2:1–2:48. DOI:
[31]
Bernard Berthomieu and François Vernadat. 2006. Time Petri nets analysis with TINA. In QEST. IEEE Computer Society, 123–124. DOI:
[32]
Valentin Besnard, Matthias Brun, Philippe Dhaussy, Frédéric Jouault, David Olivier, and Ciprian Teodorov. 2017. Towards one model interpreter for both design and deployment. In EXE (CEUR Workshop Proceedings), Loli Burgueño, Jonathan Corley, Nelly Bencomo, Peter J. Clarke, Philippe Collet, Michalis Famelis, Sudipto Ghosh, Martin Gogolla, Joel Greenyer, Esther Guerra, Sahar Kokaly, Alfonso Pierantonio, Julia Rubin, and Davide Di Ruscio (Eds.), Vol. 2019. CEUR-WS.org, 102–108. Retrieved from http://ceur-ws.org/Vol-2019/exe_4.pdf.
[33]
Valentin Besnard, Matthias Brun, Frédéric Jouault, Ciprian Teodorov, and Philippe Dhaussy. 2018. Embedded UML model execution to bridge the gap between design and runtime. In STAF (LNCS), Manuel Mazzara, Iulian Ober, and Gwen Salaün (Eds.), Vol. 11176. Springer, 519–528. DOI:
[34]
Valentin Besnard, Matthias Brun, Frédéric Jouault, Ciprian Teodorov, and Philippe Dhaussy. 2018. Unified LTL verification and embedded execution of UML models. In MODELS, Andrzej Wasowski, Richard F. Paige, and Øystein Haugen (Eds.). ACM, 112–122. DOI:
[35]
Valentin Besnard, Ciprian Teodorov, Frédéric Jouault, Matthias Brun, and Philippe Dhaussy. 2019. Verifying and monitoring UML models with observer automata: A transformation-free approach. In MODELS, Marouane Kessentini, Tao Yue, Alexander Pretschner, Sebastian Voss, and Loli Burgueño (Eds.). IEEE, 161–171. DOI:
[36]
Valentin Besnard, Ciprian Teodorov, Frédéric Jouault, Matthias Brun, and Philippe Dhaussy. 2021. Unified verification and monitoring of executable UML specifications. Softw. Syst. Model. 20, 6 (2021), 1825–1855. DOI:
[37]
Purandar Bhaduri and S. Ramesh. 2004. Model Checking of Statechart Models: Survey and Research Directions. Technical Report cs.SE/0407038. arXiv. Retrieved from https://arxiv.org/abs/cs/0407038.
[38]
Tommaso Bolognesi and Ed Brinksma. 1987. Introduction to the ISO specification language LOTOS. Comput. Netw. 14 (1987), 25–59. DOI:
[39]
Amar Bouali, Stefania Gnesi, and Salvatore Larosa. 1994. The Integration Project for the JACK Environment. Technical Report CS-R9443. Centrum voor Wiskunde en Informatica, Amsterdam, The Netherlands.
[40]
Amar Bouali, Stefania Gnesi, and Salvatore Larosa. 1994. JACK: Just another concurrency kit. The integration project. Bull. EATCS 54 (1994), 207–223.
[41]
Marius Bozga, Susanne Graf, Ileana Ober, Iulian Ober, and Joseph Sifakis. 2004. The IF toolset. In SFM-RT (LNCS), Marco Bernardo and Flavio Corradini (Eds.), Vol. 3185. Springer, 237–267. DOI:
[42]
Ruth Breu, Ursula Hinkel, Christoph Hofmann, Cornel Klein, Barbara Paech, Bernhard Rumpe, and Veronika Thurner. 1997. Towards a formalization of the unified modeling language. In ECOOP (LNCS), Mehmet Aksit and Satoshi Matsuoka (Eds.), Vol. 1241. Springer, 344–366. DOI:
[43]
Jean-Michel Bruel and Robert B. France. 1998. Transforming UML models to formal specifications. In 1998 Workshop on Formalizing UML. Why? How?
[44]
David Budgen and Pearl Brereton. 2006. Performing systematic literature reviews in software engineering. In ICSE, Leon J. Osterweil, H. Dieter Rombach, and Mary Lou Soffa (Eds.). ACM, 1051–1052. DOI:
[45]
David Budgen, Andy J. Burn, O. Pearl Brereton, Barbara A. Kitchenham, and Rialette Pretorius. 2011. Empirical evidence about the UML: A systematic literature review. Softw. - Pract. Exper. 41, 4 (2011), 363–392. DOI:
[46]
Michael J. Butler, John Colley, Andrew Edmunds, Colin F. Snook, Neil Evans, Neil Grant, and Helen Marshall. 2013. Modelling and refinement in CODA. In Refine@IFM (EPTCS), John Derrick, Eerke A. Boiten, and Steve Reeves (Eds.), Vol. 115. 36–51. DOI:
[47]
Egon Börger, Alessandra Cavarra, and Elvinia Riccobene. 2000. An ASM semantics for UML activity diagrams. In AMAST (LNCS), Teodor Rus (Ed.), Vol. 1816. Springer, 293–308. DOI:
[48]
Egon Börger, Alessandra Cavarra, and Elvinia Riccobene. 2000. Modeling the dynamics of UML state machines. In ASM (LNCS), Yuri Gurevich, Philipp W. Kutter, Martin Odersky, and Lothar Thiele (Eds.), Vol. 1912. Springer, 223–241. DOI:
[49]
Egon Börger, Alessandra Cavarra, and Elvinia Riccobene. 2001. Solving conflicts in UML state machines concurrent states. In CIUML.
[50]
Egon Börger, Alessandra Cavarra, and Elvinia Riccobene. 2002. A precise semantics of UML state machines: Making semantic variation points and ambiguities explicit. In SFEDL.
[51]
Egon Börger, Alessandra Cavarra, and Elvinia Riccobene. 2004. On formalizing UML state machines using ASM. Inf. Soft. Technol. 46, 5 (2004), 287–292. DOI:
[52]
Egon Börger, Elvinia Riccobene, and Alessandra Cavarra. 2003. Modeling the meaning of transitions from and to concurrent states in UML state machines. In SAC, Gary B. Lamont, Hisham Haddad, George A. Papadopoulos, and Brajendra Panda (Eds.). ACM, 1086–1091. DOI:
[53]
Egon Börger and Joachim Schmid. 2000. Composition and submachine concepts for sequential ASMs. In CSL (LNCS), Peter Clote and Helmut Schwichtenberg (Eds.), Vol. 1862. Springer, 41–60. DOI:
[54]
Egon Börger and Robert F. Stärk. 2003. Abstract State Machines. A Method for High-level System Design and Analysis. Springer. Retrieved from http://www.springer.com/computer/swe/book/978-3-540-00702-9.
[55]
Mats Carlsson and Lars Johansson. 2009. Formal Verification of UML-RT Capsules using Model Checking. Master’s Thesis. Department of Computer Science and Engineering, Chalmers University of Technology, Göteborg, Sweden.
[56]
Christine Choppy, Kais Klai, and Hacene Zidani. 2011. Formal verification of UML state diagrams: A Petri net based approach. ACM SIGSOFT Softw. Eng. Notes 36, 1 (Jan.2011), 1–8. DOI:
[57]
Alessandro Cimatti, Edmund M. Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. 2002. NuSMV 2: An OpenSource tool for symbolic model checking. In CAV (LNCS), Ed Brinksma and Kim Guldstrand Larsen (Eds.), Vol. 2404. Springer, 359–364. DOI:
[58]
Edmund M. Clarke and Wolfgang Heinle. 2000. Modular Translation of Statecharts to SMV. Technical Report CMU-CS-00-XXX. Carnegie Mellon University.
[59]
Kevin Compton, Yuri Gurevich, James Huggins, and Wuwei Shen. 2000. An Automatic Verification Tool for UML. Technical Report CSE-TR-423-00. University of Michigan.
[60]
Kevin J. Compton, James Huggins, and Wuwei Shen. 2000. A semantic model for the state machine in the unified modeling language. In Proceedings of the UML 2000 Workshop: Dynamic Behaviour in UML Models: Semantic Questions.
[61]
Sylvain Conchon, Alain Mebsout, and Fatiha Zaïdi. 2015. Certificates for parameterized model checking. In FM (LNCS), Nikolaj Bjørner and Frank S. de Boer (Eds.), Vol. 9109. Springer, 126–142. DOI:
[62]
Michelle L. Crane and Jürgen Dingel. 2005. On the Semantics of UML State Machines: Categorization and Comparison. Technical Report 2005-501. School of Computing, Queen’s University, Kingston, Ontario, Canada. Retrieved from https://research.cs.queensu.ca/TechReports/Reports/2005-501.pdf.
[63]
Werner Damm, Bernhard Josko, Amir Pnueli, and Anjelika Votintseva. 2002. Understanding UML: A formal semantics of concurrency and communication in real-time UML. In FMCO (LNCS), Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, and Willem P. de Roever (Eds.), Vol. 2852. Springer, 71–98. DOI:
[64]
Werner Damm, Bernhard Josko, Amir Pnueli, and Anjelika Votintseva. 2005. A discrete-time UML semantics for concurrency and communication in safety-critical applications. Sci. Comput. Program. 55, 1-3 (2005), 81–115. DOI:
[65]
Werner Damm, Bernhard Josko, Anjelika Votintseva, and Amir Pnueli. 2003. A Formal Semantics for a UML Kernel Language. Technical Report IST-2001-33522. OMEGA.
[66]
Alexandre David, M. Oliver Möller, and Wang Yi. 2002. Formal verification of UML statecharts with real-time extensions. In FASE (LNCS), Ralf-Detlef Kutsche and Herbert Weber (Eds.), Vol. 2306. Springer, 218–232. DOI:
[67]
Leonardo de Moura and Sebastian Ullrich. 2021. The Lean 4 theorem prover and programming language. In CADE (LNCS), André Platzer and Geoff Sutcliffe (Eds.), Vol. 12699. Springer, 625–635. DOI:
[68]
Giuseppe Del Castillo and Kirsten Winter. 2000. Model checking support for the ASM high-level language. In TACAS (LNCS), Susanne Graf and Michael I. Schwartzbach (Eds.), Vol. 1785. Springer, 331–346. DOI:
[69]
Roberto Di Cosmo and Stefano Zacchiroli. 2017. Software heritage: Why and how to preserve software source code. In iPRES, Shoichiro Hara, Shigeo Sugimoto, and Makoto Goto (Eds.). Retrieved from https://hdl.handle.net/11353/10.931064.
[70]
Salim Djaaboub, Elhillali Kerkouche, and Allaoua Chaoui. 2015. From UML statecharts to LOTOS expressions using graph transformation. In ICIST (CCIS), Giedre Dregvaite and Robertas Damasevicius (Eds.), Vol. 538. Springer, 548–559. DOI:
[71]
Jin Song Dong, Ping Hao, Shengchao Qin, Jun Sun, and Wang Yi. 2008. Timed automata patterns. Trans. Softw. Eng. 34, 6 (2008), 844–859. DOI:
[72]
Wei Dong, Ji Wang, Xuan Qi, and Zhichang Qi. 2001. Model checking UML statecharts. In APSEC. IEEE Computer Society, 363–370. DOI:
[73]
Jori Dubrovin. 2006. Jumbala — An Action Language for UML State Machines. Technical Report HUT-TCS-A101. Helsinki University of Technology, Laboratory for Theoretical Computer Science, Finland.
[74]
Jori Dubrovin and Tommi A. Junttila. 2008. Symbolic model checking of hierarchical UML state machines. In ACSD, Jonathan Billington, Zhenhua Duan, and Maciej Koutny (Eds.). IEEE, 108–117. DOI:
[75]
Jori Dubrovin, Tommi A. Junttila, and Keijo Heljanko. 2008. Symbolic step encodings for object based communicating state machines. In FMOODS (LNCS), Gilles Barthe and Frank S. de Boer (Eds.), Vol. 5051. Springer, 96–112. DOI:
[76]
Rik Eshuis and Roel J. Wieringa. 2000. Requirements level semantics for UML statecharts. In FMOODS (IFIP Conference Proceedings), Scott F. Smith and Carolyn L. Talcott (Eds.), Vol. 177. Kluwer, 121–140. DOI:
[77]
Andy Evans, Jean-Michel Bruel, Robert B. France, Kevin Lano, and Bernhard Rumpe. 1998. Making UML precise. In 1998 Workshop on Formalizing UML. Why? How?
[78]
Harald Fecher, Michael Huth, Heiko Schmidt, and Jens Schönborn. 2009. Refinement sensitive formal semantics of state machines with persistent choice. Electron. Notes Theoret. Comput. Sci. 250, 1 (2009), 71–86. DOI:
[79]
Harald Fecher, Marcel Kyas, Willem Paul de Roever, and Frank S. de Boer. 2006. Compositional operational semantics of a UML-kernel-model language. Electron. Notes Theoret. Comput. Sci. 156, 1 (2006), 79–96. DOI:
[80]
Harald Fecher, Marcel Kyas, and Jens Schönborn. 2005. Semantic Issues in UML 2.0 State Machines. Technical Report 0507. Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universtität Kiel. Retrieved from https://macau.uni-kiel.de/receive/macau_mods_00001899.Bericht des Instituts für Informatik.
[81]
Harald Fecher and Jens Schönborn. 2006. UML 2.0 state machines: Complete formal semantics via core state machine. In FMICS/PDMC (LNCS), Lubos Brim, Boudewijn R. Haverkort, Martin Leucker, and Jaco van de Pol (Eds.), Vol. 4346. Springer, 244–260. DOI:
[82]
Harald Fecher, Jens Schönborn, Marcel Kyas, and Willem Paul de Roever. 2005. 29 new unclarities in the semantics of UML 2.0 state machines. In ICFEM (LNCS), Kung-Kiu Lau and Richard Banach (Eds.), Vol. 3785. Springer, 52–65. DOI:
[83]
Houda Fekih, Leila Jemni Ben Ayed, and Stephan Merz. 2006. Transformation of B specifications into UML class diagrams and state machines. In SAC, Hisham Haddad (Ed.). ACM, 1840–1844. DOI:
[84]
Émilien Fournier, Ciprian Teodorov, and Loïc Lagadec. 2022. Dolmen: FPGA swarm for safety and liveness verification. In DATE. 1425–1430. DOI:
[85]
Chris Fox and Arthorn Luangsodsai. 2005. And-or dependence graphs for slicing statecharts. In Beyond Program Slicing (Dagstuhl Seminar Proceedings), David W. Binkley, Mark Harman, and Jens Krinke (Eds.), Vol. 05451. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany. Retrieved from http://drops.dagstuhl.de/opus/volltexte/2006/493.
[86]
Angelo Furfaro and Libero Nigro. 2005. Model checking hierarchical communicating real-time state machines. In ETFA. IEEE. DOI:
[87]
Angelo Furfaro and Libero Nigro. 2007. Timed verification of hierarchical communicating real-time state machines. Comput. Stand. Interf. 29, 6 (2007), 635–646. DOI:
[88]
Angelo Furfaro, Libero Nigro, and Francesco Pupo. 2006. Modular design of real-time systems using hierarchical communicating real-time state machines. Real-time Syst. 32, 1-2 (2006), 105–123. DOI:
[89]
Stefania Gnesi, Diego Latella, and Mieke Massink. 1999. Model checking UML statechart diagrams using JACK. In HASE. IEEE Computer Society, 46–55. DOI:
[90]
Stefania Gnesi, Diego Latella, and Mieke Massink. 2002. Modular semantics for a UML statechart diagrams kernel and its extension to multicharts and branching time model-checking. J. Logic Algeb. Program. 51, 1 (2002), 43–75. DOI:
[91]
Jan Friso Groote, Aad Mathijssen, Michel A. Reniers, Yaroslav S. Usenko, and Muck van Weerdenburg. 2006. The formal specification language mCRL2. In Methods for Modelling Software Systems (MMOSS’06) (Dagstuhl Seminar Proceedings), Ed Brinksma, David Harel, Angelika Mader, Perdita Stevens, and Roel J. Wieringa (Eds.), Vol. 06351. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany. Retrieved from http://drops.dagstuhl.de/opus/volltexte/2007/862.
[93]
Alexandre Hamez, Lom Hillah, Fabrice Kordon, Alban Linard, Emmanuel Paviot-Adet, Xavier Renault, and Yann Thierry-Mieg. 2006. New features in CPN-AMI 3: Focusing on the analysis of complex distributed systems. In ACSD. IEEE Computer Society, 273–275. DOI:
[94]
Helle Hvid Hansen, Jeroen Ketema, Bas Luttik, Mohammad Reza Mousavi, and Jaco van de Pol. 2010. Towards model checking executable UML specifications in mCRL2. Innov. Syst. Softw. Eng. 6, 1-2 (2010), 83–90. DOI:
[95]
David Harel. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (1987), 231–274. DOI:
[96]
David Harel and Eran Gery. 1997. Executable object modeling with statecharts. IEEE Comput. 30, 7 (1997), 31–42. DOI:
[97]
David Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michal Politi, Rivi Sherman, Aharon Shtull-Trauring, and Mark B. Trakhtenbrot. 1990. STATEMATE: A working environment for the development of complex reactive systems. Trans. Softw. Eng. 16, 4 (1990), 403–414. DOI:
[98]
David Harel and Amnon Naamad. 1996. The STATEMATE semantics of statecharts. Trans. Softw. Eng. Methodol. 5, 4 (1996), 293–333. DOI:
[99]
David Harel and Michal Politi. 1998. Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, Inc.
[100]
Gerard J. Holzmann. 2004. The SPIN Model Checker - Primer and Reference Manual. Addison-Wesley.
[101]
Zhaoxia Hu and Sol M. Shatz. 2004. Mapping UML diagrams to a Petri net notation for system simulation. In SEKE, Frank Maurer and Günther Ruhe (Eds.). 213–219.
[102]
Jaco Jacobs and Andrew C. Simpson. 2014. A formal model of SysML blocks using CSP for assured systems engineering. In FTSCS (CCIS), Cyrille Artho and Peter Csaba Ölveczky (Eds.), Vol. 476. Springer, 127–141. DOI:
[103]
Jörn W. Janneck and Philipp W. Kutter. 1998. Mapping Automata: Simple Abstract State Machines. Technical Report 49. Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology Zürich (ETH). DOI:
[104]
David N. Jansen, Holger Hermanns, and Joost-Pieter Katoen. 2002. A probabilistic extension of UML statecharts. In FTRTFT (LNCS), Werner Damm and Ernst-Rüdiger Olderog (Eds.), Vol. 2469. Springer, 355–374. DOI:
[105]
David N. Jansen and Roel Wieringa. 2002. Extending CTL with actions and real time. J. Logic Computat. 12, 4 (2002), 607–621. DOI:
[106]
Kurt Jensen and Lars Michael Kristensen. 2009. Coloured Petri Nets – Modelling and Validation of Concurrent Systems. Springer. DOI:
[107]
Yan Jin, Robert Esser, and Jörn W. Janneck. 2002. Describing the syntax and semantics of UML statecharts in a heterogeneous modelling environment. In Diagrams (LNCS), Mary Hegarty, Bernd Meyer, and N. Hari Narayanan (Eds.), Vol. 2317. Springer, 320–334. DOI:
[108]
Yan Jin, Robert Esser, and Jörn W. Janneck. 2004. A method for describing the syntax and semantics of UML statecharts. Softw. Syst. Model. 3, 2 (2004), 150–163. DOI:
[109]
Frédéric Jouault, Valentin Besnard, Théo Le Calvar, Ciprian Teodorov, Matthias Brun, and Jérôme Delatour. 2020. Designing, animating, and verifying partial UML Models. In MoDELS, Eugene Syriani, Houari A. Sahraoui, Juan de Lara, and Silvia Abrahão (Eds.). ACM, 211–217. DOI:
[110]
Frédéric Jouault, Valentin Sebille, Valentin Besnard, Théo Le Calvar, Ciprian Teodorov, Matthias Brun, and Jérôme Delatour. 2021. AnimUML as a UML modeling and verification teaching tool. In MODELS Companion. IEEE, 615–619. DOI:
[111]
Toni Jussila, Jori Dubrovin, Tommi Junttila, Timo Latvala, and Ivan Porres. 2006. Model checking dynamic and hierarchical UML state machines. In MoDeV \(^{2}\) a, Benoît Baudry, David Hearnden, Nicolas Rapin, and Jörn Guy Süß (Eds.). 94–110.
[112]
Jan Jürjens. 2002. Formal semantics for interacting UML subsystems. In FMOODS (IFIP Conference Proceedings), Bart Jacobs and Arend Rensink (Eds.), Vol. 209. Kluwer, 29–43.
[113]
Jan Jürjens. 2002. A UML statecharts semantics with message-passing. In SAC, Gary B. Lamont, Hisham Haddad, George A. Papadopoulos, and Brajendra Panda (Eds.). ACM, 1009–1013. DOI:
[114]
Gijs Kant, Alfons Laarman, Jeroen Meijer, Jaco van de Pol, Stefan Blom, and Tom van Dijk. 2015. LTSmin: High-performance language-independent model checking. In TACAS (LNCS), Christel Baier and Cesare Tinelli (Eds.), Vol. 9035. Springer, 692–707. DOI:
[115]
Soon-Kyeong Kim and David A. Carrington. 2002. A formal metamodeling approach to a transformation between the UML state machine and object-Z. In ICFEM (LNCS), Chris George and Huaikou Miao (Eds.), Vol. 2495. Springer, 548–560. DOI:
[116]
Barbara A. Kitchenham, Pearl Brereton, David Budgen, Mark Turner, John Bailey, and Stephen G. Linkman. 2009. Systematic literature reviews in software engineering – A systematic literature review. Inf. Softw. Technol. 51, 1 (2009), 7–15. DOI:
[117]
Alexander Knapp, Stephan Merz, and Christopher Rauh. 2002. Model checking timed UML state machines and collaborations. In FTRTFT (LNCS), Werner Damm and Ernst-Rüdiger Olderog (Eds.), Vol. 2469. Springer, 395–416. DOI:
[118]
Alexander Knapp and Till Mossakowski. 2017. UML interactions meet state machines—An institutional approach. In CALCO (LIPIcs), Filippo Bonchi and Barbara König (Eds.), Vol. 72. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 15:1–15:15. DOI:
[119]
Alexander Knapp and Till Mossakowski. 2018. Multi-view consistency in UML: A survey. In Graph Transformation, Specifications, and Nets - In Memory of Hartmut Ehrig (LNCS), Reiko Heckel and Gabriele Taentzer (Eds.), Vol. 10800. Springer, 37–60. DOI:
[120]
Alexander Knapp, Till Mossakowski, Markus Roggenbach, and Martin Glauer. 2015. An institution for simple UML state machines. In FASE (LNCS), Alexander Egyed and Ina Schaefer (Eds.), Vol. 9033. Springer, 3–18. DOI:
[121]
Alexander Knapp, Markus Roggenbach, and Bernd-Holger Schlingloff. 2014. On the use of test cases in model-based software product line development. In SPLC, Stefania Gnesi, Alessandro Fantechi, Patrick Heymans, Julia Rubin, Krzysztof Czarnecki, and Deepak Dhungana (Eds.). ACM, 247–251. DOI:
[122]
Alexander Knapp and Jochen Wuttke. 2006. In MoDELS Workshops (LNCS), Thomas Kühne (Ed.), Vol. 4364. Springer, 42–51. DOI:
[123]
Jun Kong, Kang Zhang, Jing Dong, and Dianxiang Xu. 2009. Specifying behavioral semantics of UML diagrams through graph transformations. J. Syst. Softw. 82, 2 (2009), 292–306. DOI:
[124]
Vinay Kumar, Lalit Kumar Singh, and Anil Kumar Tripathi. 2017. Transformation of deterministic models into state space models for safety analysis of safety critical systems: A case study of NPP. Annals Nucl. Energ. 105 (July2017), 133–143. DOI:
[125]
Sabine Kuske. 2001. A formal semantics of UML state machines based on structured graph transformation. In UML (LNCS), Martin Gogolla and Cris Kobryn (Eds.), Vol. 2185. Springer, 241–256. DOI:
[126]
Sabine Kuske, Martin Gogolla, Ralf Kollmann, and Hans-Jörg Kreowski. 2002. An integrated semantics for UML class, object and state diagrams based on graph transformation. In iFM (LNCS), Michael J. Butler, Luigia Petre, and Kaisa Sere (Eds.), Vol. 2335. Springer, 11–28. DOI:
[127]
Gihwon Kwon. 2000. Rewrite rules and operational semantics for model checking UML statecharts. In UML (LNCS), Andy Evans, Stuart Kent, and Bran Selic (Eds.), Vol. 1939. Springer, 528–540. DOI:
[128]
Marcel Kyas, Harald Fecher, Frank S. de Boer, Joost Jacob, Jozef Hooman, Mark van der Zwaag, Tamarah Arons, and Hillel Kugler. 2005. Formalizing UML models and OCL constraints in PVS. Electron. Notes Theoret. Comput. Sci. 115 (2005), 39–47. DOI:
[129]
Vitus S. W. Lam and Julian A. Padget. 2004. Symbolic model checking of UML statechart diagrams with an integrated approach. In ECBS. IEEE Computer Society, 337–347. DOI:
[130]
Kevin Lano and David Clark. 2007. Direct semantics of extended state machines. J. Obj. Technol. 6, 9 (2007), 35–51. DOI:
[131]
Kevin Lano, David Clark, and Kelly Androutsopoulos. 2004. UML to B: Formal verification of object-oriented models. In iFM (LNCS), Eerke A. Boiten, John Derrick, and Graeme Smith (Eds.), Vol. 2999. Springer, 187–206. DOI:
[132]
Kevin Lano, José Luiz Fiadeiro, and Luis Filipe Andrade. 2002. Software Design Using Java 2. Palgrave Macmillan.
[133]
Kevin Lano, Kunxiang Jin, and Shefali Tyagi. 2021. Model-based testing and monitoring using AgileUML. In ANT/EDI40 (Procedia Computer Science), Elhadi M. Shakshuki and Ansar-Ul-Haque Yasar (Eds.), Vol. 184. Elsevier, 773–778. DOI:
[134]
Kim Guldstrand Larsen, Paul Pettersson, and Wang Yi. 1997. UPPAAL in a nutshell. Int. J. Softw. Tools Technol. Transf. 1, 1-2 (1997), 134–152.
[135]
Diego Latella, István Majzik, and Mieke Massink. 1999. Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. Form. Asp. Comput. 11, 6 (1999), 637–664. DOI:
[136]
Diego Latella, István Majzik, and Mieke Massink. 1999. Towards a formal operational semantics of UML statechart diagrams. In FMOODS (IFIP Conference Proceedings), Paolo Ciancarini, Alessandro Fantechi, and Roberto Gorrieri (Eds.), Vol. 139. Kluwer.
[137]
Hung Ledang and Jeanine Souquières. 2002. Contributions for modelling UML state-charts in B. In iFM (LNCS), Michael J. Butler, Luigia Petre, and Kaisa Sere (Eds.), Vol. 2335. Springer, 109–127. DOI:
[138]
David Lee and MMihalis Yannakakis. 1996. Principles and methods of testing finite state machines-a survey. Proc. IEEE 84, 8 (1996), 1090–1123. DOI:
[139]
Timothy C. Lethbridge, Andrew Forward, Omar Badreddin, Dusan Brestovansky, Miguel A. Garzón, Hamoud Aljamaan, Sultan Eid, Ahmed Husseini Orabi, Mahmoud Husseini Orabi, Vahdat Abdelzad, Opeyemi Adesina, Aliaa Alghamdi, Abdulaziz Algablan, and Amid Zakariapour. 2021. Umple: Model-driven development for open source and education. Sci. Comput. Program. 208 (2021), 102665. DOI:
[140]
Jiexin Lian, Zhaoxia Hu, and Sol M. Shatz. 2008. Simulation-based analysis of UML statechart diagrams: Methods and case studies. Softw. Qual. J. 16, 1 (2008), 45–78. DOI:
[141]
Johan Lilius and Iván Porres Paltor. 1999. Formalising UML state machines for model checking. In UML (LNCS), Robert B. France and Bernhard Rumpe (Eds.), Vol. 1723. Springer, 430–445. DOI:
[142]
Johan Lilius and Iván Porres Paltor. 1999. The Semantics of UML State Machines. Technical Report 273. Turku Centre for Computer Science.
[143]
Johan Lilius and Iván Porres Paltor. 1999. vUML: A tool for verifying UML models. In ASE. IEEE Computer Society, 255–258. DOI:
[144]
Shuang Liu, Yang Liu, Étienne André, Christine Choppy, Jun Sun, Bimlesh Wadhwa, and Jin Song Dong. 2013. A formal semantics for complete UML state machines with communications. In iFM (LNCS), Luigia Petre and Einar Broch Johnsen (Eds.), Vol. 7940. Springer, 331–346. DOI:
[145]
Shuang Liu, Yang Liu, Jun Sun, Manchun Zheng, Bimlesh Wadhwa, and Jin Song Dong. 2013. USMMC: A self-contained model checker for UML state machines. In ESEC/FSE, Bertrand Meyer, Luciano Baresi, and Mira Mezini (Eds.). ACM, 623–626. DOI:
[146]
Mass Soldal Lund, Atle Refsdal, and Ketil Stølen. 2010. Semantics of UML models for dynamic behavior - A survey of different approaches. In International Dagstuhl Workshop on Model-Based Engineering of Embedded Real-Time Systems (LNCS), Holger Giese, Gabor Karsai, Edward Lee, Bernhard Rumpe, and Bernhard Schätz (Eds.), Vol. 6100. Springer, 77–103. DOI:
[147]
Achraf Lyazidi and Salma Mouline. 2019. Formal verification of UML state machine diagrams using Petri nets. In NETYS (LNCS), Mohamed Faouzi Atig and Alexander A. Schwarzmann (Eds.), Vol. 11704. Springer, 67–74. DOI:
[148]
Gerald Lüttgen, Michael von der Beeck, and Rance Cleaveland. 1999. Statecharts via process algebra. In CONCUR (LNCS), Jos C. M. Baeten and Sjouke Mauw (Eds.), Vol. 1664. Springer, 399–414. DOI:
[149]
Andrea Maggiolo-Schettini, Adriano Peron, and Simone Tini. 2003. A comparison of statecharts step semantics. Theoret. Comput. Sci. 290, 1 (2003), 465–498. DOI:
[150]
Frédéric Mallet and Charles André. 2009. On the semantics of UML/MARTE clock constraints. In ISORC. IEEE Computer Society, 305–312. DOI:
[151]
Zohar Manna and Amir Pnueli. 1992. The Temporal Logic of Reactive and Concurrent Systems – Specification. Springer. DOI:
[152]
Marco Ajmone Marsan, Gianfranco Balbo, Gianni Conte, Susanna Donatelli, and Giuliana Franceschinis. 1998. Modelling with generalized stochastic Petri nets. SIGMETRICS Perform. Eval. Rev. 26, 2 (1998), 2. DOI:
[153]
Fraco Mazzanti. 2009. Designing UML Models with UMC. Technical Report 2009-TR-043. Istituto di Scienza e Tecnologie dell’Informazione “Alessandro Faedo,” ISTI-CNR. Retrieved from https://openportal.isti.cnr.it/data/2009/161078/2009_161078.pdf.
[154]
Said Meghzili, Allaoua Chaoui, Martin Strecker, and Elhillali Kerkouche. 2017. On the verification of UML state machine diagrams to colored Petri nets transformation using Isabelle/HOL. In IRI, Chengcui Zhang, Balaji Palanisamy, Latifur Khan, and Sahra Sedigh Sarvestani (Eds.). IEEE Computer Society, 419–426. DOI:
[155]
Said Meghzili, Allaoua Chaoui, Martin Strecker, and Elhillali Kerkouche. 2019. Verification of model transformations using Isabelle/HOL and Scala. Inf. Syst. Front. 21, 1 (2019), 45–65. DOI:
[156]
Ahmed Mekki, Mohamed Ghazel, and Armand Toguyeni. 2009. Validating time-constrained systems using UML statecharts patterns and timed automata observers. In VECoS. British Computer Society, 112–124.
[157]
Stephen J. Mellor and Marc J. Balcer. 2002. Executable UML - A Foundation for Model-Driven Architecture. Addison-Wesley. Retrieved from http://www.informit.com/store/executable-uml-a-foundation-for-model-driven-architecture-9780201748048.
[158]
José Merseguer, Javier Campos, Simona Bernardi, and Susanna Donatelli. 2002. A compositional semantics for UML state machines aimed at performance evaluation. In DES. IEEE Computer Society, 295–302. DOI:
[159]
ChunYu Miao. 2011. Dynamic slicing research of UML statechart specifications. J. Comput. 6, 4 (2011), 792–798. DOI:
[160]
Huaikou Miao, Ling Liu, and Li Li. 2002. Formalizing UML models with object-Z. In ICFEM (LNCS), Chris George and Huaikou Miao (Eds.), Vol. 2495. Springer, 523–534. DOI:
[161]
Zoltán Micskei and Hélène Waeselynck. 2011. The many meanings of UML 2 sequence diagrams: A survey. Softw. Syst. Model. 10, 4 (2011), 489–514. DOI:
[162]
Erich Mikk, Yassine Lakhnech, and Michael Siegel. 1997. Hierarchical automata as model for statecharts. In ASIAN (LNCS), R. K. Shyamasundar and Kazunori Ueda (Eds.), Vol. 1345. Springer, 181–196. DOI:
[163]
Khadija El Miloudi and Aziz Ettouhami. 2015. A multi-view approach for formalizing UML state machine diagrams using Z notation. WSEAS Trans. Comput. 14 (2015), 72–78.
[164]
Peter D. Mosses. 2004. CASL Reference Manual, The Complete Documentation of the Common Algebraic Specification Language. LNCS, Vol. 2960. Springer. DOI:
[165]
Ben C. Moszkowski. 1985. A temporal logic for multilevel reasoning about hardware. Computer 18, 2 (1985), 10–19. DOI:
[166]
Muan Yong Ng and Michael J. Butler. 2002. Tool support for visualizing CSP in UML. In ICFEM (LNCS), Chris George and Huaikou Miao (Eds.), Vol. 2495. Springer, 287–298. DOI:
[167]
Muan Yong Ng and Michael J. Butler. 2003. Towards formalizing UML state diagrams in CSP. In SEFM. IEEE Computer Society, 138. DOI:
[168]
Iulian Ober, Susanne Graf, and Ileana Ober. 2004. Validation of UML models via a mapping to communicating extended timed automata. In SPIN (LNCS), Susanne Graf and Laurent Mounier (Eds.), Vol. 2989. Springer, 127–145. DOI:
[169]
Iulian Ober, Susanne Graf, and Ileana Ober. 2006. Validating timed UML models by simulation and verification. Int. J. Softw. Tools Technol. Transf. 8, 2 (2006), 128–145. DOI:
[170]
Object Management Group. 2017. Unified Modeling Language Superstructure, Version 2.5. Retrieved from https://www.omg.org/spec/UML/2.5.1/PDF.
[171]
Object Management Group. 2021. Semantics of a Foundational Subset for Executable UML Models. Retrieved from https://www.omg.org/spec/FUML/1.5/PDF.
[172]
Sam Owre, John M. Rushby, and Natarajan Shankar. 1992. PVS: A prototype verification system. In CADE-11 (LNCS), Deepak Kapur (Ed.), Vol. 607. Springer, 748–752. DOI:
[173]
Marian Petre. 2013. UML in practice. In ICSE, David Notkin, Betty H. C. Cheng, and Klaus Pohl (Eds.). IEEE Computer Society, 722–731. DOI:
[174]
Marian Petre. 2014. “No shit” or “Oh, shit!”: Responses to observations on the use of UML in professional practice. Softw. Syst. Model. 13, 4 (2014), 1225–1235. DOI:
[175]
Carl Adam Petri. 1962. Kommunikation mit Automaten. Ph.D. Dissertation. Darmstadt University of Technology, Germany.
[176]
Robert G. Pettit IV and Hassan Gomaa. 2000. Validation of dynamic behavior in UML using colored Petri nets. In Proceedings of the UML 2000 Workshop: Dynamic Behaviour in UML Models: Semantic Questions. 295–302.
[177]
Amir Pnueli and M. Shalev. 1991. What is in a step: On the semantics of statecharts. In TACS (LNCS), Takayasu Ito and Albert R. Meyer (Eds.), Vol. 526. Springer, 244–264. DOI:
[178]
Gianna Reggio, Egidio Astesiano, Christine Choppy, and Heinrich Hußmann. 2000. Analysing UML active classes and associated state machines - A lightweight formal approach. In FASE (LNCS), T. S. E. Maibaum (Ed.), Vol. 1783. Springer, 127–146. DOI:
[179]
Tobias Rosenberger, Saddek Bensalem, Alexander Knapp, and Markus Roggenbach. 2021. Institution-based encoding and verification of simple UML state machines in CASL/SPASS. In WADT (LNCS), Markus Roggenbach (Ed.), Vol. 12669. Springer, 120–141. DOI:
[180]
Tobias Rosenberger, Alexander Knapp, and Markus Roggenbach. 2022. An institutional approach to communicating UML state machines. In FASE (LNCS), Einar Broch Johnsen and Manuel Wimmer (Eds.), Vol. 13241. Springer, 205–224. DOI:
[181]
John Anil Saldhana, Sol M. Shatz, and Zhaoxia Hu. 2001. Formalization of object behavior and interactions from UML models. Int. J. Softw. Eng. Knowl. Eng. 11, 6 (2001), 643–673. DOI:
[182]
Thomas Santen and Dirk Seifert. 2006. Executing UML State Machines. Technical Report. Technische Universität Berlin, Softwaretechnik, Berlin, Germany.
[183]
Thomas Santen and Dirk Seifert. 2006. TEAGER - Test automation for UML state machines. In Software Engineering, Bettina Biel, Matthias Book, and Volker Gruhn (Eds.). GI, 73–84.
[184]
Vitaly Savicks, Colin F. Snook, and Michael J. Butler. 2010. Animation of UML-B State-machines. Technical Report 268261. University of Southampton, UK. Retrieved from https://eprints.soton.ac.uk/268261/1/TBFMsmAnim.pdf.
[185]
Timm Schäfer, Alexander Knapp, and Stephan Merz. 2001. Model checking UML state machines and collaborations. Electron. Notes Theoret. Comput. Sci. 55, 3 (2001), 357–369. DOI:
[186]
Jens Schönborn. 2005. Formal Semantics of UML 2.0 Behavioral State Machines. Master’s Thesis. Institute of Computer Science and Applied Mathematics, Technical Faculty, Christian-Albrechts-University of Kiel, Germany. Diplomarbeit.
[187]
Dirk Seifert. 2008. Conformance testing based on UML state machines. In ICFEM (LNCS), Shaoying Liu, T. S. E. Maibaum, and Keijiro Araki (Eds.), Vol. 5256. Springer, 45–65. DOI:
[188]
Dirk Seifert. 2008. An Executable Formal Semantics for a UML State Machine Kernel Considering Complex Structured Data. Research Report inria-00274391. HAL. Retrieved from https://hal.inria.fr/inria-00274391.
[189]
Bran Selic, Garth Gullekson, and Paul T. Ward. 1994. Real-time Object-oriented Modeling. Wiley.
[190]
Wuwei Shen, Kevin J. Compton, and James Huggins. 2001. A UML validation toolset based on abstract state machines. In ASE. IEEE Computer Society, 315–318. DOI:
[191]
Wuwei Shen, Kevin J. Compton, and James Huggins. 2002. A toolset for supporting UML static and dynamic model checking. In COMPSAC. IEEE Computer Society, 147–152. DOI:
[192]
Colin F. Snook and Michael J. Butler. 2006. UML-B: Formal modeling and design aided by UML. Trans. Softw. Eng. Methodol. 15, 1 (2006), 92–122. DOI:
[193]
Colin F. Snook and Michael J. Butler. 2008. UML-B and Event-B: An integration of language and tools. In SE. Acta Press, 598–177.
[194]
Colin F. Snook, Vitaly Savicks, and Michael J. Butler. 2010. Verification of UML models by translation to UML-B. In FMCO (LNCS), Bernhard K. Aichernig, Frank S. de Boer, and Marcello M. Bonsangue (Eds.), Vol. 6957. Springer, 251–266. DOI:
[195]
Marc Spielmann. 2000. Model checking abstract state machines and beyond. In ASM (LNCS), Yuri Gurevich, Philipp W. Kutter, Martin Odersky, and Lothar Thiele (Eds.), Vol. 1912. Springer, 323–340. DOI:
[196]
J. Michael Spivey. 1992. Z Notation - A Reference Manual (2nd. ed.). Prentice Hall.
[197]
Harald Störrle and Alexander Knapp. 2016. Discovering timing feature interactions with timed UML 2 interactions. In MoDeVVa@MoDELS (CEUR Workshop Proceedings), Michalis Famelis, Daniel Ratiu, and Gehan M. K. Selim (Eds.), Vol. 1713. CEUR-WS.org, 10–19. Retrieved from http://ceur-ws.org/Vol-1713/MoDeVVa_2016_paper_2.pdf.
[198]
Jun Sun, Yang Liu, Jin Song Dong, and Jun Pang. 2009. PAT: Towards flexible verification under fairness. In CAV (LNCS), Ahmed Bouajjani and Oded Maler (Eds.), Vol. 5643. Springer, 709–714. DOI:
[199]
Maurice H. ter Beek, Alessandro Fantechi, Stefania Gnesi, and Franco Mazzanti. 2011. A state/event-based model-checking approach for the analysis of abstract system properties. Sci. Comput. Program. 76, 2 (2011), 119–135. DOI:
[200]
Yann Thierry-Mieg and Lom-Messan Hillah. 2008. UML behavioral consistency checking using instantiable Petri nets. Innov. Syst. Softw. Eng. 4, 3 (2008), 293–300. DOI:
[201]
Issa Traoré. 2000. An outline of PVS semantics for UML statecharts. J. Univ. Comput. Sci. 6, 11 (2000), 1088–1108. Retrieved from http://www.jucs.org/jucs_6_11/an_outline_of_pvs.
[202]
Jan Trowitzsch and Armin Zimmermann. 2005. Real-time UML state machines: An analysis approach. In Workshop on Object Oriented Software Design for Real Time and Embedded Computer Systems (Net.ObjectDays 2005).
[203]
Jan Trowitzsch, Armin Zimmermann, and Günter Hommel. 2005. Towards quantitative analysis of real-time UML using stochastic Petri nets. In IPDPS. IEEE Computer Society. DOI:
[204]
Ninh-Thuan Truong and Jeanine Souquières. 2006. Verification of UML model elements using B. J. Inf. Sci. Eng. 22, 2 (2006), 357–373. Retrieved from http://www.iis.sinica.edu.tw/page/jise/2006/200603_08.html.
[205]
Andrew C. Uselton and Scott A. Smolka. 1994. A compositional semantics for statecharts using labeled transition systems. In CONCUR (LNCS), Bengt Jonsson and Joachim Parrow (Eds.), Vol. 836. Springer, 2–17. DOI:
[206]
Michael von der Beeck. 1994. A comparison of statecharts variants. In FTRTFT (LNCS), Hans Langmaack, Willem P. de Roever, and Jan Vytopil (Eds.), Vol. 863. Springer, 128–148. DOI:
[207]
Michael von der Beeck. 2002. A structured operational semantics for UML-statecharts. Softw. Syst. Model. 1, 2 (2002), 130–141. DOI:
[208]
Michael von der Beeck. 2006. A formal semantics of UML-RT. In MoDELS (LNCS), Oscar Nierstrasz, Jon Whittle, David Harel, and Gianna Reggio (Eds.), Vol. 4199. Springer, 768–782. DOI:
[209]
Ji Wang, Wei Dong, and Zhichang Qi. 2002. Slicing hierarchical automata for model checking UML statecharts. In ICFEM (LNCS), Chris George and Huaikou Miao (Eds.), Vol. 2495. Springer, 435–446. DOI:
[210]
Christoph Weidenbach, Dilyana Dimova, Arnaud Fietzke, Rohit Kumar, Martin Suda, and Patrick Wischnewski. 2009. SPASS version 3.5. In CADE (LNCS), Renate A. Schmidt (Ed.), Vol. 5663. Springer, 140–145. DOI:
[211]
Michael Westergaard. 2013. CPN tools 4: Multi-formalism and extensibility. In Petri Nets (LNCS), José Manuel Colom and Jörg Desel (Eds.), Vol. 7927. Springer, 400–409. DOI:
[212]
Claes Wohlin and Rafael Prikladnicki. 2013. Systematic literature reviews in software engineering. Inf. Softw. Technol. 55, 6 (2013), 919–920. DOI:
[213]
Wing Lok Yeung, Karl R. P. H. Leung, Ji Wang, and Wei Dong. 2005. Improvements towards formalizing UML state diagrams in CSP. In APSEC. IEEE Computer Society, 176–184. DOI:
[214]
Sergio Yovine. 1997. KRONOS: A verification tool for real-time systems. Int. J. Softw. Tools Technol. Transf. 1, 1–2 (1997), 123–133. DOI:
[215]
Xuede Zhan. 2007. A formal testing framework for UML statecharts. In SNPD, Wenying Feng and Feng Gao (Eds.). IEEE Computer Society, 882–887. DOI:
[216]
Xuede Zhan and Huaikou Miao. 2004. An approach to formalizing the semantics of UML statecharts. In ER (LNCS), Paolo Atzeni, Wesley W. Chu, Hongjun Lu, Shuigeng Zhou, and Tok Wang Ling (Eds.), Vol. 3288. Springer, 753–765. DOI:
[217]
Shao Jie Zhang and Yang Liu. 2010. An automatic approach to model checking UML state machines. In SSIRI. IEEE Computer Society, 1–6. DOI:
[218]
Karolina Zurowska and Jürgen Dingel. 2012. Symbolic execution of communicating and hierarchically composed UML-RT state machines. In NFM (LNCS), Alwyn Goodloe and Suzette Person (Eds.), Vol. 7226. Springer, 39–53. DOI:

Cited By

View all
  • (2024)To Do or Not to Do: Semantics and Patterns for Do Activities in UML PSSM State MachinesIEEE Transactions on Software Engineering10.1109/TSE.2024.342284550:8(2124-2141)Online publication date: Aug-2024
  • (2024)Development of a Framework-Independent Code Generator From State Machine DiagramsIEEE Access10.1109/ACCESS.2024.345469912(125108-125124)Online publication date: 2024
  • (2024)A fresh look on semantics of Concurrent State Based Language (ConStaBL)Journal of Computer Languages10.1016/j.cola.2024.10127079(101270)Online publication date: Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Computing Surveys
ACM Computing Surveys  Volume 55, Issue 13s
December 2023
1367 pages
ISSN:0360-0300
EISSN:1557-7341
DOI:10.1145/3606252
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 July 2023
Online AM: 17 January 2023
Accepted: 16 December 2022
Revised: 26 August 2022
Received: 22 July 2021
Published in CSUR Volume 55, Issue 13s

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. UML
  2. semantics
  3. formal specification
  4. formal verification

Qualifiers

  • Survey

Funding Sources

  • Software Verification from Design to Implementation

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)422
  • Downloads (Last 6 weeks)38
Reflects downloads up to 14 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)To Do or Not to Do: Semantics and Patterns for Do Activities in UML PSSM State MachinesIEEE Transactions on Software Engineering10.1109/TSE.2024.342284550:8(2124-2141)Online publication date: Aug-2024
  • (2024)Development of a Framework-Independent Code Generator From State Machine DiagramsIEEE Access10.1109/ACCESS.2024.345469912(125108-125124)Online publication date: 2024
  • (2024)A fresh look on semantics of Concurrent State Based Language (ConStaBL)Journal of Computer Languages10.1016/j.cola.2024.10127079(101270)Online publication date: Jun-2024
  • (2024)Evaluating formal model verification tools in an industrial context: the case of a smart device life cycle management systemSoftware and Systems Modeling10.1007/s10270-024-01201-0Online publication date: 16-Aug-2024
  • (2023)OSM: Leveraging model checking for observing dynamic behaviors in aspect-oriented applicationsOnline Journal of Communication and Media Technologies10.30935/ojcmt/1377113:4(e202355)Online publication date: 2023
  • (2023)Assessing the specification of modelling language semantics: a study on UML PSSMSoftware Quality Journal10.1007/s11219-023-09617-531:2(575-617)Online publication date: 1-Mar-2023
  • (2023)Pragmatic verification and validation of industrial executable SysML modelsSystems Engineering10.1002/sys.2167926:6(693-714)Online publication date: 10-May-2023

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media