Petri Net Synthesis with Union/Find

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10877)


We propose a new algorithm for the synthesis of a Petri net from a transition system. It is presented for a class of place/transition Petri nets we call \(\varDelta \)1-Petri nets. A \(\varDelta \)1-Petri net has an incidence matrix where entries have values 0, 1, and −1 only. This class includes safe Petri nets as well as ordinary place/transition nets. The proposed algorithm can be adapted to these net classes. The algorithm employs Tarjan’s union/find algorithm for managing sets of vertices. It requires just O(|V||T|) space where V is the set of vertices and T is the set of transition labels. Consequently, problem instances even beyond 1,000,000 vertices have a manageable memory footprint. Our results are experimentally validated using a prototype implementation.


  1. 1.
    Badouel, E., Bernardinello, L., Darondeau, P.: Polynomial algorithms for the synthesis of bounded nets. In: Mosses, P.D., Nielsen, M., Schwartzbach, M.I. (eds.) CAAP 1995. LNCS, vol. 915, pp. 364–378. Springer, Heidelberg (1995). Scholar
  2. 2.
    Badouel, E., Bernardinello, L., Darondeau, P.: Petri Net Synthesis. TTCSAES. Springer, Heidelberg (2015). Scholar
  3. 3.
    Badouel, E., Caillaud, B., Darondeau, P.: Distributing finite automata through Petri net synthesis. Form. Asp. Comput. 13(6), 447–470 (2002)CrossRefGoogle Scholar
  4. 4.
    Best, E., Schlachter, U.: Analysis of Petri nets and transition systems. In: Proceedings of the ICE, EPTCS, vol. 189, pp. 53–67 (2015)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Carmona, J., Cortadella, J., Kishinevsky, M.: Genet: a tool for the synthesis and mining of Petri nets. In: Proceedings of the ACSD, pp. 181–185 (2009)Google Scholar
  6. 6.
    Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers. IEICE Trans. Inf. Syst. E80–D(3), 315–325 (1997)Google Scholar
  7. 7.
    Cortadella, J., Kishinevsky, M., Lavagno, L., Yakovlev, A.: Deriving Petri nets for finite transition systems. IEEE Trans. Comput. 47(8), 859–882 (1998)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Ehrenfeucht, A., Rozenberg, G.: Partial (set) 2-structures. Part I: basic notions and the representation problem. Acta Inf. 27(4), 315–342 (1990)CrossRefGoogle Scholar
  9. 9.
    Ehrenfeucht, A., Rozenberg, G.: Partial (set) 2-structures. Part II: state spaces of concurrent systems. Acta Inf. 27(4), 343–368 (1990)CrossRefGoogle Scholar
  10. 10.
    Kordon, F., et al.: Complete Results for the 2016 Edition of the Model Checking Contest, June 2016.
  11. 11.
    Mukund, M.: Petri nets and step transition systems. Int. J. Found. Comput. Sci. 3(4), 443–478 (1992)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Schlachter, U.: Petri net synthesis for restricted classes of nets. In: Kordon, F., Moldt, D. (eds.) PETRI NETS 2016. LNCS, vol. 9698, pp. 79–97. Springer, Cham (2016). Scholar
  13. 13.
    Schmidt, K.: LoLA: a low level analyser. In: Nielsen, M., Simpson, D. (eds.) ICATPN 2000. LNCS, vol. 1825, pp. 465–474. Springer, Heidelberg (2000). Scholar
  14. 14.
    Tarjan, R.E.: Efficiency of a good but not linear set union algorithm. J. ACM 22(2), 215–225 (1975)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Institut für InformatikUniversität RostockRostockGermany

Personalised recommendations