<!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>Morphisms on Marked Graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luca Bernardinello</string-name>
          <email>luca.bernardinello@unimib.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lucia Pomello</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Scaccabarozzi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Informatica, Sistemistica e Comunicazione, Università degli studi di Milano - Bicocca</institution>
          ,
          <addr-line>Viale Sarca, 336 - Edificio U14 - I-20126 Milano</addr-line>
          ,
          <country country="IT">Italia</country>
        </aff>
      </contrib-group>
      <fpage>113</fpage>
      <lpage>127</lpage>
      <abstract>
        <p>Many kinds of morphisms on Petri nets have been defined and studied. They can be used as formal techniques supporting refinement/abstraction of models. In this paper we introduce a new notion of morphism on marked graphs, a class of Petri nets used for the representation of systems having deterministic behavior. Such morphisms can indeed be used to represent a form of abstraction on marked graphs, consisting in folding cycles and identifying chains. We will then prove that systems joined by these morphisms show behavioral similarities.</p>
      </abstract>
      <kwd-group>
        <kwd>Petri nets</kwd>
        <kwd>marked graphs</kwd>
        <kwd>morphisms</kwd>
        <kwd>model abstraction</kwd>
        <kwd>preservation of behavioral properties</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Introduction
When working on concurrent and distributed systems, the dimensions and
complexity of a model may lead to difficulties in the analysis of its features and
properties. For this reason it is useful to have formal techniques allowing the
decomposition of the entire model into separate modules which can be studied
separately, then being recomposed maintaining their properties. Another way to
reduce the dimension and complexity of a model is to use a multilevel approach
to its analysis: we start working on a very abstract version of the model, then
proceed through different levels of refinement by adding details to the model.</p>
      <p>
        In order to obtain such functionalities we can use morphisms on Petri nets. In
the literature (see, for example, [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) several kinds of morphism
on different classes of Petri nets have been introduced. In this paper we propose
a new definition of morphism on marked graphs, a class of Petri nets often
used for representing systems having deterministic behavior. These so called
F -morphisms and the subclass of Fˆ-morphisms constitute a formal instrument
which can be used to obtain a kind of abstraction of marked graphs.
      </p>
      <p>
        Some kinds of morphisms defined in the literature, such as ↵ -morphisms ([
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]),
allow to collapse part of the initial model on a single place or a single transition
in order to obtain the abstract system. Differently, Fˆ-morphisms map places on
single places and transitions on single transitions, preserving the environment
of each mapped element. Instead of collapsing portions of the detailed model
into a single element, the abstraction is here obtained by “folding” cycles and
identifying chains and cycles. Both these elements still remain in the reduced
model.
      </p>
      <p>Such kind of abstraction preserves the behavior of the mapped part of the
original system. This means that, whenever we apply a Fˆ-morphism on a system,
all the sequences of actions executable in the reduced version can be found in
the original model.</p>
      <p>In the last part of this paper, an analysis of preserved and reflected behavioral
properties and invariants of marked graphs joined by Fˆ-morphisms is performed.</p>
      <p>In the next section, basic definitions related to Petri nets and their unfoldings
are recalled. In Section 3 F - and Fˆ-morphisms are introduced together with
their main features. Then the relationship between the unfoldings of two marked
graphs joined by a Fˆ-morphism is explicated. Section 4 shows the results of the
analysis of behavioral and structural properties preserved and reflected by
Fˆmorphisms. The paper is closed by a short concluding section.
2</p>
      <p>Preliminary definitions
In this section we recall basic definitions about marked graph theory and
unfoldings. These notions will be used in the next chapters to study important aspects
of F -morphisms.
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Petri nets</title>
      <p>
        We first start introducing the notion of net as seen in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], with some adjustements.
