<!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>
      <journal-title-group>
        <journal-title>Def.</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Efficient Verification of Elementary Object Systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Ismaila Jihad Abdullahi, and Berndt Müller University of South Wales (Ismaila.abdullahi, bertie.muller) @southwales.ac.uk</institution>
        </aff>
      </contrib-group>
      <volume>3</volume>
      <issue>51</issue>
      <abstract>
        <p>Elementary Object Systems (EOS) is a class of Object Petri Nets that follows the “nets-within-nets” paradigm. It combines several practical as well as theoretical properties for the needs of multi-agent-systems. However, it comes with some constraints that limit their expressiveness for automatic verification purposes due to the highly expressive nature of the underlying class of Petri nets. In this paper, we proposed a set of transformation rules from EOS to basic Petri nets nets and show isomorphism of the state spaces in order to make verification feasible.</p>
      </abstract>
      <kwd-group>
        <kwd>Elementary Reference-net System</kwd>
        <kwd>nets-within-nets</kwd>
        <kwd>Petri nets</kwd>
        <kwd>isomorphic property</kwd>
        <kwd>computational complexity</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Elementary Object Systems (EOS for short) are based on the nets-within-nets
paradigm of
        <xref ref-type="bibr" rid="ref6 ref7">(Valk, 1991,2003)</xref>
        in which the nesting of nets involved in the model is
restricted to two levels and are generalised in
        <xref ref-type="bibr" rid="ref1">(Köhler and Heitmann, 2009)</xref>
        for arbitrary
nesting structure. This formalism provides a modelling technique that allows tokens
of Petri nets to be Petri nets themselves, called object nets. Object nets are tokens with
internal structure and inner activity and have been applied in a variety of scenarios,
e.g., multi-agent systems.
      </p>
      <p>
        We aim to provide a path to verification of properties of a slightly modified version
of EOS, called elementary reference-net systems (ERS), with reference semantics that
is practically relevant and overcomes fundamental decidability issues with other
formalists as shown in
        <xref ref-type="bibr" rid="ref2">(Köhler and Rölke, 2004)</xref>
        and
        <xref ref-type="bibr" rid="ref3">(Lomazova, and Schnoebelen,
1999)</xref>
        . As in similar formalists, we have to distinguish autonomous and synchronous
transitions. The need for application of a partial order (unfolding) approach for
dynamic analysis of EOS have encouraged and driven the development of this new
formalism. We refer the reader to
        <xref ref-type="bibr" rid="ref6">(Valk, 1991)</xref>
        for an introduction to the
nets-withinnets.
      </p>
      <p>Compared to EOS, two main additions are introduced for ERS: Firstly, we provide
each marked object net located in places of the system net with a unique name so that
object nets with the same marking can be distinguished. Secondly, we use variables to
label arcs of the system net. So that when firing transitions, variables are bound to
object nets names instead of statically typing system net places allowing dynamic use
of net-tokens without fixing types for places of the system net.</p>
      <p>We extend the notion of 1-safe P/T nets to ERS to guarantee that the state space is
finite and markings are bounded. Further to the definition of ERS, we propose a set of
transformation rules from 1-safe ERS into P/T nets and show isomorphism of the state
spaces of ERS with its generated P/T net.</p>
      <p>In Section 2 we review some preliminaries from Petri net theory. Section 3 gives
an introduction to ERS. Section 4 presents the set of transformation rules from 1-safe
ERS to 1-safe P/T nets. Section 5 proves the isomorphism of the state spaces of 1-safe
ERS and of the transformed 1-safe P/T net.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Fundamentals of Petri nets</title>
      <p>Here we give some definitions from theory of P/T-net, Relevant for our study.</p>
      <p>Definition 2.1(P/T net) A place/transition is a tuple  = ( ,  ,  ,  )where  is
a finite set of places,  is a finite set of transitions, disjoint from  ,  ⊆ ( ×  ) ∪
( ×  ) is the flow relation, and  :  ⟶ ℕ\{0} is the arc weight function. The
preset of a node  ∈  ∪  , denoted ⦁ , is the set containing the elements that
immediately precede  in the net i.e.: ⦁ = { ∈  ∪  |( ,  ) ∈  }. Analogously, the postset
of a node is denoted  ⦁.</p>
      <p>Definition 2.2 (Marking and Enabled transition ). A marking of a P/T-net  =
