Unifying Petri Net Semantics with Token Flows

  • Gabriel Juhás
  • Robert Lorenz
  • Jörg Desel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5606)


In this paper we advocate a unifying technique for description of Petri net semantics. Semantics, i.e. a possible behaviour, is basically a set of node-labelled and arc-labelled directed acyclic graphs, called token flows, where the graphs are distinguished up to isomorphism. The nodes of a token flow represent occurrences of transitions of the underlying net, so they are labelled by transitions. Arcs are labelled by multisets of places. Namelly, an arc between an occurrence x of a transition a and an occurrence y of a transition b is labelled by a multiset of places, saying how many tokens produced by the occurrence x of the transition a is consumed by the occurrence y of the transition b. The variants of Petri net behaviour are given by different interpretation of arcs and different structure of token flows, resulting in different sets of labelled directed acyclic graphs accepted by the net. We show that the most prominent semantics of Petri nets, namely processes of Goltz and Reisig, partial languages of Petri nets introduced by Grabowski, rewriting terms of Meseguer and Montanari, step sequences as well as classical occurrence (firing) sequences correspond to different subsets of token flows. Finally, we discuss several results achieved using token flows during the last four years, including polynomial test for the acceptance of a partial word by a Petri net, synthesis of Petri nets from partial languages and token flow unfolding.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bergenthum, R., Lorenz, R., Mauser, S.: Faster Unfolding of General Petri Nets Based on Token Flows. In: van Hee, K.M., Valk, R. (eds.) PETRI NETS 2008. LNCS, vol. 5062, pp. 13–32. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Bergenthum, D.J., Lorenz, R., Mauser, S.: Synthesis of Petri Nets from Finite Partial Languages. Fundamenta Informaticae 88(4), 437–468 (2008)MathSciNetzbMATHGoogle Scholar
  3. 3.
    Best, E., Devillers, R.: Sequential and Concurrent Behaviour in Petri Net Theory. Theoretical Computer Science 55(1), 87–136 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Degano, E., Meseguer, J., Montanari, U.: Axiomatizing the Algebra of Net Computations and Processes. Acta Informatica 33(7), 641–667 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Desel, J., Juhás, G.: What is a Petri Net? In: Ehrig, H., Juhás, G., Padberg, J., Rozenberg, G. (eds.) APN 2001. LNCS, vol. 2128, pp. 1–25. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Gischer, J.L.: The equational theory of pomsets. Theoretical Computer Science 61(2-3), 199–224 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Goltz, U., Reisig, W.: The Non-Sequential Behaviour of Petri Nets. Information and Control 57(2-3), 125–147 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Goltz, U., Reisig, W.: Processes of Place/Transition Nets. In: Díaz, J. (ed.) ICALP 1983. LNCS, vol. 154, pp. 264–277. Springer, Heidelberg (1983)CrossRefGoogle Scholar
  9. 9.
    Grabowski, J.: On Partial Languages. Fundamenta Informaticae 4(2), 428–498 (1981)MathSciNetzbMATHGoogle Scholar
  10. 10.
    Juhás, G.: Are these events independent? It depends! Habilitation thesis, Katholic University Eichstätt-Ingolstadt (2005)Google Scholar
  11. 11.
    Juhás, G., Lorenz, R., Desel, J.: Can I Execute my Scenario in Your Net? In: Ciardo, G., Darondeau, P. (eds.) ICATPN 2005. LNCS, vol. 3536, pp. 289–308. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Kiehn, A.: On the Interrelationship between Synchronized and Non-Synchronized Behavior of Petri Nets. Journal Inf. Process. Cybern. EIK 24(1-2), 3–18 (1988)MathSciNetzbMATHGoogle Scholar
  13. 13.
    Lorenz, R., Juhás, G.: Toward Synthesis of Petri Nets from Scenarios. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 302–321. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Lorenz, R., Juhás, G., Bergenthum, R., Desel, J., Mauser, S.: Executability of scenarios in Petri nets. Theoretical Computer Science 410(12-13), 1190–1216 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Meseguer, J., Montanari, U.: Petri nets are monoids. Information and Computation 88(2), 105–155 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Priese, L.: Semi-rational sets of dags. In: De Felice, C., Restivo, A. (eds.) DLT 2005. LNCS, vol. 3572, pp. 385–396. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Oliveira, M.: Hasse Diagram Generators and Petri Nets. In: Petri Nets 2009. LNCS. Springer, Heidelberg (to appear, 2009)Google Scholar
  18. 18.
    Pratt, V.: Modelling Concurrency with Partial Orders. Int. Journal of Parallel Programming 15(1), 33–71 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Vogler, W.: Partial words versus processes: a short comparison. In: Rozenberg, G. (ed.) APN 1992. LNCS, vol. 609, pp. 292–303. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  20. 20.
    Schrijver, A.: Theory of linear and integer programming. Wiley, Chichester (1986)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Gabriel Juhás
    • 1
  • Robert Lorenz
    • 2
  • Jörg Desel
    • 3
  1. 1.Faculty of Electrical Engineering and Information TechnologySlovak University of TechnologyBratislavaSlovakia
  2. 2.Department of Computer ScienceUniversity of AugsburgGermany
  3. 3.Department of Applied Computer ScienceCatholic University of Eichstätt-IngolstadtGermany

Personalised recommendations