<!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>On the modularity in Petri Nets of Active Resources?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vladimir A. Bashkin</string-name>
          <email>bas@uniyar.ac.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Yaroslavl State University Yaroslavl</institution>
          ,
          <addr-line>150000</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>33</fpage>
      <lpage>48</lpage>
      <abstract>
        <p>Petri Nets of Active Resources (AR-nets) represent a dual syntax of Petri nets with a single type of nodes (places and transitions are united) and two types of arcs (input and output arcs are separated). In AR-nets the same token may be considered as a passive resource (produced or consumed by agents) and an active agent (producing or consuming resources) at the same time. It is shown that the homogeneous structure of nodes in AR-nets allows some specific modular modeling and transformation techniques. Properties of net partitions and reachability-equivalent module replacements are studied.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Nowadays there exist a lot of Petri net modifications introducing different
modular and/or hierarchical syntax. In particular, different high-level formalisms
appeared to be quite effective and useful in practice [
        <xref ref-type="bibr" rid="ref14 ref6">6, 14</xref>
        ]. Many authors use
algebraic approach to compositions and decompositions [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ], or apply some
effective algebraic methods of modular verification [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Some models even allow a
recursion [
        <xref ref-type="bibr" rid="ref12 ref7">7, 12</xref>
        ].
      </p>
      <p>
        As a rule, in compositional Petri nets modules may be linked by synchronized
transitions [
        <xref ref-type="bibr" rid="ref12 ref5 ref9">5, 9, 12</xref>
        ] or by common interface places [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This is a natural
consequence of Petri net syntax. Indeed, the structure of a net is explicitly divided
into two classes of elements: places and transitions. Places correspond to the
passive component of the system (state or resources), transitions correspond to
its active component (actions or events or agents).
      </p>
      <p>
        However, explicit separation of nodes into places and transitions is not the
only way of Petri net definition. There exists a number of equivalent formalisms
with a different separation of elements. Some of them use the duality between
places and transitions (the importance of studying this duality was mentioned
by C.-A.Petri already in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]).
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] K.Lautenbach introduced a notion of dual place/transition nets. In
this formalism the transitions are also marked by special tokens called “t-tokens”.
The meaning of t-tokens is that they prevent transitions from being enabled. A
transition carrying a t-token cannot be enabled by any marking of p-tokens. Place
in the net can be enabled and fired in the dual way. Place firing transforms the
marking of t-tokens, arcs for place firing are inverted. So the net can be dualized
in the obvious way. K.Lautenbach in his work proposed dual P/T nets as a model
of system fault propagation.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] M.Ko¨hler and H.R¨olke introduced Super-Dual nets for modeling with
dynamic refinement of events. In this formalism transitions are also marked by
special tokens called “pokens”, but these pokens enable transition firings. Places
can also fire, but their firing use a special separate set of arcs called “glow
relation” in contrast to common “flow relation”. Super-Dual net can be dualized
by interchanging places and transitions, tokens and pokens, flow arcs and glow
arcs. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] it is proven that Super-Dual nets have the same expressive power
as ordinary Petri nets.
      </p>
      <p>
        In both dual P/T nets and Super-Dual nets duality is based on two types of
