Operational PNML

Operational PNML (OPNML) is an extension to PNML. Yet, it does not intend to modify PNML. OPNML offers a way to specify nets based on a sequence of operations on other nets. These other nets can be specified in either PNML or OPNML.

On this page you can find a RELAX NG grammar for Operational PNML named OP_basicPNML and a Petri net Type Definition (PNTD) for Place/Transition nets using it.

OPNML is presented in more detail in a paper entitled "Operational PNML: Towards a PNML Support for Model Construction and Modification", presented at the "Workshop on the Definition, Implementation and Application of a Standard Interchange Format for Petri Nets", in Bologna, Italy, on June 26, 2004. The slides also talk about the implementation of annotations fusion (in nodes and arcs) when nodes are fused.

We also make available a preliminary script, which is (hopefully) able to translate from OPNML to basic PNML. The script is written in the Ruby programming language and the REXML library. It was tested in the following basic PNML and OPNML files:

2004-10-27 - João Paulo Barros and Luís Gomes
Email: jpb[[AT]]uninova[[DOT]]pt
Email: lugo[[AT]]uninova[[DOT]]pt