Definition 1. A net is a triple N = (S, T, F ), where
– S is a set of places,
– T is a set of transitions such that S \ T = ; ,
– F is a set of directed arcs (flow relation), F ✓ (S ⇥ T ) [ (T ⇥ S).
      </p>
      <p>All places and transitions are said to be elements of N . A net is finite if the
set of elements is finite.</p>
      <p>For an element x of S [ T , its pre-set is defined by
while its post-set is defined by
•x = {y 2 S [ T | (y, x) 2 F }
x• = {y 2 S [ T | (x, y) 2 F }.</p>
      <p>A directed path (path for short) in a net N is a nonempty sequence x0 . . . xk
satisfying xi 2 xi• 1 for each i (1  i  k). We say that this path leads from x0
to xk. The net is strongly connected if for each two elements x and y there exists
a directed path leading from x to y.</p>
      <p>An undirected path is a nonempty sequence x0 . . . xk of elements satisfying
xi 2 •xi 1 [ xi• 1 for each i (1  i  k). Such undirected path leads from x0 to
xk. The net is weakly connected if, for each two elements x and y, there exists
an undirected path leading from x to y. In this paper, we will call connected a
weakly connected net.</p>
      <p>A directed circuit is a directed path x0 . . . xkx0 such that, for each i, j 2 N,
i, j  k, i 6= j, xi 6= xj holds.</p>
      <p>The states of a Petri net are defined by its markings. State changes are caused
by the occurrences of transitions. A marking of a net N = (S, T, F ) is a mapping
M : S ! N. A place s 2 S is marked by a marking M if M (s) &gt; 0.</p>
      <p>A transition t is enabled at a marking M if M marks every place in •t. Then
t can occur. Its occurrence transforms M into the marking M 0, defined for each
place s as</p>
      <p>M 0(s) =
8
&gt;&lt;</p>
      <p>M (s)</p>
      <p>1 if s 2 •t \ t•,</p>
      <p>M (s) + 1 if s 2 t• \ •t,
&gt;: M (s) otherwise.</p>
      <p>t
In this case we write M! M 0. Notice that a place in •t\ t• is marked whenever t
is enabled but does not change its token count by the occurrence of t. A marking
is called dead if it enables no transition of N . A net N together with an initial
marking M0 constitutes a Petri Net System (also called place/transition system),
denoted (N, M0).</p>
      <p>Let M be a marking of a net. A finite sequence t1 . . . tk of transitions is called
a finite occurrence sequence, enabled at M , if there are markings M1, . . . , Mk such
that</p>
      <p>M!t1 M1!t2 . . .!tk</p>
      <p>Mk.</p>
      <p>In this case we write M! ! Mk, where ! = t1 . . . tk. The empty sequence E is
enabled at any marking M and satisfies M! E M . A marking M 0 is said to be
reachable from a marking M if there exists a finite occurrence sequence ! such
that M! ! M 0.</p>
      <p>In this paper we will mainly work on a particular kind of Petri nets, the
marked graphs.</p>
      <p>Definition 2. A Petri net N = (S, T, F, M0) is a marked graph if, for every
s 2 S, |•s|  1 and |s•|  1.
2.2</p>
    </sec>
    <sec id="sec-3">
      <title>Behavioral properties</title>
      <p>The presence of an initial marking M0 allows to identify the behavior of the
Petri net system (N, M0), defined as the set of all markings reachable from M0
together with the set of occurences of each transition which make the global
state of the system change.</p>
      <p>
        Properties of a net depending on the initial marking are known as behavioral
properties of the net. We now introduce some behavioral properties ([
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) which
will be used in the next sections.
      </p>
      <sec id="sec-3-1">
        <title>Definition 3. A Petri net (N, M0) is said to be k-bounded or simply bounded</title>
        <p>if the number of tokens in each place does not exceed a finite number k for any
marking reachable from M0, i.e., M (s)  k for every place s and every reachable
marking M . (N, M0) is said to be safe if it is 1-bounded.</p>
        <p>While boundedness implies the presence of a finite number of global states
for a finite net, liveness ensures that every event can potentially occur in the
future.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Definition 4. A Petri net (N, M0) is said to be live (or equivalently M0 is</title>
        <p>said to be a live marking for N ) if, no matter which marking has been reached
from M0, it is possible to ultimately fire any transition of the net by progressing
through some further firing sequence.
2.3</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Incidence matrix and structural invariants</title>
      <p>
        Definitions recalled in this section are taken from [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], with some adaptations.
Definition 5. Let (N, M0) be a Petri net with n transitions and m places. Its
incidence matrix A = [aij ] is an m ⇥ n matrix of integers and its typical entry
is given by
      </p>
      <p>+
aij = aij
aij
where ai+j = 1 if there is an arc of N going from transition j to its post-condition
i, otherwise ai+j = 0, while aij = 1 if there is an arc to transition j from its
pre-condition i, otherwise aij = 0.</p>
      <p>Some properties of a Petri net can be studied through the incidence matrix
and its invariants. A S-invariant associates weights to places in a way such that
the weighted sum of tokens is the same in all reachable markings.</p>
      <sec id="sec-4-1">
        <title>Definition 6. Let N be a net and let A be its incidence matrix. A vector I :</title>
        <p>S ! Z is a S-invariant for N iff it is a solution of: IA = 0.</p>
        <p>T-invariants allow to identify possible cyclic behaviors in a Petri net.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Definition 7. Let N be a net and let A be its incidence matrix. A vector J :</title>
        <p>T ! Z is a T-invariant for N iff it is a solution of: AJ T = 0.
2.4</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Branching processes and unfoldings</title>
      <p>
        The behavior of a Petri net N can be represented in different ways. One of these
is to use the so called unfolding of N . In order to understand what the unfolding
of a net is, we first need to introduce some formal definitions. The theoretical
notions we will relate in this subsection are all taken from [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. From now on, we
will only consider Petri nets such that, for every transition t, •t and t• are finite
sets and, moreover, we assume them to be nonempty. Furthermore, we do not
allow more than one token on a place in the initial marking. Such constraints do
not result too restrictive with respect to the behavior of the studied systems.
Definition 8. Let N = (S, T, F, M0) be a Petri net. For x, y 2 S [ T we say
that x precedes y if there is a (possibly empty) directed path from x to y in N .
N is finitary if for every y 2 S [ T the set {x 2 S [ T | x precedes y} is finite.
      </p>
      <p>The relation precedes defines a partial order on S [ T , and Min(N ) is the
set of minimal elements of that partial order. We now introduce the notion of
conflict.</p>
      <p>Definition 9. Let N = (S, T, F, M0) be a Petri net. For x1, x2 2 S [ T , x1 and
x2 are in conflict, denoted x1 # x2, if there exist distinct transitions t1, t2 2 T
such that •t1 \ •t2 6= ; and ti precedes xi, for i = 1, 2. For x 2 S [ T , x is in
self-conflict if x # x.</p>
      <p>The concept of conflict is used to define occurrence net.</p>
      <p>Definition 10. An occurrence net is a finitary acyclic net N = (S, T, F, M0)
such that
– for every s 2 S, |•s|  1,
– no transition t 2 T is in self-conflict, and
– M0 = Min(N ).</p>
      <p>
        We now define a particular kind of morphism called “folding” in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Intuitively, a homomorphism from net N1 to net N2 formalizes the fact that N1 can
be folded onto a part of N2, or, in other words, that N1 can be obtained by
partially unfolding a part of N2.
      </p>
      <p>Definition 11. Let Ni = (Si, Ti, Fi, M0i) be nets, i = 1, 2. A homomorphism
from N1 to N2 is a mapping h : S1 [ T1 ! S2 [ T2 such that
– h(S1) ✓ S2 and h(T1) ✓ T2,
– for every t 2 T1, the restriction of h to •t is a bijection between •t and •h(t),
and similarly for t• and h(t)•, and
– the restriction of h to M01 is a bijection between M01 and M02.</p>
      <p>The notions of homomorphism and occurrence net are necessary to formally
define branching processes.</p>
      <p>Definition 12. Let N = (S, T, F, M0) be a net. A branching process of N is
a pair (N 0, ⇡ ), where N 0 = (S0, T 0, F 0, M00 ) is an occurrence net and ⇡ is a
homomorphism from N 0 to N , such that, for every t1, t2 2 T , if •t1 = •t2 and
⇡ (t1) = ⇡ (t2), then t1 = t2.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], a notion of homomorphism between branching processes of the same
net N is also defined. Injective homomorphisms define a partial order for the
branching processes of N , called approximation. The set of the isomorphism
classes of the branching processes of N , together with approximation, form a
complete lattice. The least upper bound of such lattice is the unfolding of N .
3
      </p>
      <p>A new class of morphisms on marked graphs
In this section we introduce a new kind of morphism on marked graphs, the
F -morphisms. We will then focus on a subclass of such morphisms, the
Fˆmorphisms, analysing some interesting features of theirs. Finally, we will study
the relationship between the unfoldings of two marked graphs joined by a
Fˆmorphism. In this paper we only consider a particular kind of marked graphs.</p>
    </sec>
    <sec id="sec-6">
      <title>Remark</title>
      <p>self-loops.</p>
      <sec id="sec-6-1">
        <title>From now on, we only consider connected marked graphs without</title>
        <p>It is now possible to introduce the main notion of this work.</p>
        <p>Definition 13. Let Ni = (Si, Ti, Fi, M0i), i = 1, 2, be two marked graphs. A
F -morphism from N1 to N2 is a pair (, ⌧ ), where : S1 ! S2 and ⌧ : T1 ! T2
are partial surjective functions, such that:
– if ⌧ (t1) is undefined, then (•t1) = ; = (t1•),
– if ⌧ (t1) = t2, then the restriction of to •t1 is an injective and surjective
partial function from •t1 to •t2 and, similarly, the restriction of to t1• is
an injective and surjective partial function from t1• to t2•,
– for every s0 2 S2</p>
        <p>M02(s0) =</p>
        <p>M01(s).</p>
        <p>X
s2
1(s0)</p>
        <p>We define the composition of two F -morphisms ( 1, ⌧ 1) : N1 ! N2 and
( 2, ⌧ 2) : N2 ! N3 by using the notion of composition of functions, i.e., ( 1, ⌧ 1)
( 2, ⌧ 2) = ( 2 1, ⌧ 2 ⌧ 1) : N1 ! N3. F -morphisms are closed by composition.
Theorem 1. Let Ni = (Si, Ti, Fi, M0i) be marked graphs for i = 1, . . . , 3. Let
( i, ⌧ i), i = 1, 2, be F -morphisms from Ni to Ni+1. The function (, ⌧ ) : N1 !
N3, where = 2 1 and ⌧ = ⌧ 2 ⌧ 1 is a F -morphism.</p>
        <p>
          This theorem is proved in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The identity function 1N = (idS, idT ) is a F
morphism, where idS : S ! S and idT : T ! T are the total identity functions.
The composition is associative. Hence, the family of F -morphisms, together with
marked graphs, form a category which takes the name of Marked Graph System,
denoted MGS.
        </p>
        <p>With these morphisms we allow to map chains on cycles, as shown in Figure
1, representing an example of F -morphism from N1 to N2. The labels suggest
the arrows of the morphism. Notice that the cardinality of the pre-images of the
elements labelled by 1, b and 2 of N2 is one, while the place labelled by ac has
two elements in its pre-image.</p>
        <p>By adding a further constraint to the definition of F -morphisms, we get a
subclass of morphisms which preserve cycles and chains.</p>
        <p>Definition 14. Let Ni = (Si, Ti, Fi, M0i) be marked graphs for i = 1, 2. A
Fˆmorphism from N1 to N2 is a F -morphism (, ⌧ ) with the following restriction:
– for all s1 2 S1 such that (s1) = s2, the restriction of ⌧ to •s1 is a bijection
from •s1 to •s2 and, similarly, the restriction of ⌧ to s1• is a bijection from
s1• to s2•.</p>
        <p>It is easy to see that Fˆ-morphisms are closed by composition. In fact, since
we already know that a Fˆ-morphism (, ⌧ ) is a F -morphism, it is sufficient to
prove that the additional constraint that characterizes Fˆ-morphisms is preserved
by composition. We prove it simply by observing that the composition of two
bijections is also a bijection.</p>
        <p>The example in Figure 1 shows a F -morphism (, ⌧ ) which is not a
Fˆmorphism: let s1 be the place of N1 labelled with c and let (s1) = s2 (therefore,
s2 is the place of N2 labelled with ac). The restriction of ⌧ to s1• is not a bijection
from s1• to s2•, in fact we have that s1• = ; 6 = s•.
2</p>
        <p>In Figure 2 three examples of Fˆ-morphisms are shown: the first two of them,
(( 1, ⌧ 1) : N1 ! N2 and ( 2, ⌧ 2) : N3 ! N4, respectively, Figure 2a and Figure
2b), allow us to observe that, using Fˆ-morphisms, it is possible to compress
cycles and to identify chains; in the last one, (( 3, ⌧ 3) : N5 ! N6, Figure 2c), an
identification of cycles is represented.</p>
        <p>
          Let us now compare Fˆ-morphisms with another kind of morphisms defined
in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], N -morphisms, corresponding to a kind of partial simulation. We want
to do this since we will later show that we can always find a N -morphism
between the unfoldings of two marked graphs joined by a Fˆ-morphism. First of all,
N -morphisms are defined on elementary net systems, while Fˆ-morphisms are
defined on marked graphs. N -morphisms define a relation between the places
of the joined systems, such that its inverse is a partial function. Differently,
Fˆ-morphisms allow two places to have the same image. Furthermore, for
Fˆmorphisms the mapping between events is surjective, while N -morphisms do
not require such constraint. The last main difference is that, if two places s and
s0 of different elementary net systems are joined by a N -morphism, s belongs to
the initial case of the first system if and only if s0 is in the initial case of the
second one, whereas whith Fˆ-morphism a place of the starting system
containing no tokens in the initial marking can be mapped on a place containing tokens.
        </p>
        <p>We now show some interesting features of Fˆ-morphisms.</p>
        <p>Theorem 2. Let Ni = (Si, Ti, Fi, M0i) be marked graphs, for i = 1, 2, joined
by a Fˆ-morphism (, ⌧ ) : N1 ! N2. Let A1 and A2 be the incidence
matrices of, respectively, N1 and N2. Let s0 2 S2 be a place of N2 such that
1(s0) = {s1, s2, . . . , sn}. For every transition t 2 T1 such that ⌧ (t) is defined,
the following equation holds:
n
X A1(si, t) = A2(s0, ⌧ (t)).
i=1
(1)
Proof. In order to prove the theorem, we need to compare the incidence matrices
of N1 and N2. Let Ai, i = 1, 2, be the incidence matrices of, respectively, N1 and
N2. Because of the structure of a marked graph, it is possible to say that every
row of Ai contain one 1 or -1 value or both of them, while the remaining entries of
that row contain 0 values. Let us now consider n distinct places s1, . . . , sn of N1,
such that (si) = s0, 1  i  n. For each si 2 1(s0), if |•si| = 1 we denote tpre
the input transition of |si| and, similarly, if |si•| = 1, we denote tpost the input
transition of |si|. So, if such entries exist, A1(si, tpre) = 1 and A1(si, tpost) =
1. For definition of Fˆ-morphism, A2(s0, ⌧ (tpre)) = 1 and A2(s0, ⌧ (tpost)) =
1. Furthermore, since we consider marked graphs without self-loops and
defines an injective and surjective partial function between the pre-conditions of
transitions joined by ⌧ , for each sj 2 1(s0), j 6= i, we have A1(sj , tpre) = 0 and
A1(sj , tpost) = 0. This proof about one generic s0 place of N2 can be extended
to all the places of N2: so the theorem is proved.</p>
        <p>The previous theorem allows us to introduce another interesting feature of
Fˆ-morphisms. Intuitively, if two marked graphs N1 and N2 are joined by a
Fˆmorphism (, ⌧ ) : N1 ! N2, the pre-images of any element of N2 contain the
same number n of elements.</p>
        <p>Theorem 3. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be marked graphs and let
(, ⌧ ) : N1 ! N2 be a Fˆ-morphism. Every x 2 P2 [ T2 has pre-image containing
the same number n of elements.</p>
        <p>Proof. Let Ai, i = 1, 2, be the incidence matrices of, respectively, N1 and N2.
For every place s0 2 S2, if | 1(s0)| = n, then it is possible to find n
distinct columns t1, . . . , tn of A1 such that A1(si, ti) = 1 or A1(si, ti) = 1, with
si 2 1(s0). Let t0 be the input or output transition of p0; it is easy to verify
that ⌧ 1(t0) = {t1, . . . , tn}. This means that, if the pre-image of a place of N2
contains n elements, the pre-images of its input and output transitions also
contain n elements. We can extend this proof to every place of N2, thus proving the
theorem.</p>
        <p>We call n the reduction factor of (, ⌧ ). The Fˆ-morphism shown in Figure
2b has reduction factor 2, while the one in Figure 2c has reduction factor 3.
3.1</p>
        <p>
          Fˆ-morphisms and behavioral relationships
We now want to show the relationship between the behaviors of two marked
graphs joined by a Fˆ-morphism. In this paper we assume that the behavior of
a system can be entirely described by means of its unfolding, according to the
definition given in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. For this reason, from now on, we will only consider marked
graphs with one technical restriction: in the initial marking there should not be
more than one token on each place.
        </p>
        <p>
          Marked graphs are used to model deterministic systems. The absence of
choices in the behavior of deterministic systems can be used to observe that
the unfolding of a marked graph does not contain conflicts. In [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] the unfolding
of a net N is formally defined as a pair (N 0, ⇡ ), where N 0 is an occurrence net and
⇡ is a homomorphism from N 0 to N . An occurrence net containing no conflicts
is called causal net, which is an acyclic marked graph.
        </p>
        <p>
          Let us now consider N -morphisms defined in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for elementary net systems,
and compared to Fˆ-morphisms in the previous subsection. Causal nets, used to
represent the unfoldings of marked graphs, form a subclass of elementary net
systems. This allows us to explicit the relationship between the behaviors of two
marked graphs joined by a total Fˆ-morphism.
        </p>
        <p>Theorem 4. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be marked graphs joined by
a Fˆ-morphism (, ⌧ ) : N1 ! N2 and let (N10 , ⇡ 1) and (N20 , ⇡ 2) be, respectively,
the unfoldings of N1 and N2. Then, there exists a N -morphism (, ⌘ ) : N10 ! N20
which makes the following diagram commute.</p>
        <p>N!1
x
?? ⇡ 1
N!10
,⌧
,⌘</p>
        <p>N2
x
?? ⇡ 2
N20</p>
      </sec>
      <sec id="sec-6-2">
        <title>In particular,</title>
        <p>an isomorphism.</p>
      </sec>
      <sec id="sec-6-3">
        <title>1 is an injective partial function and, if (, ⌧ ) is total, (, ⌘ ) is</title>
        <p>
          The proof of this theorem can be found in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], together with the necessary
theoretical notions. Such proof uses an improved version of McMillan’s unfolding
algorithm (see [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]) with some modifications.
4
        </p>
        <p>Fˆ-morphisms and their properties
In this section we want to analyze some properties about liveness, boundedness,
safeness, S and T-invariants of two marked graphs N1 and N2, joined by a
Fˆmorphism (, ⌧ ) : N1 ! N2. We will first analyze behavioral properties and then
structural invariants.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Analysis of behavioral properties</title>
      <p>First of all, it is useful to observe that directed circuits are preserved by
Fˆmorphisms. Intuitively, this means that, given two marked graphs N1 and N2
and a Fˆ-morphism (, ⌧ ) : N1 ! N2, if = x1x2 . . . xkx1 is a directed circuit of
N1, xi 2 S1 [ T1, (, ⌧ ) maps on a directed circuit of N2.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] marked graphs are defined as Petri nets N = (S, T, F, M0) in which,
for each s 2 S, it holds |•s| = |s•| = 1. Then, they prove that a marked graph N
is live iff the initial marking places at least one token on each directed circuit
in N . In this paper we consider a more general notion of marked graph: for each
place s we have |•s|  1 and |s•|  1. It is well known (for example, see [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ])
that, given a marked graph N such that |•s| = 1 for each place s, N is live if
and only if the initial marking places at least one token on each directed circuit
in N .
      </p>
      <p>Fig. 3</p>
      <p>The previous remarks allow to prove that Fˆ-morphisms preserve liveness.
Theorem 5. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be two marked graphs joined
by a Fˆ-morphism (, ⌧ ) : N1 ! N2. If N1 is live, then N2 is also live.</p>
      <p>Generally, liveness is not reflected by Fˆ-morphisms. In Figure 3a an example
of Fˆ-morphism from N1 to N2 is shown. N2 is a live net, while N1 is not live:
transitions labelled with 5 and 6 are never enabled.</p>
      <p>Since we proved that there is a N -morphism between the unfoldings of two
marked graphs joined by a Fˆ-morphism, it is easy to observe that Fˆ-morphisms
also preserve occurrence sequences.</p>
      <p>Theorem 6. Let Ni = (Si, Ti, Fi, M0i), i = 1, 2, be two marked graphs joined by
a Fˆ-morphism (, ⌧ ) : N1 ! N2. Let ! = t1 . . . tk, be an occurrence sequence
of N1 enabled at the initial marking M01. Therefore !0 = ⌧ (t1) . . . ⌧ (t2) is an
occurrence sequence of N2 enabled at M02.</p>
      <p>From the definition of Fˆ-morphism, it follows immediately that, if two marked
graphs N1 and N2 are joined by a Fˆ-morphism (, ⌧ ) : N1 ! N2, for each place
s of N2, the sum of the number of tokens placed by the initial marking of N1 in
the elements of the pre-image of s is equal to the number of tokens placed by
the initial marking of N2 in s. It is possible to extend this condition to every
reachable marking of the two systems.</p>
      <p>Theorem 7. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be two marked graphs joined
by a Fˆ-morphism (, ⌧ ) : N1 ! N2. Let ! = t1 . . . tk be an occurrence sequence
of N1 enabled at M01 such that M01! ! M . Then, !0 = ⌧ (t1) . . . ⌧ (tk) is an
occurrence sequence of N2 enabled at M02 such that M02 !!0
s0 2 S2, the following equation holds</p>
      <sec id="sec-7-1">
        <title>M 0 and, for each</title>
        <p>M 0(s0) =</p>
        <p>X
s2
1(s0)</p>
        <p>M (s).</p>
        <p>Using Theorem 7 it is easy to prove that boundedness is preserved by
Fˆmorphisms.</p>
        <p>Theorem 8. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be two marked graphs joined
by a Fˆ-morphism (, ⌧ ) : N1 ! N2. If N1 is bounded, then N2 is also bounded.
So Fˆ-morphisms preserve boundedness but, generally, they do not reflect it.
The Fˆ-morphism from N1 to N2 represented in Figure 3a does not preserve
boundedness: N2 is a 1-bounded net, while in N1 the places labelled with e and
f can be filled with an infinite number of tokens.</p>
        <p>Note that the reflection of boundedness is obtained if (, ⌧ ) is total.
Theorem 9. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be two marked graphs joined
by a Fˆ-morphism (, ⌧ ) : N1 ! N2 such that is total. If N2 is bounded, then</p>
      </sec>
      <sec id="sec-7-2">
        <title>N1 is also bounded.</title>
        <p>Proof. Each place of N1 is mapped on a place of N2. If N2 is bounded, by
theorem 7 it is easy to see that N1 is also bounded.</p>
        <p>Notice that, in general, safeness (1-boundedness) is not preserved. Let us
consider the example shown in Figure 3b: there is a Fˆ-morphism from N3 to N4
and, while N1 is a safe net, N2 is 2-bounded.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>On structural invariants</title>
      <p>We now focus on some properties about S and T-invariants of two marked graphs
N1 and N2 joined by a Fˆ-morphism (, ⌧ ) : N1 ! N2. It is possible to prove
that Fˆ-morphisms reflect S-invariants. In order to obtain such result, we need
to order the rows of the incidence matrix A1 of N1 in the following way. Let A2
be the incidence matrix of N2 and let n be the reduction factor of ( ). Given
the first row of A2, representing the place s of N2, let us consider the n rows of
A1 corresponding to places of N1 mapped by on s. We will put such rows in
the first n positions of the matrix. The same procedure can be used to order the
remaining rows of A1. The rows corresponding to places not mapped by will
occupy the last positions of A1.
Theorem 10. For i = 1, 2, let Ni = (Si, Ti, Fi, M0i) be two marked graphs joined
by a Fˆ-morphism (, ⌧ ) : N1 ! N2. Let A1, A2 and n be, respectively, the
incidence matrices of N1 and N2, ordered as seen before, and the reduction factor
of (, ⌧ ). If I2 = (↵ 1↵ 2 . . . ↵ P ), with ↵ j 2 N and P = |S2|, is a S-invariant for</p>
      <sec id="sec-8-1">
        <title>N2, then</title>
        <p>
          The previous theorem is proved in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Let us now consider the Fˆ-morphism
(, ⌧ ) : N1 ! N2 shown in Figure 4, having reduction factor n = 2. The incidence
matrix of N1 is ordered as explained. I2 = (11) is a S-invariant for N2. The
corresponding S-invariant for N1 is built by taking n times each single value of
I2 as the first components and adding 0s in the remaining positions. Thus, we
obtain I1 = (1111000).
        </p>
        <p>Fˆ-morphisms reflect S-invariants but do not preserve them. The S-invariant
IA = (0100111) for N1 in Figure 4 can not be used to build a corresponding
Sinvariant for N2. It is impossible to assign to each place of N2 the weight of the
elements of its pre-image. For example, let s be the place of N2 labelled with bd:
IA assigns a different weights to the elements of 1(s). IB, built by assigning
to each place of N2 the sum of the weights of the elements of its pre-image, is
not a S-invariant of N2.</p>
        <p>Regarding T-invariants, we observe that, in marked graphs, an occurrence
sequence leads back to the initial marking if and only if it fires every transition
an equal number of times. Then, since Fˆ-morphisms are surjective, by Theorem
7 they preserve T-invariants.</p>
        <p>In general, T-invariants are not reflected by Fˆ-morphisms. For instance, let
us consider the example in Figure 4. J 2T = (11) is a T-invariant for N2. For
each transition t of N2, we assign to the elements of its pre-image the weight
given by J 2T to t, and we use 0s for the other transitions of N1. So, we obtain
J 1T = (011110), which is not a T-invariant for N1.
5</p>
        <p>
          Remarks and conclusions
We have introduced F - and Fˆ-morphisms, new kinds of morphisms on marked
graphs, a basic class of Petri nets. These morphisms can be used as a formal
technique to deal with a kind of abstraction on marked graphs, consisting in the
folding of cycles and the identification of chains. We have also proved that the
unfoldings of two systems joined by a Fˆ-morphism are joined by a N -morphism
(see [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]). We have finally shown that liveness, boundedness and T-invariants are
preserved by such morphisms, while S-invariants are reflected.
        </p>
        <p>
          We now plan to define a new operation for the composition of marked graphs
driven by Fˆ-morphisms mapping the components on a net which works as an
interface, similarly to what described in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] for Nˆ -morphisms. We also
intend to extend the theory related to F -morphisms to other classes of Petri nets,
such as persistent, free choice and Place/Transition Petri nets, thus applying such
functions to systems having conflicts. Finally, we want to apply Fˆ-morphisms
to models representing real systems having deterministic behavior (such as, for
example, manufacturing systems or cyclic processes) to formally analyze them
by using a step-by-step approach based on different levels of refinement of the
modelled system.
        </p>
      </sec>
    </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>Merceron</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Vicinity respecting homomorphisms for abstracting system requirements</article-title>
          .
          <source>Transactions on Petri Nets and Other Models of Concurrency</source>
          <volume>4</volume>
          (
          <year>2010</year>
          )
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Nielsen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rozenberg</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thiagarajan</surname>
            ,
            <given-names>P.S.:</given-names>
          </string-name>
          <article-title>Elementary transition systems</article-title>
          .
          <source>Theor. Comput. Sci</source>
          .
          <volume>96</volume>
          (
          <issue>1</issue>
          ) (
          <year>1992</year>
          )
          <fpage>3</fpage>
          -
          <lpage>33</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Padberg</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urbásek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Rule-based refinement of Petri nets: A survey</article-title>
          . In Ehrig, H.,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rozenberg</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
          </string-name>
          , H., eds.:
          <article-title>Petri Net Technology for Communication-Based Systems</article-title>
          . Volume
          <volume>2472</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2003</year>
          )
          <fpage>161</fpage>
          -
          <lpage>196</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Winskel</surname>
          </string-name>
          , G.:
          <article-title>Petri nets, algebras, morphisms, and compositionality</article-title>
          .
          <source>Inf. Comput</source>
          .
          <volume>72</volume>
          (
          <issue>3</issue>
          ) (
          <year>1987</year>
          )
          <fpage>197</fpage>
          -
          <lpage>238</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bernardinello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mangioni</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pomello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Local state refinement and composition of elementary net systems: An approach based on morphisms</article-title>
          .
          <source>T. Petri Nets and Other Models of Concurrency</source>
          <volume>8</volume>
          (
          <year>2013</year>
          )
          <fpage>48</fpage>
          -
          <lpage>70</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          : Place/Transition Petri Nets. In Reisig, W.,
          <string-name>
            <surname>Rozenberg</surname>
          </string-name>
          , G., eds.: Petri Nets. Volume
          <volume>1491</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>1996</year>
          )
          <fpage>122</fpage>
          -
          <lpage>173</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Murata</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          .
          <source>Proceedings of the IEEE</source>
          <volume>77</volume>
          (
          <issue>4</issue>
          ) (
          <year>April 1989</year>
          )
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Winskel</surname>
          </string-name>
          , G.:
          <article-title>Event structures</article-title>
          . In Brauer, W.,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rozenberg</surname>
          </string-name>
          , G., eds.
          <source>: Advances in Petri Nets</source>
          . Volume
          <volume>255</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>1986</year>
          )
          <fpage>325</fpage>
          -
          <lpage>392</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Engelfriet</surname>
          </string-name>
          , J.:
          <article-title>Branching processes of Petri nets</article-title>
          .
          <source>Acta Inf</source>
          .
          <volume>28</volume>
          (
          <issue>6</issue>
          ) (
          <year>1991</year>
          )
          <fpage>575</fpage>
          -
          <lpage>591</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bernardinello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pomello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scaccabarozzi</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Morphisms on Marked Graphs (Extended Version)</article-title>
          .
          <source>http://www.mc3.disco.unimib</source>
          .it/pub/bps2014ext.pdf (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <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="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Bernardinello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monticelli</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pomello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>On preserving structural and behavioural properties by composing net systems on interfaces</article-title>
          .
          <source>Fundam. Inform</source>
          .
          <volume>80</volume>
          (
          <issue>1-3</issue>
          ) (
          <year>2007</year>
          )
          <fpage>31</fpage>
          -
          <lpage>47</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Pomello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bernardinello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Formal tools for modular system development</article-title>
          . In Cortadella, J.,
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , W., eds.
          <source>: ICATPN</source>
          . Volume
          <volume>3099</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2004</year>
          )
          <fpage>77</fpage>
          -
          <lpage>96</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>