elements of the system — resources and actions (places and transitions). These
elements are represented in the net by vertices of a bipartite oriented graph.
However, there is another (implicitly) divided set in every Petri net (and in
every other bipartite oriented graph) — the set of arcs. It contains arcs of two
crucially different types — input arcs from places to transitions remove tokens,
output arcs from transitions to places produce tokens. The explicit separation of
this notions allowed us to define an “orthogonal” syntax for Petri nets — Nets
of Active Resources (AR-nets) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        A definition of an AR-net is a dualized definition of a Petri net. The set of
arcs is explicitly transformed into two separate sets of input arcs and output
arcs. The sets of transitions and places are united into a single set of nodes.
Each node may contain tokens. A token in the node may fire, consuming some
tokens through input arcs and producing some other tokens through output arcs.
So a token simulates behaviour of both an active component (an agent) and a
passive component (a resource) at the same time. Therefore the formalism is
called “nets of active resources”. AR-nets are well-suited for modeling systems
with an explicit definition of an agent [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>In this paper we study the compositional properties of AR-nets. A module
is represented as a subnet defined by some subset of nodes. An interface of the
module is a set of arcs linking its nodes with an outer subnet. A module may
have four types of links: input, output, production and consumption. First two
of them represent actions of the module itself, the other two represent actions of
its neighbours. Hence syntactically a module with adjacent links can be treated
as a node with adjacent arcs. This generalization is quite natural and does not
affects the homogeneity of the graph of the net.</p>
      <p>It is shown that a number of net properties may be inherited from the
properties of modules of particular types. It is proven that any nested decomposition
of the net can be transformed into an equivalent agent/resource decomposition.
For a flat decomposition these kinds of transformations are applicable depending
only on the chromatic number of the module linkage graph.</p>
      <p>A problem of module equivalence w.r.t. system reachability is also defined
and studied. A most general case of this equivalence is obviously undecidable.
For a simple case of replacement a criterion of equivalence is given. It is shown
how a module (with some additional requirements) can be replaced by a single
node without affecting the global reachability relation.</p>
      <p>The paper is organized as follows. In section 2 we give basic definitions and
notations for nets of active resources. In section 3 an AR-module is introduced.
We study different types of modules, their properties and methods of
decompositions. In section 4 two notions of module equivalence are defined and studied.
Section 5 contains some conclusions and directions for possible future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>Let S be a finite set. A multiset M over a set S is a mapping M : S → Nat,
where Nat is the set of natural numbers (including zero), i. e. a multiset may
contain several copies of the same element.</p>
      <p>For two multisets M, M 0 we write M ⊆ M 0 iff ∀s ∈ S : M (s) ≤ M 0(s) (the
inclusion relation). The sum and the union of two multisets M and M 0 are defined
as usual: ∀s ∈ S : (M +M 0)(s) = M (s)+M 0(s), M ∪M 0(s) = max(M (s), M 0(s)).</p>
      <p>By M(S) we denote the set of all finite multisets over S.</p>
      <p>For a multiset M ∈ M(S) and a subset S0 ⊆ S denote a projection M [S0] ∈
M(S0) of M onto S0 as follows: ∀s ∈ S0 : M [S0](s) = M (s).</p>
      <p>
        Similarly, for a binary relation R ⊆ M(S) × M(S) a projection R[S0] ⊆
M(S0)×M(S0) is defined as follows: ∀s1, s2 ∈ S0 (s1, s2) ∈ R[S0] ⇔ (s1, s2) ∈ R.
Definition 1. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] A net of active resources is a tuple N = (V, I, O), where
– V is a finite set of resource nodes ( vertices);
– I ⊆ M(V × V ) is a consumption relation ( input arcs);
– O ⊆ M(V × V ) is a production relation ( output arcs).
      </p>
      <p>In graphic form the nodes are represented by circles, the consumption relation
by dotted arrows and the production relation by solid arrows.</p>
      <p>A marked net of active resources is a pair (N, M0) where N is an AR-net
and M0 ∈ M(V ) is its initial marking.</p>
      <p>As usual, pictorially the marking is denoted by black dots.</p>
      <p>For a node v ∈ V by I(•, v), O(v, •), I(v, •) and O(•, v) denote the multisets
of nodes of preconditions, postconditions, consumers and producers: ∀w ∈ V
I(•, v)(w) =def I(w, v);
I(v, •)(w) =def I(v, w);</p>
      <p>O(v, •)(w) =def O(v, w);
O(•, v)(w) =def O(w, v).</p>
      <p>Definition 2. A node v ∈ V is active in a marking M iff
– M (v) &gt; 0 (the node v is not empty);
– I(•, v) ⊆ M (there are enough tokens in all its input nodes).
An active node v may fire yielding a new marking M 0 s.t.</p>
      <p>M 0 =def M − I(•, v) + O(v, •) (denoted M →v M 0).</p>
      <p>Some natural notions:</p>
      <p>Let i ∈ I and i = (v1, v2). Then the arc i is called an input arc for the node v2
