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
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
- 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:
- 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
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:
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).
an eclipse project with some PNML examples. These can
be imported to the eclipse workspace via the eclipse import mechanism.
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
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
- 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,
- 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.