The ePNK Home Page

The ePNK is a platform for Petri net tools based on the PNML transfer format. Its main idea is to provide generic Petri net types, which can be easily plugged into it, and to provide a simple generic GMF editor, which can be used for graphically editing nets of any plugged in type. Additional functionality can be plugged in. The ePNK is implemented based on the eclipse platform, and runs on all hardware platforms supporting Eclipse (the newest version runs under Eclipse Indigo and Juno).


The current version (October 11, 2012) of the ePNK is 1.0.0. This version fully supports PNML and all the Petri net types defined in the International Standard ISO/IEC 15909-2.


If you have any comments, suggestions, error reports, please send an email to Ekkart Kindler ().


Current version
As of October 11, 2012, version 1.0.0 of the ePNK is released, which runs on eclipse Indigo (3.7) and Juno (4.2). You will find more information on how to install the current version of the ePNK on your platform at the Installation Details page – there, you will also find an overview of the different versions and the functionality that was added for the different versions.


If you prefer it the quick way, here is the ePNK update site for Eclipse Indigo (it also works for Juno): http://www2.compute.dtu.dk/~ekki/projects/ePNK/indigo/update/ or look at the release notes of version 1.0.0.


Note (June 21, 2013): A pre-release of the ePNK for Eclipse Kepler (4.3) is available now. This release was tested with Eclipse Kepler 4.3 RC2, we would expect that it will work with the official release of Eclipse Kepler (4.3), and it should work with Eclipse Indigo and Juno as well. This release is version 1.0.1 of the ePNK, in which some minor bugs of version 1.0.0 are fixed, some projects are cleaned up a bit, and some features are implemented in a slightly more defensive or general way. The API did not change and the functionality of the ePNK was not extended. The pre-release for Eclipse Kepler is available at: http://www2.compute.dtu.dk/~ekki/projects/ePNK/kepler/update/.


Using the ePNK
After successfully installing the ePNK, you can use the ePNK. The User's Guide Chapter of the ePNK Manual will provide you with all the necessary information.


Here is some brief information for the impatient:

For a quick start, you can use some examples of PNML documents in the following zip file ePNK-1.0.0-examples.zip, which you can use for a start. After you have dowloaded the examples, install them in your eclipse workspace by, clicking "File"->"Import. In the dialog, select "General"->"Existing Projects into Workspace"; in the next dialog, click "Select archive file", press the "Browse" button and select the zip file that you downloaded before. Then, select the project in the "projects area" and finish the dialog.


You should see the Petri net examples in the resource browser now and be able to open them (by a double click). Note that the editor shows the Petri net in a tree structure. For seeing and editing nets (or actually pages) graphically, you need to fold up the tree and select a page. On a right click on a page, there will be a pop up menu: in this menu, select "ePNK" -> "Start GMF editor on page" (or just double-click on a page). Note that you still need to save the net in the tree broswer in the end (the save in the graphical editor is always disabled now).


Note that labels are created independently of any Petri net object first. Then the LinkLabel tool (or the context menus) can be used to attach the label to a Petri net object. Then, you will also be asked in a pop-up menu, which kind of label this should be (dependent on the options of the object and the labels it has already).


Developing with the ePNK
The most important feature of the ePNK is that you can extend it and plug-in your new Petri net types, tool-specific extensions, or some analysis functionality. For doing this, you will probably need to read the Developers Guide Chapter of the ePNK Manual.


You will probably also need to look at the source code of the ePNK project. All the ePNK projects are deployed with their source code now. If you import these plugins to your workspace (open the plugin view, right-click on the respective plugin, select "Import As" -> "Source Project"), zou can have a look at the examples and tutorial as well as the implementation.


Note that some of the new features of the ePNK 1.0.0 are not yet covered in the manual. But, the example projects — and inparticular the tutorials — might help using these features anyway.


There is also a SVN repository in which the ePNK is developed, which is maintained at DTU. People, who would like to join the development team of the ePNK, could contact Ekkart Kindler. Once we reach the critical mass, the repository will probably be moved to some open source collaboration platform such as Source Forge.


References, more information, and resources


Ekkart Kindler (), November 19, 2010 (last updated May 14, 2014)