and a consuming arc for the node v1. A token in the node v1 may be consumed
through the arc i, a token in the node v2 can consume through the arc i.</p>
      <p>Let o ∈ O and o = (v1, v2). Then the arc o is called an output arc for the
node v1 and a producing arc for the node v2. A token in the node v1 can produce
through the arc o, a token in the node v2 may be produced through the arc o.</p>
      <p>It is impossible to define consuming output and producing input. The
token may be producing, consuming, produced and consumed at the same time
(through different incident arcs). It can be even self-copied (by producing loop)
or self-consumed (by consuming loop).</p>
      <p>An example of an AR-net is given on Fig. 1(a). Here we model a system,
containing three processes that request two shared resources. Processes are modeled
by tokens in the nodes ready-to-start and ready-to-stop, access keys – by
tokens in the node keys. The model guarantees that at most two processes can
work with resources at the same time. An example of a sequence of firings is given
on Fig. 2 (here r1 denotes ready-to-start and r2 denotes ready-to-stop).</p>
      <p>On Fig. 1(b) an equivalent Petri net is also presented. Note the difference
between two nets. In AR-net the more simple node structure and the more complex
arc structure allowed us to use the same node of the graph as a model for both
place and transition. For example, the node ready-to-start is a replacement
for both place waiting and transition start. Its tokens produce other tokens
(in ready-to-stop) and are produced by other tokens (by ready-to-stop).
They also consume other tokens (from keys) and are self-consumed (through
the loop).</p>
      <p>The notion of firing is extended to sequences in the standard way: for σ ∈ V ∗
s.t. σ = σ0v with v ∈ V we say that M →σ M 0 iff M →σ0 M 00 →v M 0 for some M 00.</p>
      <p>A set of reachable markings is defined as follows:
σ</p>
      <p>R(N, M0) =def {M ∈ M(V ) | ∃σ ∈ T ∗ : M0 → M }.</p>
      <p>A node v is live in a marked net (N, M0) iff for any M ∈ R(N, M0) there
exists M 0 ∈ R(N, M ) such that v is active in M 0. A marked net is live iff all its
nodes are live.</p>
      <p>The reachability relation is defined as follows:</p>
      <p>
        The syntax of AR-nets substantially differs from the syntax of Petri nets. It
may be considered dual: instead of two types of vertices and a single type of arcs
we use a single type of vertices and two types of arcs. However, AR-nets define
the same class of systems and hence represent yet another variant of Petri net
formalism:
Theorem 1. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] Nets of active resources are equivalent to Petri nets.1
      </p>
      <p>
        The proof of AR→PN transformation is based on the method, proposed in
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for Super Dual nets. A node of the AR-net is replaced in the Petri net by a
pair (place,transition) (as depicted in Fig. 3). This “flattening” allows to obtain
a Petri net with the same reachability relation without any additional loops in
the reachability graph.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Modular nets</title>
      <p>Let N = (V, I, O) be an AR-net. A module μ of the net N is defined by some
subset of nodes Vμ ⊆ V (considered as internal nodes of the module).</p>
      <p>For a module μ of N denote:
1 For each AR-net there exists a Petri net with the same reachability and vice versa.
– Iμ = {(v, v0) ∈ I | v, v0 ∈ Vμ} – internal input arcs;
– Oμ = {(v, v0) ∈ O | v, v0 ∈ Vμ} – internal output arcs;
– Nμ = (Vμ, Iμ, Oμ) – a net of the module μ;
– Aiμ = {(v, v0) ∈ I | v ∈ (V \ Vμ), v0 ∈ Vμ} – input links;
– Aoμ = {(v, v0) ∈ O | v ∈ Vμ, v0 ∈ (V \ Vμ)} – output links;
– Rμi = {(v, v0) ∈ I | v ∈ Vμ, v0 ∈ (V \ Vμ)} – consuming links;
– Rμo = {(v, v0) ∈ O | v ∈ (V \ Vμ), v0 ∈ Vμ} – producing links.</p>
      <p>Informally, A-links represents the observable activity of the module, R-links
