Humboldt Universität zu Berlin | Department of Computer Science | Chair of Theory of Programming
Petri Net Kernel
Introduction | Download | Applications | Documentation | Contacts | Staff

Tools for the PNK Java version since v2.2:

Tool Description Download
inaControl inaControl is a Petri Net Kernel application for analysing Place/Transition Nets with the help of the Petri net tool INA. It only works together with the component pnt2pnk and with the INACommandFileGenerator (deutsch).
PNVis* PNVis supports the 3D-visualisation of a system, that is modelled with a Petri net. To this end, the Petri net modell is equipped with only some additional information on the physical properties and and on the continuous behaviour of the underlying system objects. PNVis executable
sample nets
LoLA frontend This is a graphical user interface based on the Petri Net Kernel for petri net analyzer tool LoLA. It offers many features, like verifying deadlocks, bounded places, dead transitions, reachability of a marking, etc. Furthermore it supports modelchecking.
PNC The Petri Net Cube is thought to support the abilities of all standard net types using only one parameterized net type!! Besides the PNC offers many features, like a step firing rule.

*) this tool needs Java3D to run
**) this tool needs the C-Compiler gcc to run

Components for the PNK Java version since v2.2:

Component Description Download
pnt2pnk This component can be used to load and save those files to be read or written by the Petri net tool INA. INA is a tool package supporting the analysis of e.g. Place/Transition Nets.

What is the difference between tools and components?

In our manner of speaking a tool is not a single standalone program as usual. A tool is a bigger package of many different files, that can be integrated into the Petri Net Kernel. It can constist of different net types & net type specifications, example nets, configuration files and applications. A component is a kind of program or algorithm, that can be integrated into the PNK and can be started from within the Application Control. The component is bound on a petri net and can do some calculation or manipulation on that net. There are some standard components, like an editor or a general simulator, that come with the Petri Net Kernel. A tool can consist of more than one component. Every tool has its own tool specification, which represents a kind of connection between all the different files, that come with the tool. The tool specification informs the Petri Net Kernel about the components, net types and file formats, that shall be used with that specific tool. If you want to use the Petri Net Kernel with a certain tool, you have to start it with the corresponding tool specification. The next chapter describes, how you can do this.

Installation instructions:

  1. Download the zip-file for your tool from the table above
  2. Copy the file into your PNK2.2 directory
  3. Unpack the archive (e.g. using "unzip <filename>")
  4. Read the README file that comes with the tool or component if there is any.
  5. Start the Petri Net Kernel with the tool calling the shell script, that comes with the tool (e.g. ""), or type:

    java -jar <Jar archive of the tool> <tool specification>

    If you are not sure about the name of the jar archive or the tool specification, take a look at the shell script and simply type in the command, that you find there.


You can find more information about a certain tool on our documentation site.

The following Applications based on the Petri Net Kernel exist for the PNK Python version:

Application Description Download
DAWN with DAWN you can model and verify distributed algorithms
INA-Pilot connnection between the INA -tool and the Petri Net Kernel
PEP2PNK This application imports PEP files into the Petri Net Kernel. And, it exports PNK nets (or PNK files) to PEP files. Graphical information of nets are transferable. PEP2PNK.tgz

You developed a nice application based on the Petri Net Kernel? You want it to be published here? Send an e-mail to:

Michael Weber - e-mail:

Michael Weber
Last modified: Mon Aug 30 13:03:32 CEST 2004