Supervisory control based on Petri Nets (PNs) or Colored Petri Nets (CPN) model of the plant leads to supervisors which can be PN/CPN themselves (compiled supervisors) or simply a set of logical predicates (interpreted supervisors). PNetLab is a simulation and analysis tool developed by the Automatic Control Group of the University of Salerno. It allows drawing of a PN/CPN model by a graphical user interface and the definition of the supervisor as a PN/CPN or as a standard C/C++ program implementing logical predicates. Functionalities to analyze the closed-loop model with all kind of supervisors (PN/CPN/logical predicates) are available (token game and coverability tree) as well as standard functionalities when both the plant and the controller are PNs (P-invariants, T-invariants, minimal siphons and traps computation). It also includes management of time (plant modelled by timed PNs/CPNs) and conflict management so as to permit testing of scheduling strategies together with the supervisor as required in performance optimization problems. Finally, the tool's simulation engine can be linked from an external program allowing look-ahead supervisory techniques.


  • To download and run PNetLab complete the .
  • Download PNetLab User Manual .


  • Java 2 SDK, Standard Edition 1.4.1_01 or following version.
  • Microsoft Visual C++ 2010 Express. You can download it from web site http://www.microsoft.com/express/Windows/.
  • Crimson Editor. You can download it from official web site www.crimsoneditor.com. During the installation set C:\Program Files\PNetLab\Crimson Editor as destination directory or C:name_of_directory_where_PNetLab_has_been_installed\Crimson Editor if PNetLab has been installed in a directory different from C:\Program Files\PNetLab.


  • The version 4.0 of PNetLab allows Hybrid Petri Nets simulations.

References, more information, and resources

  • Basile, F., Carbone, C., Chiacchio, P. (2007). Simulation and analysis of discrete-event control systems based on Petri nets using PNetLab. Control Engineering Practice, Vol. 15 Issue 2 Pag. 241-259