describe its role as a resource.</p>
      <p>For a marked net (N, M0) and a module μ a marked net of the module
(Nμ, (M0)μ) is defined straightforwardly: (M0)μ =def M0[Vμ].</p>
      <p>Define also a complement μ of the module μ as a module, defined by a subset
of nodes V \ Vμ. A complement of the module may be considered as a system
subnet of the net.</p>
      <p>A well-known model of dining philosophers is given on Fig. 5. For the sake of
simplicity we consider only two participants. A module is defined representing
the first philosopher. Note that it has only input and output links (elements of
Aiμ and Aoμ), so the module may be considered as a pure agent.</p>
      <p>A module in an AR-net has almost the same external appearance as a
single node: it may consume and produce resources of other modules, and its own
resources may be consumed and produced by other modules. Moreover, the
relations between modules are naturally denoted by the same constructive elements
as at the underlying level of nodes: input and output arcs (links). Hence, the
induced hierarchical syntax is quite compact.</p>
      <p>Modules having not all four types of links are of a particular interest. We
will call a module μ an A-module (resp. R-module) if it has only A-links (resp.
R-links). For example, the philosopher1 is an A-module. Modules with a more
restricted interfaces will be denoted using appropriate superscripts: for example,
AiRo-module has only input and producing links.</p>
      <p>Any AR-net may be considered as a composition of modules of different types
(Fig. 6). Here are several trivial properties of some of these types:
Proposition 1. Let (N, M0) be a marked net and μ be a module of N . Then
1. (Nμ, (M0)μ) is unbounded and μ is an AoR-module ⇒ (N, M0) is unbounded;
2. (Nμ, (M0)μ) is not live and μ is an ARi-module ⇒ (N, M0) is not live;
3. (Nμ, (M0)μ) is live and μ is an Ao-module ⇒ (Nμ, (M0)μ) is unbounded.
Proof. 1. Since there are no input links, the behavior of the active nodes of
the module does not depend on the marking of the system part of the net.
Therefore we can take an unbounded run of the module as an unbounded
run of the whole net.
2. The ARi-module cannot obtain any additional tokens from the outside (there
are no producing links). So its nodes are not live in the whole net too.
3. Obviously, the live module with only output external links sends the
unbounded number of tokens to the outside.</p>
      <p>Among all 11 possible types of modules pure A- and R-modules (agents and
resources) are the most important. Any interface between two modules may be
transformed into an equivalent2 A/R interface with one module being an agent,
and the other being a resource. Consider a simple procedure transforming input
and output links into producing and consuming links:
Lemma 1. Let (N, M0) be a marked AR-net and v ∈ V be a node such that
I(•, v) 6= ∅ or O(v, •) 6= ∅ ( v is active: it can consume or produce tokens).</p>
      <p>Let N 0 be a net, constructed from N by removing all arcs, participating in
I(•, v) and O(v, •) ( v became passive), and adding a new node vt with I(vt, •) =
O(•, vt) = ∅ ( vt cannot be produced or consumed), I(•, vt) = I(•, v) ∪ {(v, vt)},
O(vt, •) = O(v, •) ∪ {(vt, v)} ( vt simulate in N 0 the firing of v in N ).</p>
      <p>Let M00 be a marking of N 0 such that M00 [V ] = M0, M00 (vt) = 1. Then
Reach(N, M0) = Reach(N 0, M00 ) ∩ (V ×V ) and ∀M 0 ∈ R(N 0, M00 ) M 0(vt) = 1.
Proof. The illustration of such a transformation is given on Fig. 7.</p>
      <p>The proof is straightforward – all possible links of a node are considered.
Actually, we just separated active and passive properties of node v (just like in
Fig. 3). The new node vt is a transition: it behaves completely like an ordinary
Petri net transition. Similarly, the node v in N 0 is a Petri net place.</p>
      <p>The restructuring, described in Lemma 1, extends the set of nodes by a
