^{1}

^{*}

^{1}

Software systems are increasingly executed in dynamic infrastructures. These infrastructures are dynamic as they are themselves subject to change as they support various applications that may or may not share some of the resources. Dynamic software systems become more and more important, but are difficult to handle. Modeling and simulating dynamic systems requires the representation of their processes and the system changes within one model. To that effect, reconfigurable Petri nets consist of a Petri net and a set of rules that can modify the Petri net. Their main feature is the capability to model complex coordination behavior in dynamically adapting infrastructures. The interplay of both levels of dynamic behavior requires a very precise description, so the specification when and which rules are to be applied plays a crucial role for the convenient use of reconfigurable nets. We differentiate several types of reconfigurable Petri nets and present a survey of control structure for these types, reconfigurable Petri nets. These control structures either concern the infrastructure, i.e., the rules and transformations or the system part,
*i.e.*, the firing behavior, or both. They are introduced by a short characterization and illustrated by examples. We state the results for various Petri net types and the tools supporting the different control structures.

In the field of systems engineering modeling plays a key role for understanding and controlling the behavior of the corresponding systems. Software systems are increasingly characterized by dynamic structures that require execution and reconfiguration at run-time to adjust the systems behavior to its changing environment. Their main feature results from their complex coordination behavior within dynamically adapting infrastructures. Such dynamic structures need a suitable formal description technique that allows the separation at different levels of dynamic behavior within one model.

