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:
We can switch to the new visualization as follows:
This will show the net as follows:
- A Petri net or an accepting Petri net
- A JGraph visualization of the net with the reduction-based layout.
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.