transition, always marked by a single token. So we do not take this node into
account when considering the reachability set of the new net.</p>
      <p>Corollary 1. 1) Any module of an AR-net may be transformed into R-module
without changing the reachability set of the net;
2) Any module of an AR-net may be transformed into A-module without changing
the reachability set of the net.
2 (w.r.t. reachability)
μ
μ
μ
μ</p>
      <p>Proof. (1) Any active node v of the module, having an external link, is replaced
by a pair (v, vt) of a place and a transition. The new transitions are put outside
of the module (Fig. 7).</p>
      <p>(2) A dual transformation: active nodes of the system part are transformed,
transitions are put into the module.</p>
      <p>So the interface of any module can be simplified to R-interface or A-interface.
Of course, doing this we change the structure of the net (vt is added). However,
this modification is local and does not affect the “inner” part of the module.</p>
      <p>In practice A- and R-modules may be considered as “active” and “passive”
parts of the system (“control” and “data”). Corollary 1 states that the separation
is “relative”: we can easily modify an agent to be a resource and vice versa. This
duality is quite trivial in modular AR-nets.</p>
      <p>Definition 3. A flat modularization Ω of a net N is a partition of V into
non-intersecting modules {μ1, . . . , μn}.</p>
      <p>A flat modularization is called a flat A/R-modularization iff every module is
either A-module or R-module.</p>
      <p>Corollary 2. Let Ω = {μ1, . . . , μn} be a flat modularization of N . Let G be a
graph with vertices from Ω, such that two vertices μi and μj are connected in G
iff there is an arc between modules μi and μj in N .</p>
      <p>The net N may be transformed into an equivalent (w.r.t. reachability) net N 0
such that Ω is an A/R-modularization of N 0 iff the chromatic number of G is 2.
Proof. Modules of one color are transformed into A-modules, of another – into
R-modules.</p>
      <p>Corollary 2 states that any two-color partition of the net can be transformed
to an active/passive partition. Hence we can easely identify control and data
structures, corresponding to the given partition: control modules sharing the
same data, data modules sharing the same control, chains of linked modules etc.
Moreover, control and data subnets are dualizable (Corollary 1).
Definition 4. A nested modularization Ω of a net N is a partition of V into
a module μ and a system part μ, where μ may also be modularized.</p>
      <p>A nested modularization is called a nested A/R-modularization /
A-modularization / R-modularization iff every module is either A- or R-module /
Amodule / R-module.</p>
      <p>Corollary 3. For any nested modularization Ω of N this net may be
transformed into an equivalent (w.r.t. reachability) net N 0 such that Ω is a nested
α-modularization of N 0 (α ∈ {A/R,A,R}).</p>
      <p>Proof. Straightforward. The transformation (if required) must be started from
the innermost module.</p>
      <p>The nested modularization allows us to construct a hierarchical structure
with any kind of inter-level communication. The combinations of flat and nested
modularizations are also possible.</p>
      <p>A/R-modularizations are interesting because they allow to incorporate a
natural hierarchy into the set of modules. Such hierarchy may have many
applications in extended formalisms. For example, active modules may be considered
responsible for intermodular data transfer. Another example is security: the
Rmodule is able to hide the exact moments of its transition firings from the agent
(the A-module), because agent observes only the already changed state of the
resource.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Modular reachability</title>
      <p>In this section we consider equivalent modules. The key problem is to check
whether a particular module can be replaced by another one without harming the
behaviour of the whole system. We study the equality of reachability relations
of two nets – a fundamental behavioural equivalence, which is stronger than
language equivalence and bisimulation.</p>
      <p>Definition 5. Consider AR-nets N1 and N2 and modules μ1 and μ2 of N1 and
N2 respectively, such that (N1)μ1 = (N2)μ2 = Nsys for some AR-net Nsys =
(Vsys, Isys, Osys) (a same system net). Consider markings M1, M2 and Msys of
μ1, μ2 and Nsys respectively.</p>
      <p>Marked modules (μ1, M1) and (μ2, M2) are called equivalent w.r.t. system
