<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An unifying framework for compacting Petri nets behaviors?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giovanni Casu</string-name>
          <email>giovanni.casu@unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>G. Michele Pinna</string-name>
          <email>gmpinna@unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Matematica e Informatica, Università di Cagliari</institution>
          ,
          <addr-line>Cagliari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>245</fpage>
      <lpage>250</lpage>
      <abstract>
        <p>Compacting Petri nets behaviors means to develop a more succinct representation of all the possible executions of a net, still giving the capability to reason on properties fulfilled by the computations of the net. To do so suitable equivalences on alternative executions have to be engineered. We introduce a general notion of merging relation, covering the existing approaches to compact behaviors of nets, and we state some properties this kind of relations may satisfy. The classical merging relations, defined on unfoldings, do not in general satisfy the properties one may be interested in, and we propose how to add information to the executions in order to enforce some of these properties.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        proposed, and these are based on giving precise criteria to identify conflicting
conditions in nets which are acyclic, i.e. the transitive and reflexive closure
of the flow relation is a partial order. In the case of merged process ([
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) the
criterion is that the conditions must be equally labeled and have the same token
occurrence (i.e. they represent the same token, in the collective token philosophy
of [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) whereas in the case of trellis processes ([
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) the criterion is the distance of
the equally labeled conditions from the initial conditions (measuring the time).
Once conditions have been identified, isomorphic futures can be identified as
well. The identification of conflicting conditions has a semantics counterpart:
the identification induces an equivalence relation on the different computations
leading to these conditions, equivalence driven by the common futures of these
computations.
      </p>
      <p>We pursue this idea further, casting it in a general framework. We start
choosing a representation of nets behaviors less constrained with respect to the
usual notion of causal net on which unfoldings are based. Causal nets are acyclic
safe nets where conditions may have at most one incoming arc. The uniqueness
of incoming arcs, together with the safeness, guarantee that dependencies can
be uniquely identified. Conflicts are deduced from conditions having more than
one outgoing arcs (implying that various alternatives use that condition). We
drop the assumption that each condition has at most one incoming arc, and we
add the requirements that each transition in the net can be executed at most
once (which is syntactically enforceable) and that restricting the net to all the
transitions in a execution we obtain an acyclic net, where each condition has
at most one incoming and one outgoing arc. Dependencies can be captured by
looking at executions, and some conflicts may still be retrieved by looking at
multiple outgoing arcs. We call these nets unravel nets. This notion covers the
one of causal nets, as these are indeed unravel nets, whereas unravel nets may not
be causal ones. Together with the notion of unravel net, we introduce a notion
of conflict that it is not based on the syntax, like in causal nets, but on the
semantics (the executions of the net), simply stipulating that two conditions are
in conflict if they never appear together in an execution.</p>
      <p>We can now put forward the general framework, that consists in taking a
representation of the behaviors of a given net (in our case a labeled unravel net)
and an equivalence relation defined on conditions of the chosen representation of
the behaviors. The minimal requirement we put on this relation, which is called
merging relation is that two different conditions in the relation should be equally
labeled and in conflict.</p>
      <p>N1
s c0</p>
      <p>Consider the unravel net N1. Conditions c2 and c3 are in conflict and they
have the same label p, and similarly for conditions c1 and c4 (here the label is q).
In the net above the merging relation (denoted with ∼) stipulates that c2 ∼ c3,
c1 ∼ c4, c6 ∼ c7 and c5 ∼ c8 (reflexive pairs omitted). The relation is identified
pictorially with different colors. This is not the unique merging relation definable
on this net, we could have chosen this other relation: c2 ∼ c7, c1 ∼ c4, c6 ∼ c3
and c5 ∼ c8 (again reflexive pairs omitted), and clearly the identity relation
is a merging relation. Once that a merging relation is fixed, we can compact
the behavior by merging the conditions in the same equivalence classes and
identifying the equally labeled transitions having the same preset and postset.
The result of this procedure is the
net shown on the left. The
condid q tion 0 is the equivalence class of c0,
N2 b p e5 3 e7 c 1ca3n,ids2cth7theeaenqoduniefivnaolaeflnlycc1e4acnltadhsesc4oo,fne3c2ooffanccd56
e2 1 e4 d and c8. Transitions with the same
labels are not identified as none of
s 0 them has the same preset and postset.</p>
      <p>We observe that the net obtained
idene1 2 e3 c tifying equivalent conditions is not any
a q longer an unravel net. In the execution
e6 4 e8 d e1 followed by e3 and e4 the condition
c p 1 is marked twice violating the
requirement of being acyclic. The fact that e3
should be followed by e5 and not e4 has been lost in the compaction process.</p>
      <p>The notion of merging relation covers
the criteria used in merged and trellises
lapisrboerscaepnsrcsoehcsin.esgIsnepsrtohtcheeescssa,tsaheretnoifcnegmapelroagibneetdleiasdnacdlawutarsyealsl- N3 b c7 q a p
net where dependencies and conflicts can q c2 e2 p e4 c6
be found syntactically. The criterion to use c4
in case of merged processes is to consider
two equally labeled conflicting conditions ci p c1 e1 c3 e3 c5
saanmd ecjtoakseneqoucicvuarlreenntcies, twhhaitchthiesydehfianveedthaes a p a p
the number of conditions labeled as ci and
cj that are encountered going back to the initial conditions, comprising ci and cj.
In the net N1 the conditions c6 and the condition c7 have both one condition in
their past which has the same label, namely c2 and c3 respectively, hence their
token occurrence is 2. In the case of trellises processes the starting point is not
only a branching processes, but here the nets considered are called multi-clocks
nets. Multi-clocks nets are the product of various automata where only one place
is initially marked and each reachable marking is such that each component has
just one place marked. Due to this feature it is possible to identify, for each
condition and each execution, the exact time in which the condition holds. The
criterion is then the one of considering two equally labeled conflicting conditions
ci and cj as equivalent is that they have the same time, which is defined as the
number of conditions that are encountered going back to the initial conditions,
comprising ci and cj. In the unravel net N3, the conditions c3 and c4 have the
same label p and have the same distance from the initial conditions, and similarly
c5 and c6. By identifying these conditions also the transitions e5 and e6 have
to be identified, resulting in the net N4. 1 is the equivalence class containing c3
and c4, 2 the one with c5 and c6 and finally eˆ is the transition obtained fusing
e3 and e4, has these two transitions have the same preset, the same postset and
are equally labelled, thus they share the same future.
b
e2
e1
a
c7 q
1
p
a
ˆ
e
2
p</p>
      <p>The criteria used to obtain merged
and trellises processes may be
generalized equipping the unravel net with a
mapping that associate to each
condition a unique number, which we can call
the measure. Thus a merging relation is
obtained making equivalent all the
conditions having the same labels, the same
measure and being pairwise conflicting.</p>
      <p>N4
q c2
p c1</p>
      <p>For the compaction process to be of
real interest one would like to obtain a
net which is possibly an unravel one, or
that has strong relations with the unravel net we started with. In fact we devise
two characteristic the compaction process may have. The first one is that to each
execution in the compact net, at least an execution in the original one should
correspond. The merging relation used to obtain N2 out of N1 does not fulfil
this property, whereas it does the merging relation used to obtain N4 out of N3.
When a merging relation fulfil this property we say that it is a reflecting merging
relation. Clearly a reflecting merging relation always exists, as the identity relation
is reflecting.</p>
      <p>The property of being reflecting, adopting as the measure the token occurrence,
can be enforced by enriching the starting unravel net. In the net N1 conditions
are used both to represent dependencies and conflicts, and by fusing some of
them the dependencies may be lost. Thus the idea is to add some conditions that
captures the dependencies. These conditions are easily obtainable by considering
the whole token count for each transition of net. The net N1 can be enriched as
shown in the net N5, and the added conditions are labeled with the condition
representing the dependency.
N5</p>
      <p>
        Among the added conditions, in this case, there is no equivalence, as all of
them have a different measure, the measure in this case being the one represented
by the whole token count for the transitions (details on how to determine this
measure can be found in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], where the theory is applied to multi-clock nets).
The result of the compaction process is
the net N6. Now the execution e1
followed by e3 and e4 is no longer possible N6 q
and e3 is followed by e5 only.
      </p>
      <p>Beside looking for reflecting
merging relation, one could be interested in p d 3 c
preserving some characteristic of the
net. For instance, one may be inter- b 1 d q
ested in preserving the fact that the
resulting net is still an unravel one (and s
the measure induced by the time in
the compaction done with trellis
processes has this characteristic) or being a 2 c p
acyclic when restricted to a certain
subset of conditions (again, when consider- q c 4 d
ing the conditions belonging to an
automata this is the case in trellis pro- p
cesses). When properties fulfilled by the
net we start with are preserved by the compaction process we say that the
merging relation is preserving. The merging relation giving the net N6 preserves the
property that, when only the added conditions are considered, the whole net is
acyclic, and verification can be performed easily.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The concepts of Petri nets</article-title>
          .
          <source>Software and System Modeling</source>
          <volume>14</volume>
          (
          <issue>2</issue>
          ) (
          <year>2015</year>
          )
          <fpage>669</fpage>
          -
          <lpage>683</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , W.:
          <string-name>
            <surname>Understanding Petri Nets - Modeling Techniques</surname>
          </string-name>
          ,
          <source>Analysis Methods, Case Studies. Springer</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Winskel</surname>
          </string-name>
          , G.:
          <article-title>Event Structures</article-title>
          .
          <source>In: Petri Nets: Central Models and Their Properties. LNCS</source>
          <volume>255</volume>
          (
          <year>1987</year>
          )
          <fpage>325</fpage>
          -
          <lpage>392</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Engelfriet</surname>
          </string-name>
          , J.:
          <article-title>Branching processes of Petri nets</article-title>
          .
          <source>Acta Informatica</source>
          <volume>28</volume>
          (
          <issue>6</issue>
          ) (
          <year>1991</year>
          )
          <fpage>575</fpage>
          -
          <lpage>591</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>McMillan</surname>
            ,
            <given-names>K.L.</given-names>
          </string-name>
          :
          <article-title>Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits</article-title>
          .
          <source>In: CAV '92. LNCS 663</source>
          (
          <year>1993</year>
          )
          <fpage>164</fpage>
          -
          <lpage>177</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Esparza</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Römer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vogler</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>An Improvement of McMillan's Unfolding Algorithm</article-title>
          .
          <source>Formal Methods in System Design</source>
          <volume>20</volume>
          (
          <issue>3</issue>
          ) (
          <year>2002</year>
          )
          <fpage>285</fpage>
          -
          <lpage>310</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Khomenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kondratyev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koutny</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vogler</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Merged Processes: a new condensed representation of Petri net behaviour</article-title>
          .
          <source>Acta Informatica</source>
          <volume>43</volume>
          (
          <issue>5</issue>
          ) (
          <year>2006</year>
          )
          <fpage>307</fpage>
          -
          <lpage>330</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. van Glabbeek,
          <string-name>
            <surname>R.J.:</surname>
          </string-name>
          <article-title>The individual and collective token interpretation of Petri nets</article-title>
          .
          <source>In: CONCUR 2005. LNCS 3653</source>
          (
          <year>2005</year>
          )
          <fpage>323</fpage>
          -
          <lpage>337</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Fabre</surname>
          </string-name>
          , E.:
          <article-title>Trellis processes : A compact representation for runs of concurrent systems</article-title>
          .
          <source>Discrete Event Dynamic Systems</source>
          <volume>17</volume>
          (
          <issue>3</issue>
          ) (
          <year>2007</year>
          )
          <fpage>267</fpage>
          -
          <lpage>306</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Casu</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pinna</surname>
            ,
            <given-names>G.M.:</given-names>
          </string-name>
          <article-title>Flow unfolding of multi-clock nets</article-title>
          .
          <source>In: PETRI NETS 2014. LNCS 8489</source>
          (
          <year>2014</year>
          )
          <fpage>170</fpage>
          -
          <lpage>189</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>