( ,  ,  ,  ) is a function  :  ⟶ ℕ. A P/T net system  =( ,  0) is a net  =
( ,  ,  ) together with an initial marking  0. Let Σ = ( ,  0) be a net system. A
transition  ∈  is enabled in a marking  iff  ( ) ≥  ( ,  )for all  ∈ ⦁ . An
enabled transition  in marking  is denoted by  [ &gt;. A transition that is enabled in a
marking may or may not fire. Firing of transition removes tokens from input places of
 and puts new tokens onto output places of  . The successor marking  ′ is defined
as  ′ ( ) =  ( ) −  ( ,  ) +  ( ,  ). We denote this by  [ &gt;  ′. For a finite
sequence of transition  =  1, …   , we write  [ &gt;  ′ if there are markings
 1, …   +1 such that  1 =  ,   +1 =  ′ and   [  &gt;   +1, for all  = 1, … ,  .
The set of reachable markings of Σ is the set of all markings reachable from the initial
marking. Σ is k-bounded if, for every reachable marking m and every place p ∈ P,
m(p) ≤ k, and Σ is safe if it is 1-bounded. Moreover, Σ is bounded if it is k-bounded,
for some k ∈ N. One can show that the set RM(Σ) is finite if Σ is bounded i.e.
if |RM(Σ)| &lt; ∞.
3</p>
      <p>Elementary Reference-net System (ERS)
By convention, the components of the system net will carry a hat:  ̂ ,  ̂ ,  ̂,  ̂, … etc.</p>
      <p>Definition 3.1 Let the triple   = ( ,   ,   ) be a named marked object net,
where  , is a unique name of an object net;   is a structure of the object net, and  
is a marking in   . (Let Σ = {( 1,  1,  1), … , (  ,   ,   )} be a finite set of unique
marked named object nets). The structure of an object net with a unique name  ∈ Σ is
a P/T- net   = (  ,   ,   ), where   , is the set of places of the object net, 
 is the set
of its transitions and</p>
      <p>⊆ (  ×   ) ∪ (  ×   ) is the flow relation. We assumed that
all sets of nodes are pairwise disjoint and set  Σ ≔ ⋃  ∈Σ   

 Σ ≔ ⋃  ∈Σ    . By
 • we denote the name of ordinary black tokens.</p>
      <p>Definition 3.2 (ERS)</p>
      <p>Let</p>
      <p>be a finite set of named variables. An elementary
reference-net system is a tuple</p>
      <p>= ( ̂ , Σ 0, ℓ,  ,   ) where
  ̂ = ( ̂ ,  ̂ ,  ̂ ) is a p/t net called a system net, where  ̂ is its set of places,  ̂ is its set
of transitions and  ̂ ⊆ ( ̂ ×  ̂ ) ∪ ( ̂ ×  ̂ ) is the flow relation.
 Σ 0 ≔ {( 1,  1,  10), … , (  ,   ,  0)}, is a finite set of marked named object nets.
 ℓ ⊆ ( ̂ ∪ { ̂}) × ( 1i ∪ { }) ×, … , (  ∪ { })\{ ̂,  , … ,  )} , is the synchronisation
relation, where  ̂and  are special symbols intended to denote inactions at the
system and the object net levels respectively. If  = ( ̂,  1, … ,   ) and  ̂, ≠  and ∃ ∈
{1, … ,  } such that   ≠  , then we say that  ̂ 
  ∈ Σ for every  ∈ {1, … ,  }
with  = |Σ|, participate in  . This is the reason why ( ̂,  , … ,  ) is excluded from
the set of synchronisation relation: at least one object net must participate in every
synchronisation action with the system net.
  :  ̂ ⟶</p>
      <p>∪ { •} is an arc labelling function such that for an arc  ̂ ∈ ( ̂ )
adjacent to a place  ̂the inscription of</p>
      <p>( ̂ ) matches the name of object net in  ̂
   specifies
the
initial
making,
where
  :  ̂ → ℕ ∪ 
(Σ) 
ℎ Σ =
{( 1,  1,  1), … , (  ,   ,   }. It has to satisfy the condition   ( ̂) ∈ ℕ ⟺
  ( ̂) ∈ { ⦁}.</p>
      <sec id="sec-2-1">
        <title>In the example of Fig. 1 an</title>
        <p>= ( ̂ , Σ, ℓ,  ,   ) is shown, where Σ = { 1,  2}.</p>
        <sec id="sec-2-1-1">
          <title>Arcs of  ̂ can be identified by their labelling from  ( ̂). Hence {x, y,} can be bound</title>
          <p>to marked named object nets in places ̂ 1 
it. In the initial marking, places  1̂ 
object nets  1   2 respectively.</p>
          <p>̂2 adjacent to transition ̂ ′ to enable
 ̂2 contain references to the marked named</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>We denote by</title>
        <p>= { |( ,   ,,   ) ∈ Σ}, a finite set of object nets names.</p>
        <p>Moreover, variables appearing on arcs adjacent to a transition  ̂of the system net
must satisfy the following four conditions:
∀ ̂∈  ̂ 
∀ ̂∈  ̂ 
∀ ̂∈ ⦁ ̂, ∃ ̂′ ∈  ̂⦁, 
∀ ̂∈ ⦁ ̂, ∃ ̂′ ∈  ̂⦁, 
ℎ  ℎ  ( ̂,  ̂) =  ( ̂,  ̂′)   ( ̂,  ̂) =  • (1)
ℎ  ℎ  ( ̂′,  ̂) =  ( ̂,  ̂)   ( ̂,  ̂) =  • (2)
∀ ̂∈  ̂ and for any two places  1̂,  ̂2, ∈ ⦁ ̂,   1̂ ≠  ̂2  ℎ  ( 1̂,  ̂) ≠  ( ̂2,  ̂). (3)
∀ ̂∈  ̂ and  ̂′1,  ̂′2, ∈  ̂⦁,   ̂1 ≠  ̂2  ℎ  ( ̂,  ̂′1) ≠  ( ̂,  ̂′2).
(4)</p>
        <p>Condition (1) says that each variable appearing in the incoming arc of a system net
transition  ̂also has to appear in the outgoing arc of  ̂ or no such variable exist.
Condition (2) says that each variable appearing in the outgoing arc of a system net
transition  ̂also has to appear in the incoming arc of  ̂ or no such variable exist. These two
conditions means that no new object net is created and no destroyed after a transition
firing in the system net. Condition (3) prevents the ability to join two object nets, and
(4) prevents the splitting of an object net. This is because in reality, complex physical
entities cannot be cloned at run time. With these restrictions, ERS still retain the
ability to describe nesting of object nets, synchronisation, and mobility, but does not
allow splitting of the inner marking of an object net or joining the inner marking of
several object nets. Assuming these inner markings as modelling the inner state of an
agent, this is a reasonable restriction and ERSs are then well suitable to model
physical entities</p>
        <p>For its behaviour, we introduce the notion of marking for elementary reference-net
system ERS under reference semantics. Hence in general a marking is given by
1. a distribution of object nets or black tokens  :  ̂ → ℕ ∪  (Σ) and
2. The vector  = ( 1, … ,   ) with the current marking of each   (1 ≤  ≤  ).</p>
        <p>specifies for each system net place  ̂a number of black tokens or a multiset of
marked named object nets (if  ̂contain reference(s) to marked named object nets). If
we abbreviate ( 1, … ,   ) by  and the set of all such vectors by ℳ, we obtain the
following Definition 3.3. By Π ( ) we denote the  −  ℎ component   of  and
by   →   the tuple, where the  −  ℎ component is substituted by   ,  ∈ ℕ .</p>
        <p>In what follows a marked named object net is referred to as net-token. For a given
ERS, by ∑ = Σ ∪ { •} we denote the set of all marked named net-tokens. Only
when not introduced in the marking! Sometimes by abuse of notation, for a named
object net ( ,   ,   ) in a place  ̂of a marking  of the system net we write  ( ̂) =</p>
        <p>Definition 3.3 Given an elementary reference-net system   =
( ̂ , Σ , ℓ,  ,   ) we define ℳ ≔ { | = ( 1, … ,   ) ∧   ∈  (  )}. Then a
marking of an elementary reference-net system is a pair ( ,  ) where  ∈
ℳand  :  ̂ →  (Σ ). Specifying  0 by the initial markings of the marked named
object nets  0 = ( 10, … ,  0) we obtain the initial marking (  ,   ) of  . The set
of all markings of  is denoted by ℳr .</p>
        <p>Let  ̂∈  ̂ be a transition in the system net  ̂ , then • ̂= { ̂|( ̂,  ̂) ∈  ̂ }, and  ̂⦁ =
{ ̂|( ̂,  ̂) ∈  ̂ } are sets of its pre- and post-conditions. We denote by  ( ̂) ≔
{ ( ̂,  ̂)|( ̂,  ̂) ∈  ̂ } ∪ { ( ̂,  ̂)|( ̂,  ̂) ∈  ̂ } = ⦁ ̂× { ̂} ∪ { } ×  ̂⦁ the set of all
variables on arcs adjacent to  ̂. A binding  specifies which variables are bound to names,
where  :  ( ̂) ∪ {•} ⟶  ∪ { ⦁}with  = { |( ,   ,,   ) ∈ Σ} satisfying the
conditions: for each  ∈  ( ̂)∪ {•}, there exist  ∈  such that  ( ) =     =•
 ℎ  ( ) =  •.</p>
        <p>The firing rule will be introduced in three modes.</p>
        <p>Definition 3.4 (synchronisation firing mode) Let( , )be a marking of an
elementary reference-net system, ̂∈ ̂ a transition of ̂ , and let  be a variable binding
defined for all  ∈  ( ̂)∪ {•}. Let  1,...,  ∈ Σ be object nets involved in the
firing of  ̂. Then  ̂ can fire provided that in each   ∈ Σ for every  ∈ {1,…, } a
transition   ∈  Σ such that( ̂, 1,…,  ) ∈ ℓ. Then ( ̂, 1,…,  ) is enabled in ( , )
if: ∀ ̂ ∈  ̂: ( ( ( ̂, ̂)),  ( (̂,̂)),  ( (̂,̂))) ∈  ( ̂) and
∀ ∈   ∶ Π ( ) ≥   ( ,  ),.</p>
        <p>This is denoted by ( , )[ ̂,  &gt; Let be   [  &gt;  ′ (w.r.t   ). The successor
marking ( ′, ′) is defined by</p>
        <p>Definition 3.6(object –autonomous firing mode) Let ( , ) be a marking of an
elementary reference-net system   = (̂ ,Σ ,ℓ, ,   )and   ∈   a transition of a
net-token  = ( ,  ,  ) ∈  ( ̂) for some  ̂∈  ̂, such that ∄( ̂,  ,…,  ,…,  ) ∈ ℓ,
and   is activated in   . Then we say that ( ̂,  ) is activated in ( , )
(denoted( , )[( ̂,  ) &gt;]. The successor marking ( ′, ′) of RS is defined by
 ′ =  and
 ′ =  1→ miif   [   &gt;  ′ for Π ( ) =   .
 ′(̂) =  ( ̂)\( ( ( ̂, ̂)),  ( (̂,̂)),  ( (̂,̂))) ∪
( ( ( ̂, ̂)),  ( (̂,̂ )),  ( (̂,̂))):∀ ̂∈  ̂ and
 ′ =   →   .</p>
        <p>This is denoted by ( , )[̂,  &gt; ( ′, ′).
(5)
(6)
(7)
(8)
(9)</p>
        <p>Definition 3.5(system-autonomous firing mode) Let ( , ) be a marking of an
elementary reference-net system   = (̂ ,Σ ,ℓ, ,   )and  ̂∈ ̂ a transition of ̂
with a binding  such that ∄( ̂,  ,…,  ) ∈ ℓ ∶ ∃  ∈ {1,…, } ∶   ≠  . Then  ̂
activated in ( , ) if there is a net token such that:
( ( ( ̂, ̂)),  ( (̂,̂)),  ( (̂,̂))) ∈  ( ̂)∀ ̂∈ ̂ .</p>
        <sec id="sec-2-2-1">
          <title>Since we use  , for in action, this is denoted by ( , )[( ̂, ) &gt;. The successor</title>
          <p>marking ( ′, ′)is defined by
∀ ̂∈ ̂ ∶  ′( ̂)=  ( ̂)\( ( ( ̂, ̂)),  ( (̂,̂)),  ( (̂,̂)))∪ ( ( ( ̂, ̂)),  ( (̂,̂ )),  ( (̂,̂)))
 ′ =  .</p>
          <p>This is denoted by ( . )[( 1̂, ) &gt; ( ′, ′).</p>
          <p>We denote this by ( ,  )[( ̂,   ) &gt; ( ′,  ′).</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>To introduce the occurrence sequences for  we assume an</title>
        <p>Definition 3.2. Let  be an  ( ,  ), ( ′,  ′) ∈ ℳ .
as defined in</p>
        <p>Definition 3.7 For a new alphabet Γ ≔ ( ̂ ∪ { ̂}) × ( 1 ∪ { }) ×, … , (  ∪ { })\
( ̂,  , … ,  )where ( ̂,  , … ,  ) denotes the neutral element of Γ∗, we define:
( ,  )[( ̂,  , … ,  ) &gt; ( ′,  ′) if ( ,  ) = ( ′,  ′) and</p>
        <p>( ,  )[ ̆ ( ̂,  ) &gt; ( ′,  ′)  ∃( ′′,  ′′) ∶ ( ,  )[ ̆ &gt; ( ′′,  ′′) 
( ′′,  ′′)[( ̂,  ) &gt; ( ′,  ′)  
 ̆ ∈ Γ∗,  ̂, ∈  ̂ ∪ { ̂} 
 ∈ (( 1 ∪ { }) × , … , (  ∪ { }). ( 10)</p>
      </sec>
      <sec id="sec-2-4">
        <title>To denote that ( ′,  ′) is reachable from ( ,  ) by some occurrence sequence of</title>
        <p>∗
actions we write ( ,  ) → ( ′,  ′).</p>
      </sec>
      <sec id="sec-2-5">
        <title>The set of reachable markings of a reference system RS from a marking ( ,  ) is</title>
        <p>denoted by  ( , ( ,  )).  ( ), is the set of markings reachable from the initial
marking (  ,   ). The reachability graph ( ( ) is obtain as for P/T-net systems,
which is a digraph whose nodes is the set of reachable markings and edges are the
( ̂, )
tuples (( ,  ), ( ̂,  ), ( ′,  ′)) ∈ ℳ × ( ̂,  ) × ℳ where ( ,  ) → ( ′,  ′).</p>
        <p>We now extend the definition of 1-safe P/T-net to ERS. We introduce two
conditions for safeness of ERS as a generalisation of the safeness notion for P/T-nets.</p>
        <p>Definition 3.8 (1-safe ERS)   = ( ̂ , Σ, ℓ,  ,   )   . RS is 1-safe if
and only if all reachable markings are 1-safe and if and only if in all reachable
markings there is at most one net-token on each system net place and each net-token is
1safe i.e.,:
 ∀( ,  ) ∈  ( ), ∀ ̂∈  ̂ : ( ( ̂), ) ≤ 1 and
 ∀( ,   ,   ) ∈  ( ̂):∀  ∈   ∶ ∀ ̂∈  ̂ ( ( ̂), Π ( (  )) &gt; 0 ⟹ Π ( (  )) ≤ 1.</p>
      </sec>
      <sec id="sec-2-6">
        <title>Observation 3.9: Given an ERS if for all reachable markings there is at most one token on each system net place and each net-token is 1-safe, then all reachable markings are 1-safe.</title>
      </sec>
      <sec id="sec-2-7">
        <title>Theorem 3.10 If an ERS is safe, then its set of reachable markings is finite. The proof to this theorem is presented in appendix A.</title>
        <p>4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Transformation of ERS into P/T- nets</title>
      <p>We construct a behaviorally equivalent finite P/T-net model for the entire ERS
model and show this by strong bisimulation equivalence between states of the two
models. By doing so, we develop a set of transformation rules that provide the same
behavioral properties as the original one for formal verification and analysis.</p>
      <p>
        Related work can be found in
        <xref ref-type="bibr" rid="ref4 ref5">(Miyamoto &amp; Horiguchi, 2013; Lomazova &amp;
Ermakova, 2016)</xref>
        . We highlight the similarities and differences between the proposed
approach and these related studies. Miyamoto and Horiguchi present a translation
technique for transforming classical Multi-Agent nets (MANs) into Modular Nets (MNs)
and show isomorphism of state spaces of both nets including the computational
complexity for transforming MAN into MNs. The major similarities between our work
and that of
        <xref ref-type="bibr" rid="ref4">(Lomazova&amp;Ermakova, 2016)</xref>
        is that they developed a set of rules for
translating a safe conservative nested Petri net (NP-net) into an equivalent P/T net.
The main differences are that we established clearly an important relation between the
isomorphic properties of state space of safe-ERS and a 1-safe P/T net. Among such
results are the establish Lemmas, and proof of a theorem for the isomorphism.
Moreover, we adopt a different way of introducing the procedure for transforming
netswithin-nets into 1-safe P/T net, which consequently give a neater and
easier-tounderstand presentation.
4.1
      </p>
      <p>Transformation Rules</p>
      <p>This subsection gives a set of transformation rules for transforming Elementary
Reference-net system (Section 3) into P/T-net. There exist five rules and they must be
applied in sequence from Rule 1 to Rule 5. With these rules ERS can be translated
into a P/T net system  ∗.</p>
      <p>Let  = ( ̂ , Σ, ℓ,  ,   )be an ERS with a set Σ of all marked named net tokens
in the initial marking. By ℝ we denote the set of all names used in Σ . The net will be
translated into a P/T-net system  ∗ = (  ∗ ∗,   ∗∗,   ∗∗,  0∗)</p>
      <p>Rule 1: Generate the set   ∗∗ of places of a P/T-net  ∗. The first, is the set  ′ ∗ of
places from the system net  ̂ , and the second the set   ∗ of all places of each
nettoken in the initial marking of the system net. Finally, we take the union of these set as
the set   ∗∗ of a target P/T-net  ∗, with the assumption that  ′ ∗ ∩   ∗∗ = ∅.</p>
      <p>′ ∗ is generated by duplicating all places of the system net for each net-token
name  used in the initial marking of the system net and labelled it with a pair ( ′,  )
where  ′is a place in  ̂ . Thus the set is defined as follows:</p>
      <p>′ ∗ ≔ ⋃ ′∈ ̂ {( ′,  )| ∈ ℝ,  ≥ 1} .</p>
      <p>∗∗ ≔  ′ ∗ ∪   ∗ .</p>
      <p>Rule 2: Define the initial marking for  ∗. For a P/T-net  ∗ we define an encoding
of markings on places from the set of places  ̂ in an ERS by markings on the
generated places from   ∗∗. If a net-token with name  ∈ ℝ resides in a place  ̂in an initial
  ∗ is generated by taking a copy of each place in the set   for each net-token and
labelled it with a pair (  ,  ) where   is a place in   . It is defined as follows:
(11)
(12)
(13)
  ∗ ≔ ⋃ ∈Σ {(  ,  )|  ∈   ,  ∈ ℝ,  ≥ 1} .</p>
      <p>Therefore the set   ∗∗ of a target P/T-net  ∗ as shown in Fig.2 is the union of these
set, namely
initial marking  0∗ of the constructed, namely
marking  0( ̂) of the system net, then a black token in placed on ( ̂,  ) ∈   ∗∗ as the
 0∗( ̂,  ) =  0( ̂).
on ( ̂,  ) ∈   ∗∗ in  0∗ ,namely
 0∗( ,  ) =  0( ).</p>
      <p>Also, we define an encoding of markings on places from the set of places   on the
generated places from   ∗∗. If all places ( ,  ) for all 
such that ( ,  ) ∈  ∗
 ∗ is
marked in the initial marking  0 of the net-token  ∈ ℝ , then of black token is placed
(14)
(15)</p>
      <sec id="sec-3-1">
        <title>If a place in the system net is a place that contains a black token, then the unique</title>
        <p>copy corresponding to the place in  ∗ is also marked with a black token. In the given
the markings for places ( 1, 1) and ( 1, 2). This is illustrated in Fig.3 above.</p>
        <sec id="sec-3-1-1">
          <title>ERS, reference to the net-token  1 resides in  1̂, and reference to the net-token re</title>
          <p>sides in ̂ 2. Hence, we have tokens in ( ′1, 1) and( ′2, 2) for  ∗. Likewise, we define
  ∗</p>
          <p>Rule 3: Generate a family of P/T-net transitions from a system net. We define a set
of transitions of  ∗ obtained from each autonomous transition of the system net
̂ by duplicating each autonomous transition for each input arc variable of  ̂ that

may be bound to any of the named net-token name in each place adjacent to  ̂with
appropriate input and output arcs, in  ∗.
  ∗
≔ ⋃ ̂∈ ̂ { ′  ( )| ∈  ( ̂):  ̂
 
}.</p>
          <p>(16)</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>In the example ERS, the set  ( ̂) of input arc variables that can be bound to a</title>
          <p>named net-token for  ′2 is as follows:
 ( ( ′2)) = { 1 = ( = 1)
 2 = ( = 2)} .
(17)
Where  1</p>
          <p>and  2 are bound to the input arc variable  , respectively. Therefore,
two transitions  ′21</p>
          <p>′22 are generated for transition  ′2 from Rule 3.</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>We define a set   ∗ of arcs for system autonomous transitions in  ∗as follows:</title>
          <p>= ⋃ ̂ ∈ ̂ {( ′,  ′|( ,  ) =  ( ̂ ),  ′ ∈  ′ ∗( ) ∪   ∗ ( ),  ′ ∈  ′ ∗( ) ∪
Rule 4: Generate a family of transitions representing autonomous transitions in
of transitions of  ∗ we define a set of similar
autono
  ∗
 ∗ ( )} .
each net-token. For a set   ∗
mous transitions as follows.
} .</p>
          <p>We define a set   ∗</p>
          <p>of arcs of net-token autonomous transitions in  ∗as follows:
  ∗
= {( ,  ),  ) ∈   ∗ ×   ∗ |( ,  ) ∈   &gt; 0} ∪
{( , ( .  ) ∈   ∗</p>
          <p>×   ∗|( ,  ) ∈   &gt; 0} .</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>This is depicted in Fig.5.</title>
      </sec>
      <sec id="sec-3-3">
        <title>Rule 5: Generate a family of transitions representing synchronisation transitions</title>
        <p>obtained from the system net and net-tokens. An occurrence of a synchronous firing
presumes simultaneous occurrence of a transition  ̂∈  ̂ with a set of transitions given
by a binding  in system net, and some net-tokens transitions( 1, … ,   ) ∈ ℓ. This can
be viewed as a combination of Rule 3 and Rule 4 with the condition that all involved
transitions must be elements in the transition relation ℓ of an ERS.</p>
        <p>Transitions ( 1, … ,   ) occur simultaneously
with  ̂∈  ̂
of a system
net,
if ( ̂, (  , … ,   )) ∈  . We generate synchronisation transitions from an ERS in a
P/Tnet  ∗ accordingly. This implies that we will have |ℓ| such transitions in  ∗. Each of
these transitions is composed of a system net transition  ̂∈  ̂ , and some transitions of
net-tokens that participate in synchronous firing of  ̂. They are defined as follows.

In our example two places  1̂</p>
        <p>̂2 are marked with one net-token each in the
initial marking. We add two transitions  1 = {{ 1̂,  21,  } and  2 = { 1̂,  ,  22} annotated
net is shown in Fig. 7.
(18)
(19)
(20)</p>
        <p>We establish an isomorphism between the states of an ERS and the generated
1safe P/T-net. Recall that in Rule 2 we defined two separate initial markings for the
P/T-net N∗: M0∗(p̂, i) and M0∗(p, i). The former is an encoding of markings from the set
of places ̂P of the system net in an ERS and the latter is an encoding of markings from
the set of places Pi of a net-token i. Likewise, we defined three sets of transitions:
Ts∗at, Tn∗at, and Ts∗ynci from Rule 3, Rule 4 and Rule 5 respectively in N∗. In the
following, we define some mappings from the P/T-net to and ERS.</p>
        <sec id="sec-3-3-1">
          <title>Definition 5.1 A mapping  ̂ maps a marking  ∗ of a P/T-net  ∗ from the set of</title>
          <p>places  ̂ to markings  of a system net of an ERS as follows:
 ̂( ∗)( ̂,  ) =  ( ̂) 
ℎ  ℎ</p>
          <p>( ̂,  ) ∈   ∗∗:  ̂∈  ̂ :  ∈ ℝ .</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Definition 5.2 A mapping  maps a marking  ∗ of a P/T-net  ∗ from the set of</title>
          <p>places   of net-token  of ERS to a marking  of a net-token of ERS as follows:
 ( ∗)( ,  ) =  ( ) 
ℎ  ℎ</p>
          <p>( ,  ) ∈   ∗∗:  ∈   :  ∈ ℝ .</p>
          <p>Definition 5.3  ̂ is a mapping that maps a transition  ′  ( ) ∈   ∗ of P/T-net  ∗
to a system-autonomous firing mode ( ̂,  ) ∉  (ℓ) of an ERS as follows:
 ̂ ( ′  ( )) = ( ̂,  ) .
 ( ) = ( ,   ) .</p>
          <p>ℎ     ( ) is a binding function that binds a variable  ∈  ( ̂) on arcs adjacent
to ̂ to an object net name.</p>
        </sec>
        <sec id="sec-3-3-3">
          <title>Definition 5.4  is a function that maps a transition  ∈   ∗ of P/T-net  ∗ to</title>
          <p>an object-autonomous firing mode ( ,   ) ∉  (ℓ) of an ERS as follows:</p>
          <p>Definition 5.5   is a mapping function that maps a transition   .  ( ) ∈   ∗  of</p>
        </sec>
        <sec id="sec-3-3-4">
          <title>P/T-net  ∗ to a synchronisation firing mode ( ̂,  1, … ,   ) ∈ ℓ of an ERS as follows:</title>
          <p>(22)
(23)
(24)
(25)
The following equality holds:  2 =  ̂( 2∗) .</p>
          <p>Lemma 5.8 Suppose that  1 =  ̂( 1∗),  1∗[ ′  ( ) &gt;  2∗, and  1[ ̂ ( ′  ( )) &gt;  2.</p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>Lemma 5.9 For the initial marking of the object net, the following holds:</title>
        <p>=  ( ∗) and( ,   ) =  ( ). The following
proposi 0( ) =  ( 0∗)( ,  ) .</p>
      </sec>
      <sec id="sec-3-5">
        <title>Lemma 5.10 Suppose that  tion holds:</title>
        <p>∗[ ( ) &gt; ⇔  [(( ,   )) &gt; .
 2 =  ( 2∗) .</p>
        <p>Lemma 5.11 Suppose that  1 =  ( 1∗),  1∗[ &gt;  2∗, and  1[ ( ) &gt;  2. The
following equality holds:</p>
        <p>Lemma 5.12 Suppose that ( 1, 1) =   ( 1∗) and   =   (  .  ( )). The following
proposition holds:
  (  .  ( )) = {( ̂,  1, … ,   )} .</p>
        <p>0( ̂) =  ̂( 0∗)( ̂,  ) .
 ∗[ ′  ( ) &gt; ⇔  [( ̂,  ) &gt; .</p>
        <sec id="sec-3-5-1">
          <title>The following lemmas related to  ̂ and  ∗constructed by Rules 1 to 5, hold.</title>
        </sec>
        <sec id="sec-3-5-2">
          <title>Lemma 5.6 For the initial marking at  ̂ level, the following equality holds:</title>
          <p>Lemma 5.7 Suppose that  =  ̂( ∗) and( ̂,  ) =  ̂ ( ′  ( )). The following
proposition holds:
 1∗[  (  .  ( )) &gt; ⇔ ( 1,  1)[  &gt; .</p>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>The following equality holds:</title>
        <p>( 2,  2) =   ( 2∗) .</p>
        <p>Lemma 5.13 Suppose( 1,  1) =   ( 1∗),  1∗[  .  ( ) &gt;  2∗ and ( 1,  1)[  (  .  ( )) &gt; ( 2,  2) .
From the above Lemmas, the following theorem holds.</p>
        <p>Theorem 5.14 Let RS be a 1-safe ERS. Let also N∗be a 1-safe P/T-net obtained
from RS by the set of transformation Rules 1 to 5 above. Then state spaces of RS and
N∗ are isomorphic.</p>
        <p>Proof: Lemmas5.6 and 5.9 defines a one-to-one mapping between the initial
markings of the 1-safe P/T-net  ∗and the initial marking in RS. From Lemma 5.7 a
system-autonomous firing mode ( ̂,  ) is enabled in a marking ( ,  ) if, and only if, the
corresponding transition  ′  ( ) is enabled in the corresponding marking  ∗. Also
from Lemma 5.10 an object-autonomous firing mode ( ,   ) is enabled in a marking
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
( ,  ) if, and only if, the corresponding transition  is enabled in the corresponding
marking  ∗. Again, from Lemma 5.12 a synchronous firing mode ( ̂,  1, … ,   ) is
enabled in a marking ( ,  ) if, and only if, the corresponding transition   .  ( ) is
enabled in the corresponding  ∗. Finally from Lemmas 5.8, 5.11 and 5.13, the
generated markings in the 1-safe P/T-net can be mapped to the generated markings in the
RS. □</p>
        <p>Thus we have shown that every ERS can be transformed to behaviourally
equivalent 1-safe P/T-net. Hence the standard analysis techniques for 1-safe P/T-net can be
applied for ERS.
6</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>While general elementary object systems (EOS) come with some constraints that
limit their expressiveness for automatic verification purposes, in this paper a
modification that relaxes these constraints was given: elementary reference-net systems,
ERS. Also, we proposed a set of rules for transforming ERS to behaviourally
equivalent 1-safe P/T nest. Furthermore, we established an important relationship between
the isomorphic properties of state spaces of 1-safe ERS and 1-safe P/T net. Among
such results are the established Lemmas, and the proof of a theorem which relates the
state space of 1-safe P/T nets 1-safe ERS. The definition of elementary reference-net
system, ERS, targets practical relevance and the use of a partial order (unfolding)
approach for dynamic analysis of EOS. In future work, we aim to compare an
unfolding of the transformed 1-safe P/T to a direct unfolding of a 1-safe ERS without
computing an intermediate expansion.
Appendix A: Proof of Theorem 3.10</p>
      <p>Proof. Let RS be a safe ERS. Let ∶= | ̂ |and  ∶=  {|  | |( , (  .   ,   ),   ) ∈
 } be the number of system net places and the maximum number of places present in
an object net, respectively.</p>
      <p>By definition of safe ERS each net token is 1-safe and hence there are at most 2
different markings a net-token may have. By definition of safe ERS each system net
place is either marked or unmarked with a net-token with one of these markings, thus
there are up to (1 + 2 ) different markings of RS, i.e. | ( )| ≤ (1 + 2 ) . □
Appendix B: Proof of Lemma 5.6</p>
      <p>Proof: An initial marking of a system net in an ERS can be expressed by  0 =
 0( ̂), ∀ ̂∈  ̂ . By Rule 2, ( ̂,  ) ∈   ∗∗ in the P/T-net has one token in the
corresponding initial marking  0∗( ̂,  ), therefore  0∗( ̂,  ) =  0( ̂).</p>
      <p>From Def. 5.1,  ̂( 0∗)( ̂,  ) becomes  ̂( 0∗)( ̂,  ) =  0( ̂) =  0( ̂)
□
Appendix C: Proof of Lemma 5.7</p>
      <p>Proof: (⇒) Suppose that  ′  ( ) ∈   ∗ is a transition that represents an
autonomous transition in the P/T- net then ( ̂,  ) ∈  ̂ is a corresponding transition in the
system net. From  ∗[ ′  ( ) &gt; and Def. 2.3, each place has at least
  ∗ (( ̂,  ),  ′  ( )) tokens namely for each place ( ̂,  ) ∈   ∗∗, the following inequality
holds:
 ∗(( ̂,  )) ≥   ∗ (( ̂,  ),  ′  ( )) .</p>
      <p>Since  =  ̂( ∗), the number of token in place ( ̂,  ) equals the number of tokens
in place  ̂∈  ̂ of a system net  ̂ :
 ∗(( ̂,  )) =  ( ̂) .</p>
      <p>From Rule 3, the weight of the arc from ( ̂,  ) to  ′  ( ) equals number of variables
on the arc from  ̂to  ̂under the binding  :
  ∗ (( ̂,  ),  ′  ( )) =  ( ( ̂,  ̂)) .</p>
      <p>From (35), (36) &amp; (37), for each place  ̂∈  ̂ the following holds:
 ( ̂) ≥  ( ( ̂,  ̂)) .</p>
      <p>From Def. 3.5,  [(  ̂,  ) &gt;.</p>
      <p>(⟸)(38) holds since  [(  ̂,  ) &gt;; (36) &amp; (37) also hold. Therefore, (35) holds.
From Def. 2.3,  ∗[ ′  ( ) &gt;
(35)
(36)
(37)
(38)
Appendix D: Proof of Lemma 5.8</p>
      <sec id="sec-4-1">
        <title>Proof: From Def. 2.3, the number of tokens in place ( ̂, ) in a successor marking</title>
        <p>2∗ is expressed as follows:
 2∗( ̂, ) =  1∗( ̂, )−   ∗ (( ̂, ), ′  ( )) +   ∗ ( ′  ( ),( ̂, )) .</p>
        <p>Since  1 =  ̂( 1∗), (30) holds. Similarly to (31), it holds that
  ∗ ( ′  ( ),( ̂, )) =  ( ( ̂, ̂)) .</p>
        <p>Therefore: 2∗( ̂, ) =  1( ̂)−  ( ( ̂, ̂)) +  ( ( ̂, ̂)). (See Def. 3.5&amp; 36) (41)
Finally it holds that  2 =  ̂( 2∗)because (41) holds for each place.</p>
        <p>Appendix E: Proof of Lemma 5.9</p>
        <p>Proof: An initial marking of an object net in an ERS can be expressed by  0 =
 0( ),∀ ∈   ,  ∈ ℝ hold. Rule 2 says that place ( , ) ∈  ∗∗ in the P/T-net has
one token in the corresponding initial marking  0∗( , ), therefore  0∗( , ) =  0( ).</p>
        <p>From Def. 5.2,  ( 0∗)( , ) becomes  ( 0∗)( , ) =  0( )
□
Appendix F: Proof of Lemma 5.10</p>
        <p>Proof: (⇒) Suppose that  ∈  ∗ is a transition that represents an autonomous
transition in the P/T- net then ( ,  ) ∈   is a corresponding transition in the object
net. From  ∗[ &gt; and the Def. 2.3, each place has at least    (( , ), ) tokens
∗
namely for each place ( , ) ∈  ∗∗, the following inequality holds:
 ∗(( , )) ≥   ∗ (( , ), ).
 ∗(( , )) =  ( ).
  to  
  ∗ (( , ), ) =   (  ,  ).
 ( ) ≥   (  ,  ).</p>
        <p>From Def. 4.6,  [( ,  ) &gt;.
(39)
(40)</p>
        <p>□
(42)
(43)
(44)
(45)</p>
        <p>Since  =  ( ∗), the number of tokens in( , ) equals the number of tokens in
 ∈   of an object net   :</p>
      </sec>
      <sec id="sec-4-2">
        <title>From Rule 4, the weight of the arc from ( , ) to  equals the weight of the arc from</title>
        <sec id="sec-4-2-1">
          <title>From (40) and (41), for each place  ∈   the following inequality holds:</title>
          <p>(⟸)(45) holds since  [( ,  ) &gt;; (43) &amp; (44) also hold. Therefore, (42) holds.
From Def.2.3,  ∗[ &gt; . □
 2∗ is expressed as follows:
 2∗( ,  ) =  1∗( ,  ) −  
∗ (( ,  ),  ) +</p>
          <p>∗ ( , ( ,  )) .</p>
          <p>Since  1 =  ( 1∗), (43) holds. Similarly to (44), it holds that
  ∗ ( , ( ,  )) =   (  ,   ) .</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Therefore, the following equation holds:</title>
        <p>Finally it holds that  2 =  ( 2∗) because (46) holds for each place.
Appendix H: Proof of Lemma 5.12</p>
        <sec id="sec-4-3-1">
          <title>Proof: (⇒) For  ̂, it can be proved in a similar way to Lemma 5.7 that</title>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>Proof: From Def. 2.3.2, the number of tokens in place ( ,  ) in a successor marking</title>
        <p>For ( 1, … ,   ) it can be proven in a similar to Lemma 5.10 for each net-token
∀ ̂∈ ⦁ ̂:  ( ̂) ≥  ( ( ̂,  ̂)) .
transition   ∈   that
∀  ∈ ⦁  :  1(  ) ≥   (  ,   ) .</p>
        <p>(⟸) For   .  ( ) ∈  
lar way to Lemma 5.7 that</p>
        <p>∗
∀( ̂,  ) ∈  ′ ∗:  1∗(( ̂,  )) ≥  ∗(( ̂,  ),  ̂) .
(46)
(47)
(48)
□
(49)
(50)
(51)
(52)
□</p>
      </sec>
      <sec id="sec-4-5">
        <title>Proof: It can be proved in a similar way to Lemma 5.8 and 5.11 by Def. 2.3, and</title>
        <p>From Rule 5, and equations (48) and (49) it holds that ( 1,  1)[  &gt;.</p>
        <p>which is added in Rule 5, it can be shown that in a
simiSimilarly, it can be shown from Lemma 5.10 for   ∈   that participate in   .  ( ) ∈</p>
        <sec id="sec-4-5-1">
          <title>The action ( ̂,  1, … ,   ) share no input places by assumption in Rule 1. From</title>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Köhler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Heitmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <year>2009</year>
          .
          <article-title>On the expressiveness of communication channels for object nets</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>93</volume>
          (
          <issue>1-3</issue>
          ), pp.
          <fpage>205</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Köhler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Rölke</surname>
          </string-name>
          , H.,
          <year>2004</year>
          .
          <article-title>Properties of object Petri nets</article-title>
          .
          <source>In Applications and Theory of Petri Nets</source>
          <year>2004</year>
          (pp.
          <fpage>278</fpage>
          -
          <lpage>297</lpage>
          ). Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Lomazova</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Schnoebelen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <year>1999</year>
          ,
          <string-name>
            <surname>July.</surname>
          </string-name>
          <article-title>Some decidability results for nested Petri nets</article-title>
          .
          <source>In Perspectives of System Informatics</source>
          (pp.
          <fpage>208</fpage>
          -
          <lpage>220</lpage>
          ). Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Lomazova</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ermakova</surname>
            ,
            <given-names>V.O.</given-names>
          </string-name>
          ,
          <year>2016</year>
          <article-title>Verification of Nested Petri Nets Using an Unfolding Approach</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Miyamoto</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Horiguchi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <year>2013</year>
          .
          <article-title>Modular reachability analysis of Petri nets for multiagent systems</article-title>
          .
          <source>IEEE Transactions on Systems, Man, and Cybernetics: Systems</source>
          ,
          <volume>43</volume>
          (
          <issue>6</issue>
          ), pp.
          <fpage>1411</fpage>
          -
          <lpage>1423</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Valk</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <year>1991</year>
          .
          <article-title>Modelling concurrency by task/flow EN systems</article-title>
          .
          <source>In 3rd Workshop on Concurrency and Compositionality</source>
          (Vol.
          <volume>191</volume>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Valk</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <year>2003</year>
          .
          <article-title>Object Petri nets: Using the nets-within-nets paradigm</article-title>
          ,
          <source>Advanced Course on Petri Nets</source>
          <year>2003</year>
          (J.
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , G. Rozenberg, Eds.),
          <volume>3098</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>