Discrete Event Dynamic Systems

, Volume 22, Issue 4, pp 403–428 | Cite as

An algorithm to compute the minimal siphons in S 4 PR nets

  • Elia Esther CanoEmail author
  • Carlos A. Rovetto
  • José-Manuel Colom


Minimal siphons in the class of S 4 PR nets have become a conceptual and practical central tool for the study of the resource allocation related aspects in discrete event dynamic systems as, for example, the existence of deadlocks. Therefore the availability of efficient algorithms to compute the minimal siphons is essential. In this paper we try to take advantage of the particular properties of the siphons in S 4 PR to obtain an efficient algorithm. These properties allow us to express minimal siphons as the union of pruned minimal siphons containing only one resource. The pruning operation is built from the binary pruning relation defined on the set of minimal siphons containing only one resource. This pruning relation is represented by means of a directed graph. The computation of the minimal siphons is based on the maximal strongly connected components of this graph. The algorithm is highly economic in memory in all intermediate steps when compared to the classical algorithms.


Petri-nets Structural analysis Siphons Graph theory Strongly connected component 



This work has been partially supported by Technological University of Panama and Secretaría Nacional de Ciencia, Tecnología e Innovación, SENACYT, Panama. Also, this work has been partially supported by the European Community’s Seventh Framework Programme under project DISC (Grant Agreement n. INFSO-ICT-224498) and the project CICYT-FEDER DPI2006-15390. The authors are indebted to three anonymous referees, whose comments helped to improve previous versions of this paper. Also, the authors extend gratitude to Marcela Paredes de Vásquez, Myriam Gonzalez, Luis Barahona, Martin Candanedo, Raúl Barahona, Clifton Clunie, Lydia Toppin and Delva Batista for valuable support during the research process of this work.


  1. Barkaoui K, Lemaire B (1989) An effective characterization of minimal deadlocks and traps in Petri nets based on graph theory. In: Proceedings of the 10th international conference on theory and application of Petri nets, Bonn, pp 1–22Google Scholar
  2. Chao D (2009) Direct minimal empty siphon computation using MIP. Int J Adv Manuf Technol 45:397–405CrossRefGoogle Scholar
  3. Chu F, Xie XL (1997) Deadlock analysis of Petri nets using siphons and mathematical programming. IEEE Trans Robot Autom 13(6):793–804CrossRefGoogle Scholar
  4. Colom JM (2003) The resource allocation problem in flexible manufacturing systems. In: van der Aalst W, Best E (eds) Proceedings of the 24th international conference on applications and theory of Petri nets. Lecture notes in computer science, vol 2679. Springer, Eindhoven, pp 23–35Google Scholar
  5. Colom JM, Silva M (1991) Convex geometry and semiflows in P/T nets. A comparative study of algorithms for computation of minimal p-semiflows. In: Rozenberg G (ed) Advances in Petri nets 1990. Lecture notes in computer science, vol 483. Springer, Berlin, pp 79–112Google Scholar
  6. Cordone R, Ferrarini L, Piroddi L (2005) Enumeration algorithms for minimal siphons in petri nets based on place constraints. IEEE Trans Syst Man Cybern, Part A Syst Humans 35(6):844–854CrossRefGoogle Scholar
  7. Ezpeleta J, Couvreur JM, Silva M (1993) A new technique for finding a generating family of siphons, traps and ST-components. Application to colored Petri nets. In: Advances in Petri nets. Lecture notes in computer science, vol 674. Springer, New York, pp 126–147Google Scholar
  8. Ezpeleta J, Colom JM, Martínez J (1995) A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans Robot Autom 11(2):173–184CrossRefGoogle Scholar
  9. Ezpeleta J, García-Vallés F, Colom J (1998) A class of well structured petri nets for flexible manufacturing systems. In: Desel J, Silva M (eds) Application and theory of Petri nets 1998. Lecture notes in computer science, vol 1420. Springer, Berlin, pp 64–83CrossRefGoogle Scholar
  10. Lautenbach K (1987) Linear algebraic calculation of deadlocks and traps. In: Voss K, Genrich HJ, Rozenberg G (eds) Concurrency and nets. Springer, New York, pp 315–336CrossRefGoogle Scholar
  11. Li ZW, Zhou MC (2008) On siphon computation for deadlock control in a class of Petri nets. IEEE Trans Syst Man Cybern Part A Syst Humans 38(3):667–679CrossRefGoogle Scholar
  12. Li Z, Zhou MC (2009) Deadlock resolution in automated manufacturing systems: a novel Petri net approach. In: Advances in industrial control. Springer, New YorkGoogle Scholar
  13. Li Z, Zhou MC, Jeng M (2008) A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions. IEEE Trans Autom Sci Eng 5(1):182–188CrossRefGoogle Scholar
  14. Lopez-Grao JP, Colom JM (2010) The resource allocation problem in software applications: a Petri net perspective. In: Proceedings of the international workshop on Petri nets and software engineering PNSE’10, Braga, Portugal, pp 7–21Google Scholar
  15. Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4):541–580CrossRefGoogle Scholar
  16. Reveliotis S (2003) On the siphon-based characterization of liveness in sequential resource allocation systems. In: van der Aalst W, Best E (eds) Applications and theory of Petri nets 2003. Lecture notes in computer science, vol 2679. Springer, Berlin, pp 241–255CrossRefGoogle Scholar
  17. Reveliotis SA (2005) Real-time management of resource allocation systems. A discrete event systems approach. Springer, New YorkzbMATHGoogle Scholar
  18. Rovetto CA, Cano EE, Colom JM (2010) Deadlock analysis in minimal adaptive routing algorithms using petri nets. In: IEEE international conference on systems man and cybernetics (SMC), 2010, Istanbul, Turkey, pp 2619–2626Google Scholar
  19. Tricas F (2003) Analysis, prevention and avoidance of deadlocks in sequential resource allocation systems. PhD thesis, Zaragoza. España, Departamento de Ingeniería Eléctrica e Informática, Universidad de ZaragozaGoogle Scholar
  20. Tricas F, García-Vallés F, Colom JM, Ezpeleta J (2005) A Petri net structure-based deadlock prevention solution for sequential resource allocation systems. In: Proceedings of the 2005 IEEE international conference on robotics and automation, Barcelona, Spain, pp 272–278Google Scholar
  21. Wang AR, Li ZW, Jia JY, Zhou MC (2009a) An effective algorithm to find elementary siphons in a class of Petri nets. IEEE Trans Syst Man Cybern Part A Syst Humans 39(4):912–923CrossRefGoogle Scholar
  22. Wang Y, Liao H, Reveliotis S, Kelly T, Mahlke S, Lafortune S (2009b) Gadara nets: modeling and analyzing lock allocation for deadlock avoidance in multithreaded software. In: Proceedings of the 48th IEEE conference on decision and control, 2009 held jointly with the 2009 28th Chinese control conference. CDC/CCC 2009, pp 497–4976Google Scholar
  23. Williams HP (1986) Fourier’s method of linear programming and its dual. Am Math Mon 93(9):681–695zbMATHCrossRefGoogle Scholar
  24. Xing K, Zhou MC, Wang F, Liu H, Tian F (2011) Resource-transition circuits and siphons for deadlock control of automated manufacturing systems. IEEE Trans Syst Man Cybern Part A Syst Humans 41(1):74–84CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Elia Esther Cano
    • 1
    Email author
  • Carlos A. Rovetto
    • 1
  • José-Manuel Colom
    • 2
  1. 1.Computer Systems Engineering DepartmentTechnological University of PanamaPanama CityPanama
  2. 2.Aragón Institute of Research Engineering (I3A)University of ZaragozaZaragozaSpain

Personalised recommendations