Abstract
With the increasing complexity of dynamic concurrent systems, a phase of formal specification and formal verification is needed. UML state machines are widely used to specify dynamic systems behaviours. However, the official semantics of UML is described in a semi-formal manner, which renders the formal verification of complex systems delicate. In this paper, we propose a formalisation of UML state machines using coloured Petri nets. We consider in particular concurrent aspects (orthogonal regions, forks, joins, variables), the hierarchy induced by composite states and their associated activities, external, local or inter-level transitions, entry/exit/do behaviours, transition priorities, and shallow history pseudostates. We use a CD player as a motivating example, and run various verifications using CPN Tools.
Similar content being viewed by others
References
André É, Benmoussa MM, Choppy C (2014) Formalising concurrent UML state machines using coloured Petri nets. In: Proceedings of the 6th international conference on knowledge and systems engineering (KSE’14), volume 326 of Advances in intelligent systems and computing. Springer, pp 473–486
André É, Benmoussa MM, Choppy C (2014) Translating UML state machines to coloured Petri nets using Acceleo: a report. In: Proceedings of the 3rd international workshop on engineering safety and security systems (ESSS 2014). EPTCS
André É, Choppy C, Klai K: Formalizing non-concurrent UML state machines using colored Petri nets. ACM SIGSOFT Softw Eng Notes 37(4), 1–8 (2012)
André É, Choppy C, Noulamo T (2014) Modelling timed concurrent systems using activity diagram patterns. In: Nguyen V-H, Le A-C, Huynh V-N (eds) Proceedings of the 6th international conference on knowledge and systems engineering (KSE’14), volume 326 of Advances in intelligent systems and computing. Springer, pp 339-351
André É, Choppy C, Reggio G (2013) Activity diagrams patterns for modeling business processes. In: Lee R (ed) 11th international conference on software engineering research, management and applications (SERA’13), volume 496 of Studies in computational intelligence. Springer, pp 197–213
von der Beeck M: A structured operational semantics for UML-statecharts. Softw Syst Model 1(2), 130–141 (2002)
Baresi L, Pezzè M (2001) On formalizing UML with high-level Petri nets. In: de Cindio GAF, Rozenberg G (eds) Concurrent object-oriented programming and Petri nets. Advances in Petri nets, volume 2001 of Lecture notes in computer science. Springer, pp 276–304
Börger E, Riccobene E, Schmid J: Capturing requirements by abstract state machines: the light control case study. J Univ Comput Sci 6(7), 597–620 (2000)
Berthomieu B, Vernadat F (2006) Time Petri nets analysis with TINA. In: Proceedings of the third international conference on the quantitative evaluation of systems (QEST 2006), pp 123–124. IEEE Computer Society
Carlsson M, Johansson L (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
Choppy C, Klai K, Zidani H: Formal verification of UML state diagrams: a Petri net based approach. ACM SIGSOFT Softw Eng Notes 36(1), 1–8 (2011)
Fecher H, Schönborn J (2007) UML 2.0 state machines: complete formal semantics via core state machine. In: Proceedings of the 11th international workshop on formal methods: applications and technology (FMICS 2006), volume 4346 of Lecture notes in computer science. Springer, pp 244–260
Gerard S (2015) Papyrus UML Modeling tool 1.1.2. https://www.eclipse.org/papyrus/
Gnesi S, Latella D, Massink M: Modular semantics for a UML statechart diagrams kernel and its extension to multicharts and branching time model-checking. J Log Algebr Program 51(1), 43–75 (2002)
Gogolla M, Presicce FP (1998) State diagrams in UML: a formal semantics using graph transformations—or diagrams are nice, but graphs are worth their price. In: ICSE workshop on precise semantics of modelling techniques, pp 55–72
Harel D, Gery E: Executable object modeling with statecharts. IEEE Comput 30(7), 31–42 (1997)
Holzmann GJ (2003) The SPIN model checker: primer and reference manual. Addison Wesley
Jussila T, Dubrovin J, Junttila T, Latvala T, Porres I (2006) Model checking dynamic and hierarchical UML state machines. In: MDV
Jensen K, Kristensen LM (2009) Coloured Petri nets—modelling and validation of concurrent systems. Springer
Jacobs J, Simpson A (2015) A formal model of SysML blocks using CSP for assured systems engineering. In: Proceedings of the 3rd international workshop on formal techniques for safety-critical systems (FTSCS 2014), volume 476 of Communications in computer and information science. Springer (To appear)
Knapp A, Merz S, Rauh C (2002) Model checking—timed UML state machines and collaborations. In: Formal techniques in real-time and fault-tolerant systems, 7th International symposium, FTRTFT, volume 2469 of Lecture notes in computer science. Springer, pp 395–416
Lüttgen G, von der Beeck M, Cleaveland R (1999) Statecharts via process algebra. In: 10th international conference on concurrency theory CONCUR, volume 1664 of Lecture notes in computer science. Springer, pp 399–414
Lian J, Hu Z, Shatz SM: Simulation-based analysis of UML statechart diagrams: methods and case studies. Softw Qual J 16(1), 45–78 (2008)
Liu S, Liu Y, André É, Choppy C, Sun J, Wadhwa B, Dong JS (2013) A formal semantics for the complete syntax of UML state machines with communications. In: Proceedings of the 10th international conference on integrated formal methods (iFM’13), volume 7940 of Lecture notes in computer science. Springer, pp 331–346
Latella D, Majzik I, Massink M: Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. Form Asp Comput 11(6), 637–664 (1999)
Larsen KG, Pettersson P, Yi W: UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2), 134–152 (1997)
Lime D, Roux OH, Seidner C, Traonouez L-M (2009) Romeo: a parametric model-checker for Petri nets with stopwatches. In: Kowalewski S, Philippou A (eds) 15th International conference on tools and algorithms for the construction and analysis of systems (TACAS 2009), volume 5505 of LNCS. Springer, pp 54–57
Merlin PM (1974) A study of the recoverability of computing systems. PhD thesis, University of California, Irvine, CA, USA
Mekki A, Ghazel M, Toguyeni A (2009) Validating time-constrained systems using UML statecharts patterns and timed automata observers. In: VECoS, pp 112–124. British Computer Society
Maggiolo-Schettini A, Peron A, Tini S: A comparison of statecharts step semantics. Theory Comput Sci 290(1), 465–498 (2003)
Ng MY, Butler M (2002) Tool support for visualizing CSP in UML. In: Proceedings of the 4th international conference on formal engineering methods (ICFEM 2002), volume 2495 of Lecture notes in computer science. Springer, pp 287–298
Ng MY, Butler M (2003) Towards formalizing UML state diagrams in CSP. In: Proceedings of the 1st international conference on software engineering and formal methods (SEFM 2003), pp 138–147. IEEE Computer Society
OMG (2011) UML profile for MARTE: Modeling and Analysis of Real-Time and Embedded systems, version 1.1. http://www.omg.org/spec/MARTE/1.1/PDF/
OMG (2015) Unified Modeling Language (OMG UML), version 2.5. http://www.omg.org/spec/UML/2.5/
Peron A (1995) Statecharts, transition structures and transformations. In: Mosses PD, Nielsen M, Schwartzbach MI (eds) 6th International joint conference CAAP/FASETAPSOFT’95: theory and practice of software development, volume 915 of Lecture notes in computer science. Springer, pp 454–468
Pettit IV RG, Gomaa H (2000) Validation of dynamic behavior in UML using colored Petri nets. In: Proceedings of UML’2000 workshop—dynamic behaviour in UML models: semantic questions, volume 1939 of Lecture notes in computer science. Springer Verlag, pp 295–302
Pettit IV RG, Gomaa H (2001) Modeling state-dependent objects using colored Petri nets. In: Proceedings of workshop on modelling of objects, components, and agents, pp 105–120
Pettit IV RG, Gomaa H (2006) Modeling behavioral patterns of concurrent objects using Petri nets. In: 9th IEEE international symposium on object-oriented real-time distributed computing ISORC, pp 303–312. IEEE Computer Society
Samek M: A crash course in UML state machines. Quantum Leaps, LLC (2009)
Schönborn J (2005) Formal semantics of UML 2.0 behavioral state machines. Technical report, Institute of Computer Science and Applied Mathematics, Christian-Albrechts-University of Kiel
Sun J, Liu Y, Dong JS, Pang J (2009) PAT: towards flexible verification under fairness. In: Proceedings of the 21st international conference on computer aided verification (CAV 2009), volume 5643 of Lecture notes in computer science. Springer
Thierry-Mieg Y, Hillah L-M: UML behavioral consistency checking using instantiable Petri nets. Innov Syst Softw Eng (ISSE) 4(3), 293–300 (2008)
Traonouez L-M, Lime D, Roux OH: Parametric model-checking of stopwatch Petri nets. J Univ Comput Sci 15(17), 3273–3304 (2009)
Trowitzsch J, Zimmermann A (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)
Westergaard M (2013) CPN Tools 4: multi-formalism and extensibility. In: Proceedings of the 34th international conference on application and theory of Petri nets and concurrency (Petri Nets 2013), volume 7927 of Lecture notes in computer science. Springer, pp 400–409
Zhang S, Liu Y (2010) An automatic approach to model checking UML state machines. In: SSIRI-C, pp 1–6. IEEE
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Stephan Merz, Jun Pang, and Jin Song Dong
Rights and permissions
About this article
Cite this article
André, É., Benmoussa, M.M. & Choppy, C. Formalising concurrent UML state machines using coloured Petri nets. Form Asp Comp 28, 805–845 (2016). https://doi.org/10.1007/s00165-016-0388-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-016-0388-9