New Visualizer Plug-ins: Visualize (Accepting) Petri Net using Reduction Layout

Two new visualizer plug-ins have been added to the ProM Nightly Build: One to visualize regular Petri nets and one to visualize accepting Petri nets.

Both visualizer plug-ins use JGraph to visualize the net at hand, but they will use their own layout algorithm, which is based on existing Petri-net-based reduction rules. As an example, consider the following Petri net:reductionlayout1

We can switch to the new visualization as follows:

reductionlayout2

This will show the net as follows:

reductionlayout3

Input

  1. A Petri net or an accepting Petri net

Output

  1. A JGraph visualization of the net with the reduction-based layout.

Package

AcceptingPetriNetReductionLayouter

Description

Both plug-ins convert the Petri net to a state machine net, by keeping every place, replacing every transition by a place, and replacing every arc with a transition with one incoming arc and one outgoing arc. If the Petri net was a workflow net, then this state machine net is a sound free-choice Petri net, on which we can successfully apply the three reduction rules as mentioned by the book “Free Choice Petri Nets” by Desel and Esparza. In the end, only a single place remains after the reduction. A single place can be layout out easily, and by remembering certain information while doing the reduction, all other objects can also be layed out. Then these positions are converted back into the original net, which is then shown. The position of a transition in the state machine net will become up to 2 edge points of the arc in the original net.

The objects in the graph are guaranteed not to overlap, but lines may cross these objects. There is also no guarantee that the number of line crossings is minimized.

One Comment

  1. Eric

    The visualizer plug-ins are now called “Visualize Petri Net using Block Layout” and “Visualize Accepting Petri Net using Block Layout”. Furthermore, two regular plug-ins have been added, which are called “Block Layout Petri net” and “Block Layout Accepting Petri net”, which convert an (accepting) Petrinet into an (accepting) Petri net with a block layout. The difference with the visualizers is that the visualizer only offer a view on the net with the Block Layout (the net retains its original layout), while these plug-ins create a new new (accepting) Petri net with the block layout as original layout.

Leave a Reply