reachability for a marked system net (Nsys, Msys) (SR-equivalent for short) iff</p>
      <p>Reach(N1, M1 + Msys)[Vsys] = Reach(N2, M2 + Msys)[Vsys].</p>
      <p>Informally, two SR-equivalent modules have the same effect on the system
part of the net. They can be replaced by each other without harming the system’s
reachability set.</p>
      <p>An example is given on Fig. 10. The module Philosopher’ is SR-equivalent
to the module Philosopher1, shown on Fig. 5. Note that these modules are
different: Philosopher’ has additional state ready, in which it has both forks
but is not eating.</p>
      <p>Theorem 2. SR-equivalence is undecidable for general AR-nets.
Proof. Follows from the undecidability of R-equivalence for general Petri nets (a
problem of deciding whether two nets have the same reachability set). Indeed, one
can put all “agent nodes” (“transitions”) of compared nets into corresponding
modules (and all “resource nodes” aka “places” into system nets) and try to
check their SR-equivalence.</p>
      <p>Note that in the proof we used active modules (A-modules). Hence
SRequivalence is undecidable even for A-modules. It may be interesting to study
the equivalence for other specific types of modules, in particular, for R-modules.
We believe that it is undecidable as well.</p>
      <p>Consider a more restricted case of a module. Let both modules have the
same interface, i.e. the same set of links and adjacent nodes in the system net:
∀v ∈ Vsys</p>
      <p>P
v1∈Vμ1</p>
      <p>P
v1∈Vμ1</p>
      <p>Aoμ1 (v1, v) =
Aiμ1 (v, v1) =</p>
      <p>P
v2∈Vμ2</p>
      <p>P
v2∈Vμ2</p>
      <p>Aoμ2 (v2, v);
Aiμ2 (v, v2);</p>
      <p>P
v1∈Vμ1</p>
      <p>P
v1∈Vμ1</p>
      <p>Rμi1 (v1, v) =
Rμo1 (v, v1) =</p>
      <p>P
v2∈Vμ2</p>
      <p>P
v2∈Vμ2</p>
      <p>Rμi2 (v2, v);
Rμo2 (v, v2).</p>
      <p>We will say that a module is compatible with a system net (and vice versa)
iff the net contains nodes required by all links of the module.</p>
      <p>Definition 6. Marked modules (μ1, M1) and (μ2, M2), having the same
interface, are called universally equivalent w.r.t. system reachability (USR-equivalent
for short) iff they are SR-equivalent for any compatible marked system net.</p>
      <p>The USR-equivalence of two modules means that they produce equal sets
of markings on passive interface nodes (by active agent links) and obey the
same sets of restrictions and commands, coming from active interface nodes (by
passive resource links).</p>
      <p>A USR-equivalence is a restriction of an SR-equivalence. However, we believe
that it is also undecidable.</p>
      <p>Consider one of the simplest nontrivial module replacement – let the first
module (denoted by μ) be a general AR-net (with some restrictions) and the
second one (denoted by ν) be a single node.</p>
      <p>Theorem 3. Let (μ, M ) be a marked module s.t.
1. All active interface nodes of module μ have the same multisets of active links:
∃Ai, Ao ∈ M(Vsys) ∀v ∈ Vμ
(Aiμ(•, v) = Aoμ(v, •) = ∅) ∨ (Aiμ(•, v) = Ai ∧ Aoμ(v, •) = Ao).
2. All active interface nodes of system net perform operations on the whole
numbers of the same multiset of internal nodes:</p>
      <p>∃Rio ∈ M(Vμ) ∀v ∈ Vsys ∃ki(v), ko(v) ∈ Nat
(Rμi(•, v) = ki(v) × Rio ∧ Rμo(v, •) = ko(v) × Rio).
3. All active internal nodes of the module, affecting nodes of Rio, perform the
same operation on the whole numbers of Rio’s:
∃kc, kp ∈ Nat</p>
      <p>∀v ∈ Vμ (Aiμ(•, v) ∩ Rio 6= ∅ ∨ Aoμ(v, •) ∩ Rio 6= ∅)
