Skip to main content
Log in

Formalising concurrent UML state machines using coloured Petri nets

  • Original Article
  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. 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

  3. 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)

    Article  Google Scholar 

  4. 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

  5. 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

  6. von der Beeck M: A structured operational semantics for UML-statecharts. Softw Syst Model 1(2), 130–141 (2002)

    Article  Google Scholar 

  7. 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

  8. 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)

    Google Scholar 

  9. 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

  10. 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

  11. 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)

    Article  Google Scholar 

  12. 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

  13. Gerard S (2015) Papyrus UML Modeling tool 1.1.2. https://www.eclipse.org/papyrus/

  14. 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)

    Article  MathSciNet  MATH  Google Scholar 

  15. 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

  16. Harel D, Gery E: Executable object modeling with statecharts. IEEE Comput 30(7), 31–42 (1997)

    Article  Google Scholar 

  17. Holzmann GJ (2003) The SPIN model checker: primer and reference manual. Addison Wesley

  18. Jussila T, Dubrovin J, Junttila T, Latvala T, Porres I (2006) Model checking dynamic and hierarchical UML state machines. In: MDV

  19. Jensen K, Kristensen LM (2009) Coloured Petri nets—modelling and validation of concurrent systems. Springer

  20. 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)

  21. 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

  22. 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

  23. 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)

    Article  Google Scholar 

  24. 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

  25. 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)

    Article  MATH  Google Scholar 

  26. Larsen KG, Pettersson P, Yi W: UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2), 134–152 (1997)

    Article  MATH  Google Scholar 

  27. 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

  28. Merlin PM (1974) A study of the recoverability of computing systems. PhD thesis, University of California, Irvine, CA, USA

  29. 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

  30. Maggiolo-Schettini A, Peron A, Tini S: A comparison of statecharts step semantics. Theory Comput Sci 290(1), 465–498 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  31. 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

  32. 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

  33. 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/

  34. OMG (2015) Unified Modeling Language (OMG UML), version 2.5. http://www.omg.org/spec/UML/2.5/

  35. 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

  36. 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

  37. 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

  38. 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

  39. Samek M: A crash course in UML state machines. Quantum Leaps, LLC (2009)

    Book  Google Scholar 

  40. 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

  41. 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

  42. Thierry-Mieg Y, Hillah L-M: UML behavioral consistency checking using instantiable Petri nets. Innov Syst Softw Eng (ISSE) 4(3), 293–300 (2008)

    Article  Google Scholar 

  43. Traonouez L-M, Lime D, Roux OH: Parametric model-checking of stopwatch Petri nets. J Univ Comput Sci 15(17), 3273–3304 (2009)

    MathSciNet  MATH  Google Scholar 

  44. 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)

  45. 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

  46. Zhang S, Liu Y (2010) An automatic approach to model checking UML state machines. In: SSIRI-C, pp 1–6. IEEE

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Étienne André.

Additional information

Communicated by Stephan Merz, Jun Pang, and Jin Song Dong

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-016-0388-9

Keywords

Navigation