What is Petriweb?
Petriweb is a repository for Petri nets. It is a web application running at www.petriweb.org.
Petriweb offers a public collection of nets. Anyone can search and browse the nets and use them freely. Anyone can sign up as a user and upload nets to the repository. Nets will not appear right away; the administrator must approve them.
Petriweb also offers closed collections of nets ("communities"). Access to the nets in a community is limited to its members.
Petriweb attaches properties to nets. Arbitrary properties can be defined. Property can be assigned manually or computed by tools. Thus, Petriweb serves as a repository not only for Petri nets, but also for properties and manipulations of Petri nets.
The purpose of Petriweb is to make it easy to share Petri nets.
Educators spend time with Petri net tools or drawing packages to create Petri nets used as illustrations or exercises. Many of these nets are the same nets that their predecessors and colleagues elsewhere have used, or they are slight variations. It is useful for educators to share their examples in a repository, so they can draw examples of nets from there, and refer their students to it for more. The repository indexes its nets by relevant properties, such as whether a net has multiplicities, whether it is a marked graph, or whether it is bounded.
In Petri net research, examples illustrate specific advanced concepts or constructions, or serve as counterexamples in proofs. A smaller range of users will be interested in these examples, but on the other hand, they are harder to find. Petriweb allows these examples to be assembled, and also the concepts themselves, as far as they can be expressed as functions on Petri nets.
In applications of Petri nets for systems design and analysis, examples will be application and domain specific. Sometimes it is possible to build up collections of generic reference models that express typical cases or best practices in a particular application area.
So there is ample occasion for sharing Petri nets.
Petriweb is a web application written for this purpose. The premise of Petriweb is that it has become worth the effort to share our Petri nets. The present implementation is intended as a proof of concept, that serves to let us gain experience with sharing Petri nets in practice.
What is Petriweb made of?
Petriweb is a database-backed web application. It is portable (tested on Linux and Microsoft Windows) and easy to install. It supports a type of PNML that includes support for basic (standard) nets with markings, and a very limited set of extensions, such as inhibitor and reset arcs and a notion of subnets.
The Petriweb installation at www.petriweb.org is intended as a permanent, public repository for Petri nets brought together by many authors from all over the world.
Petriweb expects nets to be uploaded in PNML, a standard document format, and it returns nets in PNML or in any alternative format for which a converter from PNML is installed. Arbitrary properties can be defined on nets and can be automatically calculated by tools, where possible.
The PNML accepted by Petriweb supports basic nets with uncolored markings, plus some extensions such as reset and inhibitor arcs and a form of hierarchy. See its specification and some utilities.
Software upgrades to www.petriweb.org happen occasionally. No major changes are planned.
The public Petriweb repository now contains about 100 examples from a few textbooks and articles. This suffices to demonstrate its capabilities, but many more nets need to be added before this collection can serve as a popular reference.
The most interesting properties defined on the public Petriweb repository are structural and behavioral properties automatically calculated by prof. Peter Starke's INA, as well as XSLT stylesheets and Perl scripts that operate directly on PNML.
AuthorsThe Petriweb software and website were developed by
- R. Goud
- prof. dr. K.M. van Hee
- R.D.J. Post
- J.M.E.M. van der Werf