∃X, Y ∈ M(Vμ) (X ∩ Rio = Y ∩ Rio = ∅) ∧
(Aiμ(•, v) = kc × Rio + X) ∧ (Aoμ(v, •) = kp × Rio + Y ) .
⇒
4. The initial marking M may be decomposed as M = M 0 + m × Rio, where
m ∈ Nat and M 0 ∩ Rio = ∅.
5. The marked internal net (Nμ, M ) is live, were M denotes a marking,
produced from M by emptying all passive interface nodes of μ :
∀v ∈ Vμ</p>
      <p>M (v) =def
0
M (v)
if (Aiμ(•, v) ∪ Aoμ(v, •)) 6= ∅;
otherwise.</p>
      <p>Then (μ, M ) is USR-equivalent to a marked single-node module (ν, Mν ), where
– Vν = {w};
– Iν (w, w) = kc; Oν (w, w) = kp;
– Aiν (•, w) = Ai; Aoν (w, •) = Ao;
– ∀v ∈ Vsys Rνi (w, v) = ki(v), Rνo (v, w) = ko(v);
– Mν (w) = m.</p>
      <p>Proof. The proof is technical. It is based on the fact that the liveness of the
“unmarked” module implies the liveness of any node of the module in any bigger
initial marking (such a marking may be obtained by input from the system). The
system does not depend on the actual behaviour of the internal net (note that
the effect of all interface firings is the same). It is enough to know that any firing
is eventually possible.</p>
      <p>An example of correct replacement is given on Fig. 11.</p>
      <p>Here the module Procedure (live and unbounded) models some computation,
that may be performed by one of three computers, initially positioned in the node
idle. The service loader starts the computation, loading one of the computers
with an input data. The computer performs calculations (may be, infinitely) and
sometimes produces the results (to output). It also may be unloaded by another
service unloader.</p>
      <p>The external behaviour of module Procedure is relatively simple, so it can
be replaced by a single node.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future work</title>
      <p>We tried to identify the distinctive features of AR-nets, that would possibly allow
them to be a successful base of some modular (and/or hierarchical) formalism.
We also performed some simple analyses of expressiveness of specific modular
constructs and decidability of basic module equivalences. It is also shown that
modular AR-nets may be a convenient modeling tool.</p>
      <p>Since AR-nets are expressively equivalent to general Petri nets, all the results,
mentioned in the paper, can be applied to a standard Petri net syntax (in terms
of places and transitions). However, in contrast to ordinary Petri nets, the set of
nodes is homogeneous here and hence the syntax of module seems quite compact
and natural.</p>
      <p>We also believe that our work shows the opportunities provided by “coloured”
arcs in Petri nets. Two-coloured arcs allowed us to remove the partition of nodes
into places and transitions. Obviously, the process of generalization can go
further, to a more complex/useful arcs/relations.</p>
      <p>The possible directions of a future research in the area of modular AR-nets
