LIP6 UPMC CNRS Move-team Macao FrameKit CPN-AMI
2007-10-24
LIP6 > Software > MoVe Sofware > CPN-AMI > Manual > Unfolding

Introduction

We group under that section services that deal with transformation of higher Petri nets into a lower model that can be analyzed and evaluated. So far, two types of unfolding are integrated:

  • Colored Petri net into an Place/Transition Petri net: the resulting net is a new model that can be displayed and analyzed using the tools available in CPN-AMI;

CPN Unfolding

It is sometimes usefull to transform a colored Petri net into an Place/Transition Petri net. The resulting net is a new model that can be displayed and analyzed using the tools described in the next sections.

Components with the same behavior are modelled by a common set of places and transitions when using colored nets. To translate a colored net into an Place/Transition one, places and transitions must be duplicated for each component.

The CPN Unfolder menu

When the Colored Petri net you have designed is syntactically correct, you can reach the CPNunfolder menu that offers a service (in red) having two options.

CPN unfolder
Unfold
Options
Suppress structuraly useless places and transitions
Compute layout

Optimized unfold
Optimized CPN unfolder

Execute Unfold

Optimizations on the resulted PN
Removal of "false" guarded transitions
Removal of maximal unmarked syphon
Removal of orphaned marked places
Generate the P/T net after unfolding

When "Compute layout" is selected, a place and transition layout is computed for the resulting P/T net. This layout compuitation relies on dot and may take a while if the resulted P/T net is large.

When "Suppress structuraly useless places and transitions" is activated, 0bounded places and the transition having such places in input are deleted. The resulted net is smaller.

These options may be both activated.

Display of results

Let us consider this small Coloured Petri net displayed below. It is a quite small model including composed tokens and successor/predecessor functions. It is thus quite difficult to analyse and could worth an unfolding.


Small Coloured Petri net example.

The "CPNunfolder (pretty)" tool produces a Place/Transition net and computes a layout for it. The corresponding net is shown below (scaled to 70%). Please note that, to increase readability of this model, name of place is a composition of the original name plus reference to the color domain. This model can be saved in order to be processed by AMI-Net services (for non coloured Petri nets).


The Unfolded P/T net.

Remark: arc routes are computed for models up to 100 arcs. Then, only nodes are dispatched.

Optimized unfolding

The "Optimized unfolding" works as the "Unfolding" services. However, we use decision diagram based techniques that allow us to unfold very large models by deleting useless places and transitions generated form the colored Petri net.

When activated, this service ask you how many color domain have to be unfolded and allows to partially unfold a net. You may also enable or disable the optimizations made on the resulted net.

This is yet a preliminary version of the optimized unfolder.

Bas