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

The Petri Net Kernel provides an infrastructure for bringing ideas for analysing, for simulating, or for verifying Petri Nets into action; viz. for integrating the idea into a tool. At the moment there is a python and a java implementation of the Petri Net Kernel available. The new version 2.2 of the java implementaion can now be downloaded. In addition there are new tools for the Petri Net Kernel 2.2 available. At the bottom of this page you find a summary of all PNK version.

Java implementation

The original python version of the Petri Net Kernel has been re-implementing the with Java. The last version of our java implementation (version 2.2) is available in the download area, now.

The Java version of the PNK supports of course many of the features of its predecessor. In addition there are a lot of new features:

  • Applications for certain net types can easily be implemented and by means of a ToolSpecification (XML description of the used applications) be integrated into the program.
  • An ApplicationControl manages all applications under a common environment.
  • Petri nets can be loaded and saved in PNML, a language for the description of petri nets based on XML.
  • It's easier to create and handle the net types, because of a new simple interface (also an XML description).
  • A common simulator for all net types makes simulation more comfortable.
  • Many useful standard applications, like an editor, a simulator, etc. are part of the PNK package.

Since the new version 2.2 is out now, here are some new features of this version:

  • extended and more simple application interface
  • applications are able to be started as thread
  • every PNML file can be viewed and edited, even if the net type is not known
  • some new tools are available for the PNK version 2.2
  • configurable editor: color and dimension of net objects (places, transitions,...) can be configured
  • support of parametrized net types

For more information about the new Petri Net Kernel please check this tutorial.

Python implementation

The Petri Net Kernel is implemented in the object oriented and interpreted programming language Python Python Powered

The Petri Net Kernel provides methods to manage, read and modify Petri Nets. With the methods of the Petri Net Kernel you are able to:

  • load and save nets
  • insert and delete elements of the Net ( places, transitions, ... )
  • write inscriptions
  • request the structure of the Net

The Petri Net Kernel is not restricted to a fixed Petri Net type or a fixed set of Petri Net types. The basic Petri Net Types are distributed wit the Petri Net Kernel - but you can define your own Petri Net types.

The Petri Net Kernel comes with an editor for Petri Nets.

Version summary

PNK version implemented in available in download section?
PNK 1.0 Python no
PNK 1.1 Python no
PNK 2.0 Python no
PNK 2.0.1 Python yes
PNK 2.0.2 Python yes
PNK 2.0.3 Python yes
PNK 2.alpha Java yes
PNK 2.1 Java yes
PNK 2.2 * Java yes

*) this is the actual version of the Petri Net Kernel

The Petri Net Kernel is developed by the Research Group Petri Net Technology

Erik Fischer
Copyright (C) 2000-2002
Last updated: 6.5.2002