Petri Nets in Design of Control Algorithms

  • Andrei KaratkevichEmail author
Part of the Studies in Systems, Decision and Control book series (SSDC, volume 45)


The chapter presents an overview of applying the Petri nets as a model and a way of specification of the parallel logical control algorithms. The history of using the Petri nets for representing the structures of the parallel control algorithms is presented. The extensions of the Petri net model applied in the area of logical control are discussed. The Petri net-based programming languages used for programmable logic controllers, such as SFC, GRAFCET or PRALU, are considered.


Petri nets Logic controllers Specification FPGA Parallel control algorithms 



The author is grateful to I. Grobelna and R. Wiśniewski for valuable comments which helped to improve this chapter.


  1. 1.
    Tsypkin, Ya Z. (1971). Adaptation and learning in automatic systems. New York: Academy Press.zbMATHGoogle Scholar
  2. 2.
    Lewis, R. W. (1998). Programming industrial control systems using IEC 1131–3. IEE Control Engineering Series: IEE.Google Scholar
  3. 3.
    Liao, S., Tjiang, S., & Gupta, R. (1997). An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment, In Proceedings of the 34th Design Automation Conference, pp. 70–75.Google Scholar
  4. 4.
    Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3), 231–274.MathSciNetCrossRefGoogle Scholar
  5. 5.
    Lepers, H. (2007). SPS-Programmierung nach IEC 61131-3—Mit Beispielen für CoDeSys und Step7. German: Franzis Verlag.Google Scholar
  6. 6.
    Baranov, S. (1994). Logic synthesis for control automata. Boston: Kluwer Academic Publishers.CrossRefGoogle Scholar
  7. 7.
    Sklyarov, V., Skliarova, I., Barkalov, A., & Titarenko, L. (2014). Synthesis and optimization of FPGA-based systems. Lecture Notes in Electrical Engineering Cham: Springer International Publishing Switzerland.CrossRefGoogle Scholar
  8. 8.
    Borowik, G., Rawski, M., Łabiak, G., Bukowiec, A., & Selvaraj, H. (2010). Efficient logic controller design, In 5th International Conference on Broadband and Biomedical Communications, pp. 1–6, Malaga, Spain.Google Scholar
  9. 9.
    Lee, B., & Lee, E. A. (1998). Hierarchical Concurrent Finite State Machines in Ptolemy, In Proceedings of the International Conference on Application of Concurrency to System Design, pp. 34–40, Fukushima, Japan.Google Scholar
  10. 10.
    Sklyarov, V. (1983). Finite state machines with stack memory and their automatic design. In Proceedings of USSR conference on computer-aided design of computers and systems, Part2, 66–67 (in Russian).Google Scholar
  11. 11.
    Sklyarov, V., & Skliarova, I. (2013). Hardware implementations of software programs based on hierarchical finite state machine models. Computers and electrical engineering, 39, 2145–2160.CrossRefGoogle Scholar
  12. 12.
    Adamski, M., & Chodań, M. (2000). Modelling of Discrete Control Devices Using SFC. Wydawnictwo Politechniki Zielonogórskiej, Zielona Góra (in Polish).Google Scholar
  13. 13.
    T. Murata (1989) Petri nets: Properties, analysis and applications, Proceedings of the IEEE, 77(4).Google Scholar
  14. 14.
    Girault, C., & Valk, R. (2001). Petri Nets for system engineering: A guide to modeling, verification, and applications. New York: Springer.zbMATHGoogle Scholar
  15. 15.
    Zakrevskij, A., Pottosin, Yu., & Cheremisinova, L. (2009). Design of logical control devices. Tallinn: TUT Press.Google Scholar
  16. 16.
    Petri, C. A. (1962). Kommunikation mit Automaten, Ph.D thesis, Schriften des IIM nr 3, Institut für Instrumentelle Mathematik, Bonn, Germany.Google Scholar
  17. 17.
    David, R., & Alla, H. (2010). Discrete, continuous, and hybrid Petri Nets. Berlin: Springer.CrossRefGoogle Scholar
  18. 18.
    Daclin, E., & Blanchard, M. (1976). Synthese des Systemes Logiques, Cepadues.Google Scholar
  19. 19.
    Silva, M., & David, R. (1977). On the programming of asynchronous sequential systems by logic equations, IFAC Int. Symp. on Discrete Systems, pp. 52–62.Google Scholar
  20. 20.
    Silva, M., & Teruel, M. (1998). DEDS along their life-cycle: Interpreted extensions of Petri Nets, IEEE International Conference on Systems, Man and Cybernetics.Google Scholar
  21. 21.
    Silva, M. (2013). Half a century after Carl Adam Petri’s Ph.D. thesis: A perspective on the field. Annual Reviews in Control, 37(2), 191–219.CrossRefGoogle Scholar
  22. 22.
    Andrzejewski, G. (2003) Program Model of Interpreted Petri Net for Design of Digital Microsystems, PhD thesis, Prace Naukowe z Automatyki i Informatyki, T. 2, Uniwersytet Zielonogorski, Zielona Góra (in Polish).Google Scholar
  23. 23.
    Andrzejewski, G., & Karatkevich, A. (2003). Interpreted Petri nets in system design, Sbornik trudov X mezdunarodnoj naucno-techniceskoj konferencii Masinostroenie i technosfera XXI veka (Machine-building and technosphere of the XXI century), Donetsk, Ukraine, pp 7–10.Google Scholar
  24. 24.
    Grobelna, I., & Adamski, M. (2011). Model checking of Control Interpreted Petri Nets, Proceedings of the 18th International Conference on Mixed Design of Integrated Circuits and Systems (MIXDES), pp. 621–626.Google Scholar
  25. 25.
    David, R., & Alla, H. (1992). Petri Nets and Grafcet: Tools for modelling discrete event systems. New York: Prentice Hall.zbMATHGoogle Scholar
  26. 26.
    Le Grafcet, ontil de representation du cahier de charges d’un automatisme logique, Rapport final de la Commission AFCET, Paris (1977).Google Scholar
  27. 27.
    Le Grafcet, diagramme functionnel des automatismes sequentels, Rapprot de la Commission ADEPA sur la normalisation du GRAFCET, Montrouge (1977).Google Scholar
  28. 28.
    IEC 61131-3, International Standard, Programmable controllers—Part 3: Programming languages, Edition 3.0, International Electrotechnical Commission (2013).Google Scholar
  29. 29.
    Zajac, W., Kołopien’czyk, M., & Andrzejewski, G. (2014). Modelling and Synthesis of Parallel Traffic Control Algorithms with Time Dependencies, New trends in digital system design, Fortschr.-Ber. VDI Reihe 10 Nr. 836, VDI Verlag, Düsseldorf, pp. 94–109.Google Scholar
  30. 30.
    STEP 7 Professional V13.0 System Manual, Siemens AG Industry Sector, Nürnberg, Germany (2004).Google Scholar
  31. 31.
    ABB Group, Automation Builder 1.1—Complete English Documentation (2015). (available online at
  32. 32.
    Yuditski, S. A., Tagayevskaya, A. A., & Yefremova, G. K. (1977). A Language for Algorithmic Design of Discrete Control Devices, preprint of Institute of Control Sciences, Moscow (in Russian).Google Scholar
  33. 33.
    Zakrevskij, A. D. (1981). A-net—a functionsl model of a discrete system, Doklady AN BSSR, vol. 22, Nr. 1, pp. 714–717 (in Russian).Google Scholar
  34. 34.
    Zakrevskij, A. D. (1984). Parallel automaton, Doklady AN BSSR, vol. 28, Nr. 8, pp. 717–719 (in Russian).Google Scholar
  35. 35.
    Zakrevskiy, A. D. (1986). Petri nets modeling of logical control algorithm. Automatic Control and Computer Sciences, 20(6), 38–45.Google Scholar
  36. 36.
    Zakrevskii, A. D. (1987). The analysis of concurrent logic control algorithms. Fundamentals in computational theory (pp. 497–500). Lecture Notes in Computer Science Berlin: Springer.CrossRefGoogle Scholar
  37. 37.
    Zakrevskij, A. D. (1989). To the theory of parallel algorithms of logical control. Izvestiya AN SSSR, Tekhnicheskaya Kibernetika, Nr. 5, 179–191 (in Russian).Google Scholar
  38. 38.
    Zakrevskij, A. D. (1999). Parallel logical control algorithms, Institute of Engineering Cybernetisc of the National Academy of Science of Belarus (in Russian).Google Scholar
  39. 39.
    Steinbach, B., & Zakrevskij, A. D. (2000). Parallel automaton—basic model, properties and high-level diagnostics, Proceedings of the 4th International Workshop on Boolean Problems, Freiberg, pp. 151–158.Google Scholar
  40. 40.
    Bibilo, P. N. (2000). VHDL fundamentals. Moscow: Solon-R (in Russian).Google Scholar
  41. 41.
    Cheremisinova, L. (2002). Realization of Parallel Logical Control Algorithms. Institute of Engineering Cybernetisc of the National Academy of Science of Belarus (in Russian).Google Scholar
  42. 42.
    Adamski, M. (1981). (1981). Realization of Petri Nets using PLA, Krajowa Konf. Teoria Obwodow i Uklady Elektroniczne, Drzonkow, pp. 455–459 (in Polish).Google Scholar
  43. 43.
    Adamski, M. (1990). Design of digital devices by systematic structural method. Zielona Góra: Wyzsza Szkola Inzynierska (in Polish).Google Scholar
  44. 44.
    Adamski, M. (1991). Parallel controller implementation using standard PLD software, FPGAs: International Workshop on Filed Programmable Logic and Applications, Abingdon EE&SC Books, pp. 296–304.Google Scholar
  45. 45.
    Adamski, M. (2005). Design of Embedded Control Systems. Formal logic design of reprogrammable controllers. New York: Springer.CrossRefGoogle Scholar
  46. 46.
    Bubacz, P., & Adamski, M. (2006). Heuristic algorithm for an effective state encoding for reconfigurable matrix-based logic controller design, Programmable Devices and Embedded Systems—PDeS 2006: proceedings of IFAC workshop, Brno, pp. 236–241.Google Scholar
  47. 47.
    Kozłowski, T., Dagless, E. L., Saul, J. M., Adamski, M., & Szajna, J. (1995). Parallel controller synthesis using Petri nets. IEE Proceedings, Computers and Digital Techniques, 142(4), 263–271.CrossRefGoogle Scholar
  48. 48.
    Węgrzyn, A., & Węgrzyn, M. (2005). Design of Embedded Control Systems. A new approach to simulation of concurrent controllers. New York: Springer.CrossRefGoogle Scholar
  49. 49.
    Zakrevskij, A., Karatkevich, A., & Adamski, M. (2002). A method of analysis of operational Petri nets. Advanced computer systems: Eight international conference, ACS 2001 (pp. 449–460). Boston: Kluwer Academic Publishers.CrossRefGoogle Scholar
  50. 50.
    Karatkevich, A. (2007). Dynamic analysis of Petri net-based discrete systems, Lecture Notes in Control and Information Sciences, Berlin: Springer.Google Scholar
  51. 51.
    Grobelna, I., Wiśniewska, M., Wiśniewski, R., Grobelny, M., & Mróz, P. (2014). Decomposition, validation and documentation of control process specification in form of a Petri net, 7th International Conference on Human System Interactions (HSI), Lisbon, Portugal, pp. 232–237.Google Scholar
  52. 52.
    Węgrzyn, A., (2003). Symbolic Analysis of Binary Control Devices Using Selected Methods of Analysis of Petri Nets, Ph D thesis, Prace Naukowe z Automatyki i Informatyki, T. 3, Uniwersytet Zielonogórski, Zielona Góra (in Polish).Google Scholar
  53. 53.
    Węgrzyn, M. (2010). Modelling of Petri nets in VHDL. Electrical Review, Nr., 1, 212–216 (in Polish).Google Scholar
  54. 54.
    Wiśniewska, M. (2012). Application of hypergraphs in decomposition of discrete systems, PhD thesis, Lecture Notes in Control and Computer Science, Vol. 23, University of Zielona Góra, Zielona Góra.Google Scholar
  55. 55.
    Węgrzyn, M., Adamski, M., Karatkevich, A., & Munoz, A. (2014). FPGA-based embedded logic controllers, 7th International Conference on Human System Interactions (HSI), Lisbon, Portugal, pp. 249–254.Google Scholar
  56. 56.
    Wiśniewski, R., Stefanowicz, Ł., Bukowiec, A., & Lipiński, J. (2014). Theoretical aspects of Petri nets decomposition based on invariants and hypergraphs, 8th International Conference of Multimedia and Ubiquitous Engineering (MUE). Zhangjiajie, China, Lecture Notes in Electrical Engineering, 308, 371–376.Google Scholar
  57. 57.
    Łabiak, G. (1999). Modelling statechart diagrams by means of Petri nets, Advanced Computer Systems—ACS ’99: Sixth Inernational Conference: Proceedings (pp. 253–259). Poland: Szczecin.Google Scholar
  58. 58.
    Miczulski, P. (2005). Design of Embedded Control Systems. Calculating state spaces of hierarchical Petri nets using BDD. New York: Springer.CrossRefGoogle Scholar
  59. 59.
    Łabiak, G., & Karatkevich, A. (2014). The use of algebraic decision diagrams for algebraic analysis of n-bounded Petri Nets, New trends in digital systems design, Fortschritt—Berichte VDI : Nr. 836, Düsseldorf, pp. 56–67.Google Scholar
  60. 60.
    Yakovlev, A., Gomes, L., & Lavagno, L. (2000). Hardware design and Petri nets. Berlin: Springer.CrossRefGoogle Scholar
  61. 61.
    Gomes, L., Barros, J. P., & Costa, A. (2005). Design of Embedded Control Systems. Structuring mechanisms in Petri net models. New York: Springer.CrossRefGoogle Scholar
  62. 62.
    Gomes, L., Costa, A., Barros, J. P., & Lima, P. (2007). From Petri net models to VHDL implementation of digital controllers, 33rd Annual Conference of the IEEE Industrial Electronics Society IECON 2007, pp. 94–99.Google Scholar
  63. 63.
    Valette, R., Courvoisier, M., Begou, J. M., & Albukerque, J. (1983). Petri net based programmable logic controllers, Proceedings of 1st IFIP Conference: Computer Application in Production and Engineering, pp. 103–116.Google Scholar
  64. 64.
    Ferrarini, L. (1992). An incremental approach to logic controller design with Petri nets. IEEE Transactions on System, Man and Cybernetics, 22(3), 461–474.CrossRefGoogle Scholar
  65. 65.
    Biliński, K., Adamski, M., Saul, J. M., & Dagless, E. L. (1994). Parallel Controller Synthesis from a Petri Net Specification, Proceedings of the conference on European design automation EURO-DAC ’94, pp. 96–101.Google Scholar
  66. 66.
    K. Biliński, Application of Petri Nets in Parallel Controller Design, Ph.D. Thesis, University of Bristol, 1996.Google Scholar
  67. 67.
    Park, E., Tilbury, D. M., & Khargonekar, P. P. (2001). A modeling and analysis methodology for modular logic controllers of machining systems using Petri net formalism. IEEE Transactions on System, Man, and Cybernetics - Part C: Applications and Reviews, 31(2), 168–188.CrossRefGoogle Scholar
  68. 68.
    Marranghello, N., de Oliviera, W., & Damiani, F. (2004). A Petri net based timing model for hardware/software co-design of digital systems, IEEE Asia-Pacific Conference on Circuits and Systems, Tainan, pp. 65–68.Google Scholar
  69. 69.
    Zakrevskij, A. (1986). Elements of the theory of \(\alpha \)-nets, Design of logical control systems, Institute of Engineering Cybernetisc of the Academy of Sci. of BSSR, pp. 4–12 (in Russian).Google Scholar
  70. 70.
    Pottosin, Yu. (2005). Optimal State Assignment of Synchronous Parallel Automata (pp. 111–124). Springer, New York: Design of Embedded Control Systems.Google Scholar
  71. 71.
    Cheremisinova, L. (2005). Optimal State Assignment of Asynchronous Parallel Automata (pp. 139–149). Springer, New York: Design of Embedded Control Systems.Google Scholar
  72. 72.
    Andrzejewski, G. (2005). Hierarchical Petri Nets for Digital Controller Design. Springer, New York: Design of Embedded Control Systems.CrossRefGoogle Scholar
  73. 73.
    Karatkevich, A., & Andrzejewski, G. (2006). Hierarchical Decomposition of Petri Nets for Digital Microsystems Design, International Conference on Modern Problems of Radio Engineering, Telecommunications, and Computer Science—TCSET 2006, IEEE, Lviv, pp. 518–521.Google Scholar
  74. 74.
    Karatkevich, A. (2008). On macroplaces in Petri nets, 2008 East-West Design & Test Symposium (EWDTS) , IEEE, Lviv, pp. 418–422.Google Scholar
  75. 75.
    Pais, R., Gomes, L., & Barros, J. P. (2011). From UML state machines to Petri nets: History attribute translation strategies, IECON 2011—37th Annual Conference on IEEE Industrial Electronics Society, IEEE, Melbourne, pp. 3776–3781.Google Scholar
  76. 76.
    Best, E., & Coutny, M. (1992). Petri net semantics of priority systems. Theoretical Computer Science, Nr.96, 175–215.MathSciNetCrossRefGoogle Scholar
  77. 77.
    Łabiak, G. (2010). Transition orthogonality in statechart diagrams and inconsistencies in binary control system. Przeglad Elektrotechniczny, 86(9), 130–133.Google Scholar
  78. 78.
    J. L. Peterson, Petri net theory and the modeling of systems, Prentice-Hall, 1981Google Scholar
  79. 79.
    Popova, L. (1991). On Time Petri Nets. J. Inform. Process. Cybern., 27(4), 227–244.zbMATHGoogle Scholar
  80. 80.
    Pais, H., David, R., & Le Bail, J. (1991). Hybrid Petri nets, Proceedings of the European Control Conference, Grenoble.Google Scholar
  81. 81.
    Hummel, Th, & Fengler, W. (2005). Design of Embedded Control Systems Using Hybrid Petri Nets (pp. 139–149). Springer, New York: Design of Embedded Control Systems.CrossRefGoogle Scholar
  82. 82.
    Grobelna, I. (2011). Formal verification of embedded logic controller specification with computer deduction in temporal logic. Przeglad Elektrotechniczny, 87(12A), 47–50.Google Scholar
  83. 83.
    Węgrzyn, A., & Węgrzyn, M. (2006). Selected Textual Formats of Petri Net Specification Describing Control Algorithms, Pomiary, Automatyka Kontrola, Nr. 6bis, pp. 29–31 (in Polish).Google Scholar
  84. 84.
    Szpyrka, M. (2006). Analysis of RTCP-nets with Reachability Graphs. Fundamenta Informaticae, 74(2–3), 375–390.MathSciNetzbMATHGoogle Scholar
  85. 85.
    Szpyrka, M. (2007). Analysis of VME-Bus communication protocol - RTCP-net approach. Real-Time Systems, 35(1), 91–108.MathSciNetCrossRefGoogle Scholar
  86. 86.
    Szpyrka, M., Matyasik, P., Mrówka, R., & Kotulski, L. (2014). Formal Description of Alvis Language with \(\alpha ^0\) System Layer, Fundamenta Informaticae, Vol. 129 Nr. 1–2, January.Google Scholar
  87. 87.
    Perkusich, A., de Araujo, L. M., de Coelho, R. S., Gorgonio, K. C., & Lemos, A. J. P. (1999). Design and Animation of Colored Petri Nets Models for Traffic Signals, Proceedings of the 2nd Workshop on Practical Use of Coloured Petri Nets and Design/CPN, Aarhus, pp. 99–118.Google Scholar
  88. 88.
    Genrich, H. J., Hanisch, H.-M., & Wöllhaf, K. (1994). Verification of Recipe-Based Control Procedures by Means of Predicate/Transition Nets, Proceedings of the 15th International Petri Net Conference on Application and Theory of Petri Nets, Zaragoza, Lecture Notes in Computer Science, Vol. 815, Springer-Verlag, pp. 278–297.Google Scholar
  89. 89.
    Caccia, M., Coletta, P., Bruzzone, G., & Veruggio, G. (2005). Execution control of robotic tasks: a Petri net-based approach. Control Engineering Practice, 13(8), 959–971.CrossRefGoogle Scholar
  90. 90.
    DiCesare, F., Harhalakis, G., Proth, J. M., Silva, M., & Vernadat, F. B. (1993). Practice of Petri Nets in Manufacturing, Chapman and Hall.Google Scholar
  91. 91.
    Giua, A., & DiCesare, F. (1993). GRAFCET and Petri Nets in Manufacturing, Intelligent Manufacturing: Programming Environments for CIM Advanced Manufacturing Series, (pp. 153–176). London: Springer.CrossRefGoogle Scholar
  92. 92.
    Desrochers, A. A., & Al’Jaar, R. Y. (1995). Applications of Petri nets in Manufacturing Systems: Modelling. Control and Performance Analysis: IEEE Press.Google Scholar
  93. 93.
    Pawlewski, P. (Ed.). (2012). Petri Nets. InTech: Manufacturing and Computer Science.Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Open Access This chapter is licensed under the terms of the Creative Commons Attribution-NonCommercial 2.5 International License (, which permits any noncommercial use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  1. 1.Institute of Electrical EngineeringUniversity of Zielona GóraZielona GóraPoland

Personalised recommendations