Formal Aspects of Computing

, Volume 25, Issue 5, pp 659–681

Statechartable Petri nets

Open Access
Original Article


Petri nets and statecharts can model concurrent systems in a succinct way. While translations from statecharts to Petri nets exist, a well-defined translation from Petri nets to statecharts is lacking. Such a translation should map an input net to a corresponding statechart, having a structure and behaviour similar to that of the input net. Since statecharts can only model a restricted form of concurrency, not every Petri net has a corresponding statechart. We identify a class of Petri nets, called statechartable nets, that can be translated to corresponding statecharts. Statechartable Petri nets are structurally defined using the novel notion of an area. We also define a structural translation that maps each statechartable Petri net to a corresponding statechart. The translation is proven sound and complete for statechartable Petri nets.


Petri nets Statecharts Formal translation 


  1. AB08.
    Ameedeen MA, Bordbar B (2008) A model driven approach to represent sequence diagrams as free choice Petri nets. In: Proc. EDOC 2008. IEEE Computer Society, pp 213–221Google Scholar
  2. BdC92.
    Bernardinello L, de Cindio F (1992) A survey of basic net models and modular net classes. In: Rozenberg G (ed) Advances in Petri nets 1992. Lecture notes in computer science, vol 609. Springer, Berlin, pp 304–351CrossRefGoogle Scholar
  3. DH94.
    Drusinsky D, Harel D (1994) On the power of bounded concurrency I: finite automata. J ACM 41(3): 517–539MathSciNetMATHCrossRefGoogle Scholar
  4. DJ01.
    Desel J, Juhás G (2001) What is a Petri net? Informal answers for the informed reader. In: Ehrig H, Juhás G, Padberg J, and Rozenberg G (eds) Unifying Petri nets. Lecture notes in computer science, vol 2128. Springer, Berlin, pp 1–27Google Scholar
  5. Esh05.
    Eshuis R (2005) On nets with structured concurrency. Beta Working Paper Series, WP 155, Eindhoven University of TechnologyGoogle Scholar
  6. Esh09a.
    Eshuis R (2009) Reconciling statechart semantics. Sci Comput Program 74(3): 65–99MathSciNetMATHCrossRefGoogle Scholar
  7. Esh09b.
    Eshuis R (2009) Translating safe Petri nets to statecharts in a structure-preserving way. In: Cavalcanti A, Dams D (eds) FM 2009. Lecture notes in computer science, vol 5850. Springer, Berlin, pp 239–255Google Scholar
  8. GK07.
    Grumberg O, Katz S (2007) Veritech: a framework for translating among model description notations. STTT 9(2): 119–132CrossRefGoogle Scholar
  9. Gra97.
    Grahlmann B (1997) The PEP tool. In Grumberg O (ed) Proc. CAV ’97. Lecture notes in computer science, vol 1254. Springer, Berlin, pp 440–443Google Scholar
  10. Ham05.
    Hammal Y (2005) A formal semantics of UML statecharts by means of timed Petri nets. In: Wang F (ed) Proc. FORTE 2005. Lecture notes in computer science, vol 3731. Springer, Berlin, pp 38–52Google Scholar
  11. Har87.
    Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8(3): 231–274MathSciNetMATHCrossRefGoogle Scholar
  12. Har88.
    Harel D (1988) On visual formalisms. Commun ACM 31(5): 514–530MathSciNetCrossRefGoogle Scholar
  13. HK92.
    Harel D, Kahana C-A (1992) On statecharts with overlapping. ACM Trans Softw Eng Methodol 1(4):399–421CrossRefGoogle Scholar
  14. HK02.
    Harel D, Kugler H (2002) Synthesizing state-based object systems from LSC specifications. Int J Found Comput Sci 13(1): 5–51MathSciNetMATHCrossRefGoogle Scholar
  15. HMP+02.
    Huszerl G, Majzik I, Pataricza A, Kosmidis K, Dal Cin M (2002) Quantitative analysis of UML statechart models of dependable systems. Comput J 45(3):260–277MATHCrossRefGoogle Scholar
  16. HN96.
    Harel D, Naamad A (1996) The STATEMATE semantics of statecharts. ACM Trans Softw Eng Methodol 5(4): 293–333CrossRefGoogle Scholar
  17. HPSS87.
    Harel D, Pnueli A, Schmidt JP, Sherman S (1987) On the formal semantics of statecharts. In: Proceedings of the second IEEE symposium on logic in computation. IEEE, pp 54–64Google Scholar
  18. Jen92.
    Jensen K (1992) Coloured Petri nets. Basic concepts, analysis methods and practical use. In: EATCS monographs on theoretical computer Science. Springer, BerlinGoogle Scholar
  19. KCK+97.
    Kishinevsky M, Cortadella J, Kondratyev A, Lavagno L, Taubin A, Yakovlev A (1997) Coupling asynchrony and interrupts: place chartnets. In: Azéma P, Balbo G (eds) Proc ICATPN 1997 Lecture notes in computer science, vol 1248. Springer, Berlin, pp 328–347Google Scholar
  20. Klu03.
    Kluge O (2003) Modelling a railway crossing with message sequence charts and petri nets. In: Ehrig H, Reisig W, Rozenberg G, Weber H (eds) Petri Net technology for communication-based systems. Lecture notes in computer science, vol 2472. Springer, Berlin, pp 197–218CrossRefGoogle Scholar
  21. Mat.
    The Mathworks. Stateflow user’s guide.
  22. Mur89.
    Murata T (1989) Petri nets: properties, analysis, and applications. In: Proc IEEE 77(4):541–580CrossRefGoogle Scholar
  23. Pet62.
    Petri CA (1962) Kommunikation mit Automaten. PhD thesis, Institut für instrumentelle Mathematik, BonnGoogle Scholar
  24. PS91.
    Pnueli A, Shalev M (1991) What is in a step: on the semantics of statecharts. In: Ito T, Meyer AR (eds) Theoretical aspects of computer software. Lecture notes in computer science, vol 526. Springer, Berlin, pp 244–265CrossRefGoogle Scholar
  25. Rei85.
    Reisig W (1985) Petri Nets: an introduction. In: EATCS monographs on theoretical computer science, vol 4. Springer, BerlinGoogle Scholar
  26. RK97.
    Rausch M, Krogh B (1997) Transformations between different model forms in discrete event systems. In: Proc IEEE SMC 1997, vol 3, pp 2841–2846Google Scholar
  27. RR98.
    Reisig W, Rozenberg G (eds) (1998) Lectures on Petri nets I: advances in Petri nets. In: Lecture notes in computer science, vol 1492. Springer, BerlinGoogle Scholar
  28. SNK99.
    Schnabel M, Nenninger G, Krebs V (1999) Konvertierung sicherer Petri-netze in statecharts (in German). Automatisierungstechnik 47(12):571–580Google Scholar
  29. SSH01.
    Saldhana JA, Shatz SM, Hu Z (2001) Formalization of object behavior and interactions from UML models. Int J Softw Eng Knowl Eng 11(6):643–673CrossRefGoogle Scholar
  30. UML03a.
    UML Revision Taskforce. OMG UML specification v. 1.5. Object Management Group, 2003. OMG Document Number formal/2003-03-01Google Scholar
  31. UML03b.
    UML Revision Taskforce. UML 2.0 superstructure specification. Object Management Group, 2003. OMG Document Number ptc/03-07-06Google Scholar
  32. VE10.
    Van Gorp P, Eshuis R (2010) Transforming process models: executable rewrite rules versus a formalized java program. In: Petriu DC, Rouquette N, Haugen Ø (eds) Proc MoDELS 2010. Lecture notes in computer science, vol 6395. Springer, Berlin, pp 258–272Google Scholar
  33. WS00.
    Whittle J, Schumann J (2000) Generating statechart designs from scenarios. In: Proc ICSE, pp 314–323Google Scholar

Copyright information

© The Author(s) 2011

Authors and Affiliations

  1. 1.Eindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations