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.
|