PNML is a concept for defining the overall structure of a Petri net
file. There are many different types of Petri nets. Thus, there
is a generic concept for adjusting net type specific features via a
specific Petri Net Type Definition (PNTD).
For implementing a specific PNTD PNML is enlarged by type specific
labels at certain net objects. A label assigns further meaning
(besides the Petri net semantics) to a net or its objects.
Typically, a label represents a name of a node, the initial marking
of a place, the guard of a transition, or the inscription of an
arc. The legal labels and the legal combination of labels are
defined within a PNTD.
Specification
Here is the specification of PNML.
PNML is specified with the help of
RELAX NG,
a simple and easy to learn XML schema language.
Basic PNML
Basic PNML contains the standard features of all Petri nets of
any type.
Structured PNML
Structured PNML enlarges basic PNML with features for structuring a Petri
net via several pages.
Modular PNML
Modular PNML enlarges structured PNML with features for a net type
independent module concept. (See the paper about module concepts
within PNML for more details.)
Summary
The URL
http://www2.informatik.hu-berlin.de/top/pnml/
always leads to the current version of PNML (i.e.
basicPNML.rng,
structuredPNML.rng,
modularPNML.rng).
Whereas a special version of PNML is stored under that URL which is named
after its version number:
-
PNML v1.3.2 (http://www2.informatik.hu-berlin.de/top/pnml/1.3.2/)
PNML Examples