The ePNK: Release (version 1.0.0)

The ePNK is a platform for Petri net tools based on the PNML transfer format (see ePNK Home Page).


Version 1.0.0 is now (as of October 11, 2012) available for Eclipse Indigo (3.7) and Juno (4.2). You will find some more information on how to install this version of the ePNK below.


Release notes
The major changes from version 0.9.2 to 1.0.0 are fixes of many minor bugs, some extended functionality, and support of some more graphical features, which are transferred to the PNML format.


Here is a list of the major changes:

  • The following graphical features of the ePNK graphical editor are now transferred to the graphical features of PNML:
    • Background and foreground colours for nodes
    • Foreground colours for arcs
    • Colour for labels
    • Fonts and font-size for labels
    • Bezier curves for arcs
  • In version 0.9.2, all labels of HLPNGs were required to be on a page; they could not be directly contained in the net itself. Since ISO/IEC 15909-2 requires that declarations must be possible to be directly contained in a HLPNG, this is now implemented in version 1.0.0.
  • Version 1.0.0 comes with a (still experimental) interface for regisistering applications that are started on a Petri net and provides mechanisms to show feedback on-top of the existing net. This feature is in particular used for a Simulator for High-level Petri nets (see below).
  • Together with the ePNK, now a still experimental simulator for high-level nets (HLPNGs) is deployed. Since it is still experimental and some data types of HLPNGs and some operations are not supported yet, this is released seperately as version 0.1.1 (but, from the same update site). This simulator comes with a special feature to simulate network algorithms (which are based on HLPNG Schemas). Have a look at the examples, once you installed the ePNK: ePNK-1.0.0-examples.zip.
  • The PNML Core Model was slightly changed, so that Pages are derived from Nodes. This makes it possible to connect pages with arcs (which some users of the ePNK needed for their purposes). When you implement your own Petri net Type Definitions, you need to take particular care that you exclude such arcs, if you do not want pages connected by arcs with other nodes.

    For P/T-nets, and HLPNGs, which are deployed with the ePNK, pages cannot be attached to arcs at all.

  • It is now possible to define for each type of page labels, whether it should be shown as an attribute of the page in the page's properties view or as a graphical label on the respective page.
  • It is now also possible for Petri net type defintions to allow reference places or transitions to have their own labels.


Installation details
Below, it is explained step by step how to install version 1.0.0 of the ePNK on your computer..


For installing the ePNK version 1.0.0 on you computer, you first need to install Eclipse Indigo (3.7) or Eclipse Juno (4.2) on your computer. You will find the most current version of Eclipse (right now Eclipse Juno) at http://www.eclipse.org/downloads/. It is recommended that you install "Eclipse Classic".


Once you have installed Eclipse Classic on your computer, you can install the ePNK extension from the ePNK update site http://www2.compute.dtu.dk/~ekki/projects/ePNK/indigo/update/ directly from your Eclipse workbench (note that this update site works for both, Eclipse Juno and Eclipse Indigo). To this end, start your version of Eclipse. Then, proceed as follows:

  • In the Eclipse tool bar, select "Help" -> "Install New Software..."


  • In the opened "Install" dialog, press the "Add..." button to add a new update site. In the "Add Site" dialog, enter some name (e.g. "ePNK Update Site"), enter the URL "http://www2.compute.dtu.dk/~ekki/projects/ePNK/indigo/update/" as location, and press okay.


  • Now, select the newly created ePNK update site in the still open "Install" dialog. After some time, some ePNK items should pop up in the dialog. If the items are not grouped into categories, make sure to check the check box "Group items by category".


    In the category "ePNK Features" you should select all features:

    • ePNK Basic Extensions 1.0.0
    • ePNK Core 1.0.0
    • ePNK HLPNGs 1.0.0
    • ePNK Tutorial 1.0.0


    In the category "ePNK Experimental Projects" it is recommended that you select

    • ePNK: HLPNG Label Serialisation (experimental) 0.2.0


    If you want to use the simulator for high-level nets, also select from category "HLPNG Simulator" the feature

    • ePNK: HLPNG Simulator 0.1.1


    Make sure that the box "Contact all update sites during install to find required software" is checked; this will make sure that all plugins from Eclipse that the ePNK needs, will be installed too (EMF, GMF, Xtext, etc.).


  • Follow through the installation process (don't forget to accept the licence agreement). If you get an error of the kind
    Cannot complete the install because one or more required items could not be found. ...
    you have probably selected the wrong combination of features. In that case, go back and select the right combination as explained above. An other possibility for an error is that you have forgotten to tick the checkbox "Contact all update sites during install to find required software".


    Note that at some point you will be informed, that the features to be installed are not signed — and you will be asked whether you want to continue anyway.


  • After you made it successfully though all the dialogs, the ePNK and all other required plugins will be installed; it is a good idea to restart Eclipse after that (Eclipse will ask you to do that anyway).


  • After a restart you might want to import some examples ePNK-1.0.0-examples.zip of Petri nets with the Eclipse import feature. If you are a first time user of the ePNK, you have a look into the ePNK manual, where in particular the Chapter 3, "Users' guide" will help you getting started with some examples.


Here is a brief overview of the available resources for the ePNK:
  • Ekkart Kindler: The ePNK: A generic PNML tool - Users' and Developers' Guide for Version 1.0.0. IMM-Technical Report-2012-14, DTU Informatics, Kgs. Lyngby, Denmark, December 2012.


  • ePNK-1.0.0-examples.zip: an Eclipse project with some PNML examples. These can be imported to the Eclipse workspace via the Eclipse import mechanism. There are in particular some examples which can be used with the simulator for high-level Petri nets, which is deployed together with version 1.0.0.


  • org.pnml.tools.epnk.pntypes.signalnets.1.0.1.zip: Contains the source code of the two plug-in projects org.pnml.tools.epnk.pntypes.signalnets and org.pnml.tools.epnk.pntypes.signalnets.edit, which are deployed as part of the tutorial projects of version 1.0.0 of the ePNK. Unfortunately, these two projects were configured in such a way that their source code can not be imported to the development workspace. Therefore, the source code is made avaliable here.


  • Mindaugas Laganeckas: A Simulator for high level Petri Nets: Model based design and implementation. Master's thesis, Sepetmber 2012, Technical University of Denmark, DTU Informatics, Kgs. Lyngby, Denmark, Series IMM-M.Sc.-2012-101.


  • 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. For just having a look, at the source code of some of the ePNK's projects, you can use Eclipse's "Import as Source Project" feature (except for some few exceptions, the ePNK projects start with org.pnml.tools.epnk). In particular, some of the tutorials might be worth a look.


  • And of course, all the PNML resources mentioned at the ePNK home page could be useful.


Ekkart Kindler (), October 11, 2012 (last update May 14, 2014)