A primer on the Petri Net Markup Language and ISO/IEC 15909-2
Résumé
In 2000, there was a workshop [1] that should foster the definition of a standard transfer format for Petri
nets as a satellite event of the annual ‘Petri Net Conference’ in Aarhus. As a result of this first workshop,
after many other discussions and meetings, the Petri Net Markup Language (PNML) is about to be finally
adopted as ISO/IEC 15909-2. Over the years, PNML has evolved and, unfortunately, there are many
different intermediate versions and variants, that are still in use. With this paper, we would like to report
on the final result and on PNML as it is defined in ISO/IEC 15909-2. This way, we hope to unify the
different lines of PNML and advertise the use of ISO/IEC 15909-2.
Note that this paper is not a copy or exact reproduction of ISO/IEC 15909-2 (which, including all
Annexes, has more than 100 pages). Rather it is a restructured excerpt that focuses on the most important
issues and abstracts from some technical details, which can be found in ISO/IEC 15909-2. Most of the
technical details can be derived from the RELAX NG grammars provided at the PNML web pages [17].
Together, this should provide a fair account of the standard, its ideas and concepts, and its practical use.
For a in-depth discussion of the rationales and design decisions behind PNML, we refer to the bunch of
earlier publications [2, 15, 4, 18, 19]
Though not an exact copy of ISO/IEC 15909-2, this paper reuses material of ISO/IEC 15909-2 with
some modifications and simplifications with the kind permission of ISO/IEC, Geneva.
Originally, PNML was introduced as an interchange format for all kinds of Petri nets [2, 3, 4]. Some
major concepts of PNML were driven by this objective. Technically, ISO/IEC 15909-2 defines a transfer
syntax for High-level Petri Net Graphs and those subclasses of Petri nets only that have been conceptually
and mathematically defined in the International Standard ISO/IEC 15909-1 [5], for capturing the essence
of all kinds of coloured and high-level Petri nets [6, 7, 8, 9, 10, 11, 12, 13]. In this paper, the focus is
on PNML for high-level nets in order not to mix up concepts that are part of ISO/IEC 15909-2 and some
extensions, which are currently under consideration for ISO/IEC 15909-3. In the conclusion (Sect. 5), we
will briefly discuss some of these perspectives, which make PNML applicable for all kinds of Petri nets.