Reconfigurable Petri nets provide dynamic changes at the process level, (as typical for Petri nets) and additionally at the structure level. They are based on the algebraic approach to Petri nets, with operations describing the pre- and post-domain of transitions and are equipped with rules for the transformation of the net. These rules allow the modification of the net’s structure at run time. Reconfigurable Petri nets have been applied in various application areas where complex coordination and structural adaptation at run-time is required (e.g. mobile ad- hoc networks [

In

Several case studies have shown the advantages of reconfigurable Petri nets. In [

Algebraic High-Level (AHL) nets are Petri nets combined with algebraic specifications [

(UCSs) start to penetrate almost imperceptibly in everyday life. To ensure a solid operation, a UCS needs reliable and efficient communication between its distributed computing components. [

In this paper we give an overview of possible control structures for reconfigurable Petri nets. Moreover, we introduce two new control structures for decorated reconfigurable nets, namely net transformation units and rule priorities. Moreover, we discuss those control structures for reconfigurable nets that have been already introduced. In Section 2 we explain reconfigurable Petri nets and give an introductory example that we use in the subsequent section. Next we introduce two new control structures for reconfigurable Petri nets. In Section 3.1 we define net transformation units and state their main features. In Section 3.2 we introduce application conditions. First we examine negative application conditions and next we discuss nested application conditions. Further control structures are investigated subsequently. We summarize in Section 4 the investigated control structures and point out related work. The last section concerns future work and concluding remarks.

In the algebraic approach to Petri nets a place/transition net is given by N = (P, T, pre, post, m) with pre- and post-domain functions

Reconfigurable Petri nets exhibit dynamic behavior by the token game of Petri nets and by net transformation by rule application. The transformation concept that is used for reconfigurable Petri nets is double-pushout approach on directed, labeled graphs. This approach has been lifted to a categorical framework using a morphism class

Net rules and transformations are based on net morphisms. These map places to places and transitions to transitions. They are given as a pair of mappings for the places and the transitions, so that the structure and the decoration are preserved and the marking may be mapped strictly. A rule is given by the left-hand side, interface and right-hand side net. In this contribution we omit the interface due to reasons of space and concentrate on the essence of net rules and transformations. An occurrence morphism o identifies the left-hand side in the given net

N. Then the application of a rule r yields a transformation step

vided that specific gluing conditions hold. The characterization of specific points is a sufficient condition for the existence and uniqueness of the transformation.

The combination of one net together with a set of rules leads to a reconfigurable Petri nets

In

Modeling with reconfigurable nets is obviously Turing complete, but to be practically relevant, control structures are required to specify the application of the rules more precisely. These control structures may belong to

the Petri nets, as labels, names, capacities and other decoration of the net [

Graph transformation units have been introduced to graph grammars as the basic units for graph programming [_{1} or C_{2}. Last but not east, there is the Kleene closure, denoting that an arbitrary number of iterations may be executed, so

An example is transformation unit (R, nm, r1; r2^{*}; r3) where R and nm are given in ^{*}; r3 determines that first rule r1 is executed, then rule r2 is applied repeatedly and at last r3 is applied once. So, this unit only yields Petri nets that are circles.

Priorities of rules can be modeled in transformation units as well. But a priority control condition that gives higher priority exclusively to rules is decidable, whereas one that gives higher priority to some imported transformation unit is no longer decidable (see [

Next, we investigate the use of application conditions. Negative Application Conditions (NAC) for reconfigurable Petri nets have been introduced in [_{i}, denoting the forbidden contexts. Formally, a rule is applicable only if match

m cannot be extended to a match m_{i} such that_{i} together with the morphisms

An example is given in

A substantial extension of negative application conditions providing a much greater expressiveness are nested application conditions [

・

・

・

・ _{i} belong to some set of conditions over N for _{i} for some i.

As an example consider the rule r in

In this section we deal with additional control structures as priorities and labels. Labels and labels that change when a transition fires have been considered for decorated PT nets in [

Further important control structures in Petri nets are priorities of transitions and inhibitor arcs (e.g. [

transition

In timed Petri nets (e.g., time Petri nets [

In the following we summarize the concepts that have been discussed in the previous sections. Moreover, we state for which kind of Petri nets these results have been obtained and point out the corresponding literature.

Control structure | Defined in terms of | Controlling |
---|---|---|

Negative application conditions | Transformations | Context |

Nested application conditions | Transformations | Context |

Net transformation units | Order of | Rules |

Priorities of rules | Order of | Rules |

Labels, names | Nets | Rule application |

Changing transition labels | Nets | Coordination of transitions and transformations |

Inhibitor arcs | Nets | Firing behavior |

Priorities of transitions | Order of | Transition firing |

Timed token | Nets | Firing behavior |

Control structures | Introduced for reconfigurable | ||
---|---|---|---|

PT nets | Decorated PT nets | AHL nets | |

Negative application conditions | [ | [ | [ |

Nested application conditions | [ | - | [ |

Net transformation units | In this paper | - | |

Priorities of rules | In this paper | - | |

Labels, names | - | [ | - |

Changing transition labels | - | [ | - |

Inhibitor arcs | - | [ | - |

Priorities of transitions | - | [ | - |

Timed token | [ | - | - |

Control structures | Available in | ||
---|---|---|---|

ReConNet | RON | AGG | |

Negative application conditions | No | Yes | Yes |

Nested application conditions | No | No | Yes |

Net transformation units | No | No | No |

Priorities of rules | No | No | Yes [ |

Labels, names | Yes | Yes | Yes |

Changing transition labels | Yes | No | No |

Inhibitor arcs | No | No | No |

Priorities of transitions | No | No | No |

Timed token | No | No | No |

In the contribution a survey over the control structures for various types of reconfigurable Petri nets has been given. We have investigated several types of reconfigurable Petri nets, namely place/transition nets, decorated nets and algebraic high-level nets. We have given an outline of various control structures for these types reconfigurable Petri nets.

As a result, we can state that there are suitable concepts for control structures for the convenient use of reconfigurable nets. Nevertheless, there only a few of these results are realized in tools. Obviously, future work is to eliminate the open questions, indicated by dashes in

JuliaPadberg,KathrinHoffmann, (2015) A Survey of Control Structures for Reconfigurable Petri Nets. Journal of Computer and Communications,03,20-28. doi: 10.4236/jcc.2015.32002