<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2015.32002</article-id><article-id pub-id-type="publisher-id">JCC-54275</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Survey of Control Structures for Reconfigurable Petri Nets
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>ulia</surname><given-names>Padberg</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Kathrin</surname><given-names>Hoffmann</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Hamburg University of Applied Science, Hamburg, Germany</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>julia.padberg@haw-hamburg.de(UP)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>11</day><month>02</month><year>2015</year></pub-date><volume>03</volume><issue>02</issue><fpage>20</fpage><lpage>28</lpage><history><date date-type="received"><day>2</day>	<month>February</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>20</month>	<year>February</year>	</date><date date-type="accepted"><day>27</day>	<month>February</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  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, 
  <em>i.e.</em>, 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.
 
</p></abstract><kwd-group><kwd>Reconfigurable Petri Nets</kwd><kwd> Net Transformation</kwd><kwd> Control Structures</kwd><kwd> Model Transformation</kwd><kwd> Dynamic Software Systems</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>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.</p><p>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 [<xref ref-type="bibr" rid="scirp.54275-ref1">1</xref>] , communication spaces [<xref ref-type="bibr" rid="scirp.54275-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.54275-ref3">3</xref>] , ubiquitous computing [<xref ref-type="bibr" rid="scirp.54275-ref4">4</xref>] [<xref ref-type="bibr" rid="scirp.54275-ref5">5</xref>] , concurrent systems [<xref ref-type="bibr" rid="scirp.54275-ref6">6</xref>] , work- flows in a dynamic infrastructure [<xref ref-type="bibr" rid="scirp.54275-ref7">7</xref>] ). The distinction between the net behavior and the dynamic change of its net structure is the characteristic feature that makes reconfigurable Petri nets so suitable for systems with dynamic structures.</p><p>In <xref ref-type="fig" rid="fig1">Figure 1</xref> a screenshot of the tool ReConNet (see [<xref ref-type="bibr" rid="scirp.54275-ref8">8</xref>] ) is given, depicting a decorated PT net N1 that can be modified using the rule<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x5.png" xlink:type="simple"/></inline-formula>, replacing a left hand side L by a right hand side R. The net can initially fire only once. After applying the rule r, that reverses the arcs, the resulting net is then live. Subsequent transformation steps yield alternatingly a net that is live or one that has a deadlock.</p><p>Several case studies have shown the advantages of reconfigurable Petri nets. In [<xref ref-type="bibr" rid="scirp.54275-ref5">5</xref>] reconfigurable Petri nets based on decorated place/transition nets have been used to model and analyze scenarios in a smart home. The tenant’s behavior follows specific procedures that the smart home has to support. These procedures depend on the situation as well as the available sensor data and the tenant’s action. These procedures are captured informally as scenarios and have been modeled formally for the better understanding of the possible interaction of the smart home and its tenant. There the scenarios describe the tenant’s procedures and the transformations describe the dynamic change of the infrastructure as the reactions to the tenant’s actions that both can be adequately captured.</p><p>Algebraic High-Level (AHL) nets are Petri nets combined with algebraic specifications [<xref ref-type="bibr" rid="scirp.54275-ref9">9</xref>] leading to the concept of algebraic high-level nets with suitable composition results. A general modeling framework for communication platforms and scenarios has been presented in [<xref ref-type="bibr" rid="scirp.54275-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.54275-ref10">10</xref>] using reconfigurable AHL nets. This framework employs an integration of Petri nets, algebraic data types and net transformation techniques. It allows the analysis of the evolution of communication platforms, the analysis of scenario evolutions and the investigation of user interactions on communication platforms. Reconfigurable AHL nets have also been used in [<xref ref-type="bibr" rid="scirp.54275-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.54275-ref11">11</xref>] for a case study on modeling a concrete communication platform―namely Skype. The behavior of the Skype clients has been modeled in detail and the whole system specification has been demonstrated for concrete use case scenarios. For these scenarios model properties have been formulated and validated. Ubiquitous computing systems</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Reconfigurable Petri net with (N, {r})</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730172x6.png"/></fig><p>(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. [<xref ref-type="bibr" rid="scirp.54275-ref4">4</xref>] presents a formal approach based on reconfigurable algebraic higher order nets with individual tokens (AHOI) nets [<xref ref-type="bibr" rid="scirp.54275-ref12">12</xref>] . This approach allows modeling the synchronous and asynchronous communication in UCSs. AHOI nets contain nets and transformation rules as individual tokens.</p><p>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.</p></sec><sec id="s2"><title>2. Basic Notions</title><p>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 <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x7.png" xlink:type="simple"/></inline-formula> and a marking<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x8.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x9.png" xlink:type="simple"/></inline-formula> is the multiset of places. A transition t is m-enabled for a marking if we have<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x10.png" xlink:type="simple"/></inline-formula>, and in this case the follower marking is given by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x11.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x12.png" xlink:type="simple"/></inline-formula> is called a firing step. In [<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>] new features have been added to gain an adequate modeling technique. The extension to capacities and names is quite obvious. More interesting are the transition labels that may change, when the transition is fired. This allows a better coordination of transition firing and rule application, for example can be ensured that a transition has fired (repeatedly) before a transformation may take place. This last extension is conservative with respect to Petri nets as it does not change the net behavior, but it is crucial for the coordination of rule application and transition firing.</p><p>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<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x13.png" xlink:type="simple"/></inline-formula>, with various instantiations, called <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x14.png" xlink:type="simple"/></inline-formula>-adhesive high-level replacement (HLR) systems (see [<xref ref-type="bibr" rid="scirp.54275-ref14">14</xref>] ). Place/transition nets (see [<xref ref-type="bibr" rid="scirp.54275-ref15">15</xref>] ) as well as decorated place/transition nets (see [<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>] ) and AHL nets (see [<xref ref-type="bibr" rid="scirp.54275-ref16">16</xref>] ) have been shown to be <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x15.png" xlink:type="simple"/></inline-formula>-adhesive HLR categories. So they conform to a categorically defined replacement systems, that provides the main constructions as well as a huge amount of notions and results (see [<xref ref-type="bibr" rid="scirp.54275-ref15">15</xref>] ). Other net types, e.g., elementary nets, colored nets, have been shown to have that properties as well, but have not been further investigated.</p><p>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</p><p>N. Then the application of a rule r yields a transformation step <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x16.png" xlink:type="simple"/></inline-formula> can be constructed in two steps, pro-</p><p>vided that specific gluing conditions hold. The characterization of specific points is a sufficient condition for the existence and uniqueness of the transformation.</p><p>The combination of one net together with a set of rules leads to a reconfigurable Petri nets<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x17.png" xlink:type="simple"/></inline-formula>, where N is a Petri net, more precisely a place/transition net, a decorated place/transition net or an AHL net and R is a set of net rules of the corresponding net type.</p><p>In <xref ref-type="fig" rid="fig2">Figure 2</xref> the transformation of the net N by applying the rule r is depicted, where the grey transition with label T is replaced by a transition with reversed arcs. Obviously, N' is now enabled and live.</p></sec><sec id="s3"><title>3. Control Structures</title><p>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</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Transformation<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x19.png" xlink:type="simple"/></inline-formula></title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730172x18.png"/></fig><p>the Petri nets, as labels, names, capacities and other decoration of the net [<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>] . Other control structures may determine the application of rules. They concern the situation that may or may not be given or they concern the order of the rules to be applied. We first investigate control structure for the transformation part, namely net transformation units, rule priorities and application conditions. Next we deal with control structures for Petri nets, as labels, transition priorities and inhibitor arcs.</p><sec id="s3_1"><title>3.1. Net Transformation Units</title><p>Graph transformation units have been introduced to graph grammars as the basic units for graph programming [<xref ref-type="bibr" rid="scirp.54275-ref17">17</xref>] . Control conditions can be given by regular expressions, describing in which order and how often the rules and imported units are to be applied. A large body of results has been developed since then [<xref ref-type="bibr" rid="scirp.54275-ref18">18</xref>] -[<xref ref-type="bibr" rid="scirp.54275-ref21">21</xref>] , see also [<xref ref-type="bibr" rid="scirp.54275-ref22">22</xref>] . Net transformation units are the transfer of graph transformation units to reconfigurable Petri nets. The underlying theory concerns high-level replacement (HLR) systems and is an abstract formulation of transformation systems in terms of category theory. In this frame work HLR units [<xref ref-type="bibr" rid="scirp.54275-ref18">18</xref>] that allow structuring the transformations have been given. Here, we instantiate this theory obtaining net transformation units. A net transformation unit is a tuple <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula> where R is a finite set of rules, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula> is a control expression defined over the set Names. Thus, the control expressions are given over the names of rules and are defined recursively: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula>implies<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula>, so each rule name is an atomic control expression and denotes the application of the corresponding rule. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x24.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x25.png" xlink:type="simple"/></inline-formula> implies both <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x26.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x27.png" xlink:type="simple"/></inline-formula>. The first denoting the sequential composition of both control expression, the second being the choice operator allows the application of either the expression C<sub>1</sub> or C<sub>2</sub>. Last but not east, there is the Kleene closure, denoting that an arbitrary number of iterations may be executed, so <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x28.png" xlink:type="simple"/></inline-formula> implies<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x26.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x29.png" xlink:type="simple"/></inline-formula>.</p><p>An example is transformation unit (R, nm, r1; r2<sup>*</sup>; r3) where R and nm are given in <xref ref-type="fig" rid="fig3">Figure 3</xref>. The control expression r1; r2<sup>*</sup>; 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.</p><p>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 [<xref ref-type="bibr" rid="scirp.54275-ref19">19</xref>] ). So, we define them explicitly in this paper. Given a set of rules R, then a partial order ≤ over R defines the priorities of the rules. Then a rule r is applicable if there is an occurrence morphism <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x30.png" xlink:type="simple"/></inline-formula> that satisfies the gluing conditions and there is no rule<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x31.png" xlink:type="simple"/></inline-formula>, so that r is applicable and r ≤ r.</p></sec><sec id="s3_2"><title>3.2. Application Conditions</title><p>Next, we investigate the use of application conditions. Negative Application Conditions (NAC) for reconfigurable Petri nets have been introduced in [<xref ref-type="bibr" rid="scirp.54275-ref23">23</xref>] and provide the possibility to forbid certain rule applications. These conditions restrict the application of a rule forbidding a certain structure to be present before or after applying a rule in a certain context. Such a constraint influences thus each rule application or transformation and therefore changes significantly the properties of the net transformation system. Rules with NACs as shown in <xref ref-type="fig" rid="fig4">Figure 4</xref> have an additional set of nets NC<sub>i</sub>, denoting the forbidden contexts. Formally, a rule is applicable only if match</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Transformation unit (R, nm, r1; r2<sup>*</sup>; r3)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730172x32.png"/></fig><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Formal definition of NACs</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730172x33.png"/></fig><p>m cannot be extended to a match m<sub>i</sub> such that<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x34.png" xlink:type="simple"/></inline-formula>. The nets NC<sub>i</sub> together with the morphisms <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x35.png" xlink:type="simple"/></inline-formula> are associated to one L, indicating that no extension of m should exist for any<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x36.png" xlink:type="simple"/></inline-formula>.</p><p>An example is given in <xref ref-type="fig" rid="fig5">Figure 5</xref>, where the rule r deletes no element of L. So, the rule could be applied again. The NAC checks that the net NC is not in the context of the application, thus forbidding the repeated application of the rule r for the same match. So, repeated application of r with different occurrences may yield the net N1, but the net N2 cannot be obtained by applying r.</p><p>A substantial extension of negative application conditions providing a much greater expressiveness are nested application conditions [<xref ref-type="bibr" rid="scirp.54275-ref24">24</xref>] -[<xref ref-type="bibr" rid="scirp.54275-ref26">26</xref>] that have been given in the framework of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x37.png" xlink:type="simple"/></inline-formula>-adhesive transformation systems. Stated in terms of reconfigurable Petri nets a nested application ac over a net P and its satisfaction by a morphism <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x38.png" xlink:type="simple"/></inline-formula> is defined inductively:</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x39.png" xlink:type="simple"/></inline-formula>and every morphism satisfies true,</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x40.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x41.png" xlink:type="simple"/></inline-formula> is a net morphism and ac' is an application condition over the net C, and a net morphism <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x42.png" xlink:type="simple"/></inline-formula> satisfies ac, if there exists an injective net morphism q with <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x42.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x43.png" xlink:type="simple"/></inline-formula> and q satisfies ac',</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x44.png" xlink:type="simple"/></inline-formula>, where ac' is a condition over P, and a morphism <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x45.png" xlink:type="simple"/></inline-formula> satisfies ac, if p does not satisfy ac',</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x46.png" xlink:type="simple"/></inline-formula>, where ac<sub>i</sub> belong to some set of conditions over N for <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x47.png" xlink:type="simple"/></inline-formula> and a morphism <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x47.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x48.png" xlink:type="simple"/></inline-formula> satisfies ac, if p satisfies ac<sub>i</sub> for some i.</p><p>As an example consider the rule r in <xref ref-type="fig" rid="fig6">Figure 6</xref>. The application condition ac states that no loops of size 1 or 2 are created by the application of the rule r: This is formalized by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x49.png" xlink:type="simple"/></inline-formula> where the injective net morphisms in <xref ref-type="fig" rid="fig6">Figure 6</xref> denote the net expressions x, y and z.</p></sec><sec id="s3_3"><title>3.3. Further Control Structures</title><p>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 [<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>] . These transition labels may change when the transition fires. This feature is important for the application of a rule after a transition has already fired and cannot be modeled without changing the labels. Considering the tokens in the post place of the transition does not work, because these tokens may be consumed as well. The extension to changing labels is conservative with respect to Petri nets as it does not alter the net’s behavior, but it is crucial for the control of rule application and transition firing.</p><p>Further important control structures in Petri nets are priorities of transitions and inhibitor arcs (e.g. [<xref ref-type="bibr" rid="scirp.54275-ref27">27</xref>] ). The first ensure that an order of transitions restricts the firing, so that a transition may fire only if it has the highest priority of all enabled transitions. The set of transitions T is equipped with a partial order ≤ on the transitions. A</p><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Example for a negative application condition</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730172x50.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Example of a nested application condition</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-1730172x51.png"/></fig><p>transition <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x52.png" xlink:type="simple"/></inline-formula> is enabled under a marking m, if<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x53.png" xlink:type="simple"/></inline-formula>, if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x54.png" xlink:type="simple"/></inline-formula> and if for all t being enabled under m we have<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x55.png" xlink:type="simple"/></inline-formula>. Based on a suitable function this concept has been shown to be compatible with reconfigurable Petri nets in [<xref ref-type="bibr" rid="scirp.54275-ref28">28</xref>] . Inhibitor arc enforce that a transition may only fire when the place connected by an inhibitor arc is empty, thus inhibitor arcs can be generalized by a function<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1730172x56.png" xlink:type="simple"/></inline-formula>. In [<xref ref-type="bibr" rid="scirp.54275-ref28">28</xref>] this concept has been formulated categorically and is shown to be compatible with reconfigurable Petri nets.</p><p>In timed Petri nets (e.g., time Petri nets [<xref ref-type="bibr" rid="scirp.54275-ref29">29</xref>] , deterministic timed Petri nets [<xref ref-type="bibr" rid="scirp.54275-ref30">30</xref>] and timed coloured Petri nets [<xref ref-type="bibr" rid="scirp.54275-ref31">31</xref>] ) time can be considered a control structure since the firing of transitions is restricted. Based on the concepts of [<xref ref-type="bibr" rid="scirp.54275-ref31">31</xref>] reconfigurable timed Petri nets have been introduced in [<xref ref-type="bibr" rid="scirp.54275-ref32">32</xref>] .</p></sec></sec><sec id="s4"><title>4. Summary of Control Structures and Related Work</title><p>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. <xref ref-type="table" rid="table1">Table 1</xref> states which concepts affect the application of rules, which affect the firing of transitions, which coordinate both and which concepts enforce an order based on priorities.</p><p><xref ref-type="table" rid="table2">Table 2</xref> states if the corresponding control structure is available for the various types of Petri nets and gives the corresponding reference. We have examined place/transition nets, decorated nets and algebraic high-level nets. Since AHOI nets have nets and rules as tokens, they control the dynamics directly and thus have not been considered here.</p><p><xref ref-type="table" rid="table3">Table 3</xref> concerns the tool support. Editing and simulating reconfigurable Petri nets requires tool support, there are two tools explicitly dealing with reconfigurable Petri nets ReConNet [<xref ref-type="bibr" rid="scirp.54275-ref8">8</xref>] and the RON-editor [<xref ref-type="bibr" rid="scirp.54275-ref33">33</xref>] . The AGG system [<xref ref-type="bibr" rid="scirp.54275-ref34">34</xref>] is an attributed graph transformation system but has also been used for modeling reconfigurable Petri nets. We have omitted here the large range of other graph transformation tool, that are in principle also capable of modeling reconfigurable Petri nets.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Types of control structures</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Control structure</th><th align="center" valign="middle" >Defined in terms of</th><th align="center" valign="middle" >Controlling</th></tr></thead><tr><td align="center" valign="middle" >Negative application conditions</td><td align="center" valign="middle" >Transformations</td><td align="center" valign="middle" >Context</td></tr><tr><td align="center" valign="middle" >Nested application conditions</td><td align="center" valign="middle" >Transformations</td><td align="center" valign="middle" >Context</td></tr><tr><td align="center" valign="middle" >Net transformation units</td><td align="center" valign="middle" >Order of</td><td align="center" valign="middle" >Rules</td></tr><tr><td align="center" valign="middle" >Priorities of rules</td><td align="center" valign="middle" >Order of</td><td align="center" valign="middle" >Rules</td></tr><tr><td align="center" valign="middle" >Labels, names</td><td align="center" valign="middle" >Nets</td><td align="center" valign="middle" >Rule application</td></tr><tr><td align="center" valign="middle" >Changing transition labels</td><td align="center" valign="middle" >Nets</td><td align="center" valign="middle" >Coordination of transitions and transformations</td></tr><tr><td align="center" valign="middle" >Inhibitor arcs</td><td align="center" valign="middle" >Nets</td><td align="center" valign="middle" >Firing behavior</td></tr><tr><td align="center" valign="middle" >Priorities of transitions</td><td align="center" valign="middle" >Order of</td><td align="center" valign="middle" >Transition firing</td></tr><tr><td align="center" valign="middle" >Timed token</td><td align="center" valign="middle" >Nets</td><td align="center" valign="middle" >Firing behavior</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Literature on control structures</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Control structures</th><th align="center" valign="middle"  colspan="3"  >Introduced for reconfigurable</th></tr></thead><tr><td align="center" valign="middle" >PT nets</td><td align="center" valign="middle" >Decorated PT nets</td><td align="center" valign="middle" >AHL nets</td></tr><tr><td align="center" valign="middle" >Negative application conditions</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref23">23</xref>]</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>]</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref16">16</xref>]</td></tr><tr><td align="center" valign="middle" >Nested application conditions</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref25">25</xref>]</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref2">2</xref>]</td></tr><tr><td align="center" valign="middle" >Net transformation units</td><td align="center" valign="middle"  colspan="2"  >In this paper</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >Priorities of rules</td><td align="center" valign="middle"  colspan="2"  >In this paper</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >Labels, names</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>]</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >Changing transition labels</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref13">13</xref>]</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >Inhibitor arcs</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref28">28</xref>]</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >Priorities of transitions</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref28">28</xref>]</td><td align="center" valign="middle" >-</td></tr><tr><td align="center" valign="middle" >Timed token</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.54275-ref32">32</xref>]</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >-</td></tr></tbody></table></table-wrap><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Controls structures in tools</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Control structures</th><th align="center" valign="middle"  colspan="3"  >Available in</th></tr></thead><tr><td align="center" valign="middle" >ReConNet</td><td align="center" valign="middle" >RON</td><td align="center" valign="middle" >AGG</td></tr><tr><td align="center" valign="middle" >Negative application conditions</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >Yes</td><td align="center" valign="middle" >Yes</td></tr><tr><td align="center" valign="middle" >Nested application conditions</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >Yes</td></tr><tr><td align="center" valign="middle" >Net transformation units</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td></tr><tr><td align="center" valign="middle" >Priorities of rules</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >Yes [<xref ref-type="bibr" rid="scirp.54275-ref1">1</xref>]</td></tr><tr><td align="center" valign="middle" >Labels, names</td><td align="center" valign="middle" >Yes</td><td align="center" valign="middle" >Yes</td><td align="center" valign="middle" >Yes</td></tr><tr><td align="center" valign="middle" >Changing transition labels</td><td align="center" valign="middle" >Yes</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td></tr><tr><td align="center" valign="middle" >Inhibitor arcs</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td></tr><tr><td align="center" valign="middle" >Priorities of transitions</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td></tr><tr><td align="center" valign="middle" >Timed token</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td><td align="center" valign="middle" >No</td></tr></tbody></table></table-wrap></sec><sec id="s5"><title>5. Conclusions</title><p>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.</p><p>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 <xref ref-type="table" rid="table1">Table 1</xref>, most of which are straightforward. More interesting is the realization of control structures in the tools. Negative application conditions are currently developed for the tool ReConNet.</p></sec><sec id="s6"><title>Cite this paper</title><p>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</p></sec></body><back><ref-list><title>References</title><ref id="scirp.54275-ref1"><label>1</label><mixed-citation publication-type="book" xlink:type="simple">Padberg, J., Hoffmann, K., Ehrig, H., Modica, T., Biermann, E. and Ermel, C. (2007.) Maintaining Consistency in Layered Architectures of Mobile Ad-Hoc Networks. In: Dwyer, M.B. and Lopes, A., Eds., Proceedings of Fundamental Approaches to Software Engineering 2007, Vol. 4422 of Lecture Notes in Computer Science, Springer, Berlin, 383-397.</mixed-citation></ref><ref id="scirp.54275-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Modica, T. (2012) Formal Modeling, Simulation, and Validation of Communication Platforms. Ph.D. thesis, Technical University of Berlin, Berlin.</mixed-citation></ref><ref id="scirp.54275-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Gabriel, K. (2014) Interaction on Human-Centric Communication Platforms: Modelling and Analysis Using Algebraic High-Level Nets and Processes. Ph.D. Thesis, Technische Universitat Berlin, Berlin.</mixed-citation></ref><ref id="scirp.54275-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Gottmann, S., Nachtigall, N. and Hoffmann, K. (2012) On Modelling Communication in Ubiquitous Computing Systems Using Algebraic Higher Order Nets. ECEASST, 51.</mixed-citation></ref><ref id="scirp.54275-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Reiter, F. (2012) Modellierung und Analyse von Szenarien des Living Place mit rekonfigurierbaren Petrinetzen. Bachelor Thesis, Hochschule fr Angewandte Wissenschaften Hamburg.</mixed-citation></ref><ref id="scirp.54275-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Llorens, M. and Oliver, J. (2004) Structural and Dynamic Changes in Concurrent Systems: Reconfigurable Petri Nets. IEEE Transactions on Computers, 53, 1147-1158. http://dx.doi.org/10.1109/TC.2004.66</mixed-citation></ref><ref id="scirp.54275-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Hoffmann, K., Ehrig, H. and Padberg, J. (2008) Flexible Modeling of Emergency Scenarios Using Reconfigurable Systems. ECEASST, 12.</mixed-citation></ref><ref id="scirp.54275-ref8"><label>8</label><mixed-citation publication-type="book" xlink:type="simple">Ede, M., Hoffmann, K., Oelker, G. and Padberg, J. (2012) ReConNet: A Tool for Modeling and Simulating with Reconfigurable Place/Transition Nets. In: Krause, C. and Westfechtel, B., Eds., Proceedings of the 7th International Workshop on Graph-Based Tools, Vol. 54, Electronic Communications of the EASST.</mixed-citation></ref><ref id="scirp.54275-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Padberg, J., Ehrig, H. and Ribeiro, L. (1995) Algebraic High-Level Net Transformation Systems. Mathematical Structures in Computer Science, 5, 217-256. http://dx.doi.org/10.1017/S0960129500000724</mixed-citation></ref><ref id="scirp.54275-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Gabriel, K. and Ehrig, H. (2012) Modelling Evolution of Communication Platforms and Scenarios Based on Transformations of High-Level Nets and Processes. Theoretical Computer Science, 429, 87-97.http://dx.doi.org/10.1016/j.tcs.2011.12.027</mixed-citation></ref><ref id="scirp.54275-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Modica, T. and Hoffmann, K. (2010) Formal Modeling of Communication Platforms Using Reconfigurable Algebraic High-Level Nets. Electronic Communications of the EASST, 30.</mixed-citation></ref><ref id="scirp.54275-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Modica, T., Gabriel, K. and Hoffmann, K. (2010) Formalization of Petri Nets with Individual Tokens as Basis for DPO Net Transformations. Electronic Communications of the EASST, 40.</mixed-citation></ref><ref id="scirp.54275-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Padberg, J. (2012) Abstract Interleaving Semantics for Reconfigurable Petri Nets. Electronic Communications of the EASST, 51.</mixed-citation></ref><ref id="scirp.54275-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Ehrig, H., Golas, U. and Hermann, F. (2010) Categorical Frameworks for Graph Transformation and HLR Systems Based on the DPO Approach. Bulletin of the EATCS, 102, 111-121.</mixed-citation></ref><ref id="scirp.54275-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Ehrig, H., Ehrig, K., Prange, U. and Taentzer, G. (2006) Fundamentals of Algebraic Graph Transformation. EATCS Monographs in TCS, Springer, Berlin.</mixed-citation></ref><ref id="scirp.54275-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Prange, U. (2008) Towards Algebraic High-Level Systems as Weak Adhesive HLR Categories. Electronic Notes in Theoretical Computer Science, 203, 67-88. http://dx.doi.org/10.1016/j.entcs.2008.10.043</mixed-citation></ref><ref id="scirp.54275-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Andries, M., Engels, G., Habel, A., Hoffmann, B., Kreowski, H., Kuske, S., Plump, D., Schürr, A. and Taentzer, G. (1999) Graph Transformation for Specification and Programming. Science of Computer Programming, 34, 1-54. http://dx.doi.org/10.1016/S0167-6423(98)00023-9</mixed-citation></ref><ref id="scirp.54275-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Bottoni, P., Hoffmann, K., Parisi-Presicce, F. and Taentzer, G. (2005) High-Level Replacement Units and Their Termination Properties. Journal of Visual Languages &amp; Computing, 16, 485-507. http://dx.doi.org/10.1016/j.jvlc.2005.07.001</mixed-citation></ref><ref id="scirp.54275-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Holscher, K., Klempien-Hinrichs, R. and Knirsch, P. (2008) Undecidable Control Conditions in Graph Transformation Units. Electronic Notes in Theoretical Computer Science, 195, 95-111. http://dx.doi.org/10.1016/j.entcs.2007.08.028</mixed-citation></ref><ref id="scirp.54275-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Kreowski, H., Kuske, S. and von Totth, C. (2010) Stepping from Graph Transformation Units to Model Transformation Units. Electronic Communications of the EASST, 30.</mixed-citation></ref><ref id="scirp.54275-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Ermler, M., Kreowski, H., Kuske, S. and von Totth, C. (2011) From Graph Transformation Units via Minisat to Grgen.Net. In: Applications of Graph Transformations with Industrial Relevance, 4th International Symposium, AGTIVE 2011, Budapest, 4-7 October 2011, Revised Selected and Invited Papers, 153-168.</mixed-citation></ref><ref id="scirp.54275-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Kreowski, H., Kuske, S. and Rozenberg, G. (2008) Graph Transformation Units—An Overview. In: Concurrency, Graphs and Models, Essays Dedicated to Ugo Montanari on the Occasion of His 65th Birthday, Lecture Notes in Computer Science, Vol. 5065, Springer, Berlin, 57-75.</mixed-citation></ref><ref id="scirp.54275-ref23"><label>23</label><mixed-citation publication-type="book" xlink:type="simple">Rein, A., Prange, U., Lambers, L., Hoffmann, K. and Padberg, J. (2008) Negative Application Conditions for Reconfigurable Place/Transition Systems. In: Ermel, C., de Lara, J. and Heckel, R., Eds., Proceedings of the Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT’08), Vol. 10, Electronic Communications of the EASST.</mixed-citation></ref><ref id="scirp.54275-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Lambers, L. (2009) Certifying Rule-Based Models Using Graph Transformation. PhD Thesis, Berlin Institute of Technology, Berlin.</mixed-citation></ref><ref id="scirp.54275-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Ehrig, H., Golas, U., Habel, A., Lambers, L. and Orejas, F. (2012)  -Adhesive Transformation Systems with Nested Application Conditions. Part 2: Embedding, Critical Pairs and Local Confluence. Fundamenta Informaticae, 118, 35-63.</mixed-citation></ref><ref id="scirp.54275-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Ehrig, H., Golas, U., Habel, A., Lambers, L. and Orejas, F. (2014)  -Adhesive Transformation Systems with Nested Application Conditions. Part 1: Parallelism, Concurrency and Amalgamation. Mathematical Structures in Computer Science, 24. http://dx.doi.org/10.1017/S0960129512000357</mixed-citation></ref><ref id="scirp.54275-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Chiola, G., Donatelli, S. and Franceschinis, G. (1991) Priorities, Inhibitor Arcs, and Concurrency in P/T Nets. In: Proceedings of the 12th International Conference on Application and Theory of Petri Nets, Gjern, 182-205.</mixed-citation></ref><ref id="scirp.54275-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Padberg, J. (2014) Reconfigurable Decorated PT Nets with Inhibitor Arcs and Transition Priorities. CoRR. arXiv:1409.6856.</mixed-citation></ref><ref id="scirp.54275-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Berthomieu, B. and Diaz, M. (1991) Modeling and Verification of Time Dependent Systems Using Time Petri Nets. IEEE Transactions on Software Engineering, 17, 259-273. http://dx.doi.org/10.1109/32.75415</mixed-citation></ref><ref id="scirp.54275-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Hrúz, B. and Zhou, M.C. (2007) Modeling and Control of Discrete Event Dynamic Systems. Springer, Berlin.</mixed-citation></ref><ref id="scirp.54275-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">Jensen, K. and Kristensen, L.M. (2009) Coloured Petri Nets—Modelling and Validation of Concurrent Systems. Springer, Berlin.</mixed-citation></ref><ref id="scirp.54275-ref32"><label>32</label><mixed-citation publication-type="other" xlink:type="simple">Gabriel, K., Lingnau, P. and Ermel, C. (2012) Algebraic Approach to Timed Petri Nets. Electronic Communications of the EASST, 47.</mixed-citation></ref><ref id="scirp.54275-ref33"><label>33</label><mixed-citation publication-type="book" xlink:type="simple">Biermann, E., Ermel, C., Hermann, F. and Modica, T. (2007) A Visual Editor for Reconfigurable Object Nets Based on the ECLIPSE Graphical Editor Framework. In: Juhas, G. and Desel, J., Eds., Proceedings of 14th Workshop on Algorithms and Tools for Petri Nets, AWPN’07, Universitat Koblenz-Landau, GI Special Interest Group on Petri Nets and Related System Models.</mixed-citation></ref><ref id="scirp.54275-ref34"><label>34</label><mixed-citation publication-type="other" xlink:type="simple">AGG (2014) The Attributed Graph Grammar System.</mixed-citation></ref></ref-list></back></article>