ePNK Installation

Newest version
The ePNK is a platform for developing Petri net tools based on the PNML transfer format (see overview).


The newest version (January 17, 2018) of the ePNK is version 1.2, which runs under Eclipse Indigo and all newer versions (it was tested for Eclipse Indigo, Neon and Oxygen). The Eclipse update site for this version can be found at http://www2.compute.dtu.dk/~ekki/projects/ePNK/1.2/update/.


More documentation and installation information will be provided shortly.


Overview of earlier versions
Here are different versions of the ePNK that have been released over the time and an overview of their features (and the improvments):
  • 0.8.0, Nov. 2010: A preliminary version of the ePNK. The core and the editor support all major features, but the data types of HLPNGs are not yet fully supported (HLPNGs only support the basic data types). This version was released to selected people only (to the "brave and the daring").


  • 0.9.0, Jan. 5, 2011: This version fully supporting PNML with all subtypes of high-level Petri nets, has a feature complete graphical editor. This version works on eclipse Galileo only (which concerns the HLPNG extension). Usability of the graphical editor could still be improved.


    Along with this version comes a tutorial explaining all the extension mechanisms of the ePNK with some "Mickey Mouse examples" and a simple model checker for P/T-nets. See the documentation in the ePNK Manual (0.9.0).


    It turned out that there were some minor, but unpleasant bugs in the graphical editor, when editing labels and page labels of HLPNGs (or structured net types in general).


  • 0.9.1, Jan 31, 2011: This version runs on eclipse Galileo as well as on eclipse Helios (in two different configurations). The unpleasant bugs in the GUI were fixed. Since there are no changes in the ePNK interfaces, the tutorials of version 0.9.0 still work with this version.The interfaces of the ePNK did not change, only the installation procedure changed.


    Concerning usability, there are no improvements yet (except for fixing the unpleasant bugs). This will hopefully be addressed in the next major release (1.0).


    For installation details of version 0.9.1 see here.


  • February 2011: ePNK manual for version 0.9.1.


  • 0.9.1 (tutorial), Feb. 22, 2011: There was a bug in the ePNK version 0.9.1, which will be fixed in version 0.9.2. But, the bug had the effect that the MulitAgentMutex tutorial was not working. This tutorial was adjusted so that it works with version 0.9.1 (by programming it a bit more defensively). Therefore, we also released version 0.9.1 of the tutorial.


  • 0.1.0 HLPNG label serialiser (experimental extension), Mar. 24, 2011: The PNML does not mandate a specific conrete syntax for the textual labels of declarations, terms, and sorts in HLPNGs. This text might even be left empty. This extension provides a function that serialises all the label to the ePNK's concrete syntax for these labels. This way, the labels can be edited in the ePNKs syntax. The function is available as a popup menue (right click) on nets of nets that are of type HLPNG.


    Note that this extension is experimental. It is actually an intermediate stage of a project for generic parsing and serialisation of new Petri net types.


  • 0.1.0 ECNO Nets (experimental extension), March 24, 2011: This is a demo project showing a prototype of the Event Coordination Notation (ECNO) API and Runtime together with a new net type, that can define the local behaviour of elements that are coordinated by ECNO. For the ECNO Nets, code can be generated that runs in the ECNO environment. The new Net Type is called ECNO Nets and the code generator is invoked by a popup menu on ECNO nets (for the code generator to work, the PNML file must be located in a Java or Eclipse Plug-in project).


  • 0.9.2, June 17, 2011: This version runs on eclipse Helios (Galileo version to be release shortly). There are many extensions concerning stability, usability, extensibility, and functionality. The extensions are discussed in full detail at a separate release 0.9.2 page. Very briefly the main extensions are:
    • Undo/redo and dirty flag are wroking properly now across different editors.
    • Editors open on double-clicking on a page.
    • All graphical features of the ePNK graphical editor are saved now (not all in PNML concepts; some information is tool specific).
    • Problem reporting and problem icons in graphical editor.
    • PNML's attribute concepts implemented along with graphical extensions depending on these attributes.


    The Helios version of the ePNK 0.9.2 can be obtained from a separate update site now http://www2.compute.dtu.dk/~ekki/projects/ePNK/helios/update/ (see installation instructions for details on how to install the ePNK 0.9.2).


  • 0.1.1 ECNO Nets (experimental extension), June 17, 2011: Minor update so that the ECNO Nets extension works together with the version 0.9.2 of the ePNK (the code needed to be regnerated – see release notes of version 0.9.2).


  • ePNK product (version 0.9.2), August 5, 2011: The ePNK product is a stand-alone version of the ePNK for Windows systems (XP and higher). See http://www2.compute.dtu.dk/~ekki/projects/ePNK/rcp.html for more information and instructions on how to download and install the ePNK product.


  • 1.0.0, October 11, 2012: This version runs on Eclipse Indigo (3.7) and Juno (4.2). Many minor bugs were fixed, more graphical features are transferred to the PNML format now, and it is now possible for applications to show visual information on top of a Petri net (without changing the net itself). This way, the current marking of a simulation or enabled transitions can be shown.


    See release 1.0.0 page for more information and installation details.


  • 1.0.0, December 20, 2012: ePNK manual for Version 1.0.0


  • 1.0.1, June 21, 2013: A release of the ePNK for Eclipse Kepler (4.3). This release was tested with Eclipse Kepler 4.3, and it should work with Eclipse Indigo and Juno as well. In version 1.0.1 of the ePNK, 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 release for Eclipse Kepler is available at: http://www2.compute.dtu.dk/~ekki/projects/ePNK/kepler/update/.


  • 1.1.0, June 13, 2016: This version runs on Eclipse Indigo (3.7) and newer versions; it was tested for Eclipse Indigo (3.7), Mars (4.5) and Neon (4.6).


    Several minor bugs have been fixed, and some functionality has been added so that the flat access to nets can be handled in a more efficient way. Most singificantly, the framework for ePNK applications has been extended, so that it is much easier to implement ePNK applications whith graphical feedback to the user on top of the graphical editor and with graphical interactions with the user. In addition, the state of an application can be saved and loaded now by the end user.


    Moreover, version 1.1 of the ePNK implements a work around for a bug of GMF, which results in the ePNK not working proplerly on Windows 10. Therefore, users (developers as well as end users) using the ePNK on Windows 10 should install version 1.1 of the ePNK.


    For installation details of version 1.1.0 see here.


  • 1.2.0, January 17, 2018: This version runs on Eclipse Indigo (3.7) and newer versions; it was tested for Eclipse Indigo (3.7), Neon (4.6) and Oxygen (4.7).


    Several minor bugs have been fixed, and some functionality has been added. Most importantly, new Petri net types can now be plugged in without any programming, and, for Petri nets that are derived from other types, the specific classes for the special objects are automatically derived in most cases. This way, even the implementation of more complex Petri net types does not need programming at all.


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 (revised and extended version of IMM-Technical Report-2011-03).


  • Ekkart Kindler: Chapter 5 of a draft for a revised and extended ePNK Manual for version 1.1: Complete Tutorial: Net type and Application, July 2016 (will eventually replace the ePNK manual for version 1.0.0).


  • org.pnml.tools.epnk.example-documents.zip; an eclipse project with some PNML examples. These can be imported to the eclipse workspace via the eclipse import mechanism.


  • 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 (), Jan. 31, 2011 (last updated January 17, 2018)