are: the decidability of certain equivalences of modules; the problem of finding
the most effective (smallest/the least connected) decomposition of a given net;
the refinement of nodes; the algebraic manipulations with AR-nets and modules;
the synchronous compositions (requires additional constructs); etc.
Proceedings of CompoNet and SUMo 2011
48</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Bashkin</surname>
          </string-name>
          .
          <article-title>Nets of active resources for distributed systems modeling</article-title>
          .
          <source>Joint Bulletin of NCC&amp;IIS, Comp. Science. Novosibirsk</source>
          .
          <year>2008</year>
          . V.28. P.
          <volume>43</volume>
          -
          <fpage>54</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Bashkin</surname>
          </string-name>
          .
          <article-title>Formalization of semantics of systems with unreliable agents by means of nets of active resources</article-title>
          .
          <source>Programming and Computer Software</source>
          ,
          <year>2010</year>
          , Vol.
          <volume>36</volume>
          , No.4,
          <string-name>
            <surname>P.</surname>
          </string-name>
          187-
          <fpage>196</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>E.</given-names>
            <surname>Best</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Devillers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koutny</surname>
          </string-name>
          .
          <source>Petri Net Algebra. EATCS Monographs on TCS</source>
          . Springer, Berlin,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>E.</given-names>
            <surname>Best</surname>
          </string-name>
          , W. Fra¸czak,
          <string-name>
            <given-names>R.P.</given-names>
            <surname>Hopkins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Klaudel</surname>
          </string-name>
          ,
          <string-name>
            <surname>E. Pelz.</surname>
          </string-name>
          <article-title>M-nets: an algebra of high level Petri nets, with an application to the semantics of concurrent programming languages</article-title>
          .
          <source>Acta Inf.</source>
          ,
          <year>1998</year>
          . Vol.
          <volume>35</volume>
          . P.
          <volume>813</volume>
          -
          <fpage>857</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>S.</given-names>
            <surname>Christensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Petrucci</surname>
          </string-name>
          .
          <article-title>Modular analysis of Petri nets</article-title>
          .
          <source>The Computer Journal</source>
          ,
          <year>2000</year>
          . Vol.
          <volume>43</volume>
          (
          <issue>3</issue>
          ). P.
          <volume>224</volume>
          -
          <fpage>242</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>K.</given-names>
            <surname>Jensen</surname>
          </string-name>
          .
          <source>Coloured Petri Nets: Basic Concepts</source>
          ,
          <source>Analysis Methods and Practical Use</source>
          . Springer,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>S.</given-names>
            <surname>Haddad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Poitrenand</surname>
          </string-name>
          .
          <article-title>Theoretical aspects of recursive Petri nets</article-title>
          .
          <source>In Proc. of ATPN'99. LNCS 1639</source>
          . Springer,
          <year>1999</year>
          . P.
          <volume>228</volume>
          -
          <fpage>247</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.</given-names>
            <surname>Kindler</surname>
          </string-name>
          .
          <article-title>A compositional partial order semantics for Petri net components</article-title>
          .
          <source>In Proc. of ATPN'1997. LNCS 1248</source>
          . Springer,
          <year>1997</year>
          . P.
          <volume>235</volume>
          -
          <fpage>252</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>K.</given-names>
            <surname>Klai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Haddad</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Ili</surname>
          </string-name>
          <article-title>´e. Modular Verification of Petri Nets Properties: A Structure-Based Approach</article-title>
          .
          <source>In Proc. of FORTE'2005. LNCS 3731</source>
          . Springer,
          <year>2005</year>
          . P.
          <volume>189</volume>
          -
          <fpage>203</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. K</surname>
          </string-name>
          <article-title>¨ohler</article-title>
          , H. R¨olke.
          <article-title>Super-Dual Nets</article-title>
          .
          <source>In Proc. of CS&amp;P'</source>
          <year>2005</year>
          . P.
          <volume>271</volume>
          -
          <fpage>280</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>K.</given-names>
            <surname>Lautenbach</surname>
          </string-name>
          . Duality of Marked Place/Transition Nets. Universitat KoblenzLandau, Institut fur Informatik,
          <source>Research Report 18</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>I.A.</given-names>
            <surname>Lomazova. Nested Petri</surname>
          </string-name>
          nets
          <article-title>- a Formalism for Specification and Verification of Multi-Agent Distributed Systems</article-title>
          .
          <source>Fundamenta Informaticae</source>
          .
          <year>2000</year>
          . V.43. P.
          <volume>195</volume>
          -
          <fpage>214</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>C</surname>
          </string-name>
          .
          <article-title>-A. Petri. “Forgotten Topics” of Net Theory</article-title>
          .
          <source>In Proc. of ATPN</source>
          '
          <year>1987</year>
          . P.
          <volume>500</volume>
          -
          <fpage>514</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Valk</surname>
          </string-name>
          .
          <article-title>Petri Nets as Token Objects: An Introduction to Elementary Object Nets</article-title>
          .
          <source>LNCS 1420</source>
          . Springer,
          <year>1998</year>
          . P.1-
          <fpage>25</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>