<!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>A class of hypernets with token creation and decidable reachability problem</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marek A Bednarczyk</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Piotr Jóźwiak</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wiesław Pawłowski</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>IPI PAN</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gdańsk</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Poland</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ZWI PJWSTK</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gdańsk</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Poland</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>II UG</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gdańsk</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Poland</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The formalism of Petri hypernets is extended by allowing creation of unstructured tokens. Any two such tokens are then declared indistinguishable, unless they have different sorts, i.e., colours. Under this assumption it is possible to provide a construction that to each coloured Petri hypernet associates a P/T net with an isomorphic case graph. Hence, the reachability problem for coloured Petri hypernets is decidable. Let us consider a high level Petri net formalism in which the nets manipulate tokens which are references to some objects. Following [8] let us assume that the following conditions are satisfied. 1. Within the formalism the “references to objects can be checked for identity”. 2. The net should create fresh objects whenever creation takes place.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Kummer shows that under these assumptions the problem of reachability of the empty marking
reduces to the problem of reachability of 2-counter automata, and thus it is undecidable.</p>
      <p>
        In formalism introduced in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the first condition is implemented as follows. A variable vx,y is
associated to every arrow between nodes x and y in the net. Then, a transition t is enabled in a
marking M only when there is a map ζ which associates objects to variables so that from each
input place p of t the map choses object ζ(vs,t) in M . Suppose then that the same variable labels
arrows from two or more input places of t. Then the transition may fire only if there are references
to the same object in all these places. Thus, such object nets operate on the simple type of abstract
references with equality.
      </p>
      <p>
        It turns out that undecidability of reachability problem holds for many non-trivial variants of
higher order nets, and for nets-within-nets approaches in particular. This includes many classes of
object nets studied in Hamburg, and nested Petri nets introduiced by Lomazova, see [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ].
      </p>
      <p>
        On the other hand Petri hypernets, see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], do not admit such testing for equality. An instructive
way to compare the formalism proposed by Kummer with hypernets is to say that in hypernets
each transition has an injective labeling of input and output arrows. In hypernets this is done
by representing an object net as a synchronous product of state machine nets. Consequently, one
cannot use such equality tests as described above. This gives hope that an extension which allows
creation might not yield a framework with undecidable reachability problem. We introduce coloured
Petri hypernets, abbr.: cPH, as an extension of Petri hypernets. This is done by admiting private
transitions in agents which, when fire, create unstructured tokens.
      </p>
      <p>
        It is assumed that tokens created in this way are distinguishable only if they have different
sorts—each agent in a hypernet has a sort assigned to it. Thus, the sorts play the rˆole of colours.
This seems a right thing to do in order to maintain finitary character of the formalism. Besides, in
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the reduction goes via reference to the reachability of the empty marking.
      </p>
      <p>
        In an earlier paper [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] it has been shown that each marked hypernet can be translated to a
1-safe net system with an isomorphic case graph. Here we extend this construction and define a
translation that maps a marked cPH to a P/T net system in such a way that their state spaces
are isomorphic. This reduces the reachability problem for coloured Petri hypernets to that of P/T
nets. Whence the reachability problem for coloured Petri hypernets is also decidable.
      </p>
      <p>In what follows standard notational conventions regarding Petri nets and elementary set theory
are used. For instance, |A| denotes the cardinality of a set A, a singleton set is identified with its
content.</p>
      <p>The paper is organised as follows. Section 2 recalls the formalism of Petri hypernets.
Section 3 introduces the formalism of coloured Petri hypernets. Section 4 provides the translation and
presents the main result of the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Petri hypernets</title>
      <p>
        Our idea is to modify the definition of Petri hypernets given in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] as little as possible so that
creation of agents is allowed. First, we explain the static structure, and then the dynamic behaviour
of hypernets.
2.1
      </p>
      <p>
        The static structure of Petri hypernets
Let us start by recalling some terminology and definitions from [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A hypernet is a finite set of
agents. A (mobile) agent is a synchronous product of a finite set of modules. A module is a
statemachine net. Thus, in an agent each transition has the same number of pre- and post-conditions.
      </p>
      <p>
        The state of a hypernet, called hypermarking, is given as a distribution of agents among places
(also called locations) of other agents. Thus, in comparison with the classical nets-within-nets
approaches, [
        <xref ref-type="bibr" rid="ref13 ref7">13, 7</xref>
        ], the only novelty so far is the requirement that our agents are explicitly
decomposed into synchronous products of their sequential components. Note that by [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] any elementary
net admits such a decomposition, and the same holds for 1-safe Petri nets, see [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>Another restriction imposed on hypernets is that each agent and each module has assigned a
sort. Let Σ be a finite set of sorts, and let α, β, . . . range over Σ. We require that an agent of a
sort α can be hosted only by the places of modules of sort α.</p>
      <p>An extension of the classical idea comes with the notion of communication ports. Formally,
let I = {?} ∪ {?β | β ∈ Σ } and O = {!} ∪ {!β | β ∈ Σ } be the sets of input and output ports,
respectively. The purpose of ports is to allow for the exchange of tokens, i.e. agents, between
agents. This allows the hierarchy of agents to evolve, unlike in some other approaches based on
nets-within-nets paradigm.</p>
      <p>Definition 1. A module of sort α (α-module) is a, possibly empty, finite Petri net N = (P, T , F ),
where P is the set of local places, T is the set of transitions, and F ⊆ ((P ∪ I) × T ) ∪ (T × (P ∪ O))
is the flow relation. We assume that P ∩ (I ∪ O) = ∅ and |pre (t)| = 1 = |post (t)| for all t ∈ T .
The last condition above says that each transition has exactly one pre- and one post-condition,
either a local place, or a communication port. This condition is relaxed in the sequel to allow
creation of agents.</p>
      <p>Definition 2. An agent A = {NAα | α ∈ Σ } is a Σ-indexed set of modules, We call NAα the
αmodule of A, and assume PAα ∩ PAκ = ∅ whenever α 6= κ.</p>
      <p>Modules should satisfy the following structural consistency conditions.</p>
      <sec id="sec-2-1">
        <title>FAα(?β, t) implies</title>
      </sec>
      <sec id="sec-2-2">
        <title>FAα(t, !β) implies</title>
        <p>α 6= β ∧ FAβ (p, t) for some p ∈ PAβ,
α 6= β ∧ FAβ (p, t) ∧ FAβ (t, q) for some p, q ∈ PAβ .
(1)
(2)
Above PAα, TAα and FAα, denote the respective components of an α-module of A.</p>
        <p>In the sequel we let PA =b S {PAα | α ∈ Σ } and TA =b S {TAα | α ∈ Σ } denote the sets of local
places and transitions of A, respectively.</p>
        <p>Different modules do not share locations, but they can share transitions. Shared transition are used
for the synchronisation of the respective modules. When each module of an agent is the empty
net, then the agent behaves like an unstructured token. This observation will serve as the basis for
identification of such unstructured tokens later on.</p>
        <p>Ports ? and ! serve to communicate with agent’s current super-agent. Ports of the form ?β and
!β serve to communicate with agent’s sub-agents located in its β-module. In the sequel the two
kinds of ports serve rˆoles complementary to each other. Let us consider first moving a token agent
up in the hierarchy. Then, for instance, an agent can perform action t with FAα(?β, t) only together
with one of its sub-agents in its β-module, and provided the sub-agent can perform t with FAα(t, !).</p>
        <sec id="sec-2-2-1">
          <title>Conversly, an agent of sort β can perform t with FAα(t, !) only together with its super-agent, and</title>
          <p>provided its super-agent can perform t with FAα(?β, t). Similar cooperation must take place when
moving tokens down the hierarchy, e.g., between an agent which wants to perform action t with</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>FAα(t, !β) and its sub-agent in its β-module which intends to perform t with FAα(?, t). This idea is</title>
          <p>formally captured in the sequel by the notion of consortium.</p>
          <p>To cope with graphical representation of ports the classical notation is somewhat extended.
Consider the meaning of Def. 2(1) visualised on Fig. 1. It deals with communication of an agent
α:
β:
p
t
t
with its tokens, i.e., sub-agents. Assume that α-module of an agent contains transition t with flow</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>FAα(?β, t), i.e., t intends to get an α-agent from within its sub-agent stored in β-module. Then</title>
          <p>Def. 2(1) asserts that β must be different from α, and that the β-module must contain transition
t, and the precondition of t in the β-module must not be a port.</p>
          <p>Thus, the consistency of a request by α-module to receive something from within agents in the
β-module can be locally verified by looking at the agents in the local place p such that FAβ (p, t).
Condition Def. 2(2) states that when agent wants to send something down, then t must be present
in the β-module. Moreover, pre- and post-condition of t in β module must be locations, not ports.</p>
        </sec>
        <sec id="sec-2-2-4">
          <title>We use a convention to draw FAα(?β, t) and FAα(t, !β) as links between the occurrence of t in</title>
          <p>the α-module and the input and output arcs of t in the β-module. Intended communication with
super-agents is graphically represented by broken line half-circles, see Fig. 2.</p>
        </sec>
        <sec id="sec-2-2-5">
          <title>Given agent A and any t ∈ TAα let preαA(t) and postαA(t) denote the (necessarily unique) pre</title>
          <p>and post-condition of t in the α-module of A, respectively. Note that preαA(t) and postαA(t) can be
either local places or communication ports.</p>
          <p>
            Airport example, see [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ] Suppose one wants to model an airport as an agent in which two
types of agents are to be handled: travellers and planes. A suitable hypernet should thus contain at
least three sorts: let π be the sort for planes, τ for passengers and α for airports.
          </p>
          <p>Fig. 2 describes a possible structure of an airport agent which consists of two non empty modules:
π-module for plane handling, and τ -module for travelers.</p>
          <p>τ:
π:
land</p>
          <p>A</p>
          <p>hall</p>
          <p>The π-module captures the usual plane handling procedure: plane lands from above; disposes of
its passengers (if any); refuels; boards new passengers and finally takes off. Some of these activities
are captured by transitions like land and take-off which use communication with the implicit
superagent of the airport agent to move plane agents into and out of the airport. Transition refuel , which
moves plane agents between locations of the airport agent does not require any synchronisation.
Finally, transitions deplane and board are present in both modules and their firing does require
synchronisation. Intuitively, to fire board, say, we need a traveler agent in location hall and a
plane agent in location bg . Moreover, the transition in the τ -module has an output port as the
postcondition, so the plane agent should be prepared to engage in board with flow F (?, board ).
Definition 3. A Petri hypernet is a finite family N of agents together with sorting, i.e., a function
σ : N → Σ that assigns to each agent its sort.</p>
          <p>It is assumed that the agents in N have mutually disjoint sets of local places. Thus, any place
p ∈ PN =b S {PA | A ∈ N } can be assigned its sort σ(p) = α where α is the sort of a module of the
(unique) A ∈ N , such that p ∈ PAα.</p>
          <p>
            In hypernets the locations of an agent are distributed among its modules. Hence, the state of
a hypernet is uniquely defined as a many-to-one correspondence between agents and locations,
cf. [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ].
          </p>
          <p>Definition 4. The state of a hypernet, called hypermarking, is a sort-preserving partial function
μ : N ⇀ P N .
2.2</p>
          <p>The dynamics of Petri hypernets
The dynamics of hypernet reflects their ability to change state of the system.</p>
          <p>Suppose t ∈ TA is a transition of agent A. Then A in a given state can perform t only if all its
αmodules such that t ∈ TAα can perform t. This means that we assume inter-module synchronisation
on common transitions.</p>
        </sec>
        <sec id="sec-2-2-6">
          <title>Let us concentrate now on a single α-module of A such that t ∈ TAα. If the input and output</title>
          <p>places of t in the module are locations, i.e., local places, then in order to perform t it is enough
to find a token in preαA(t) and move it to postαA(t). Otherwise, either preαA(t) or postαA(t), or both,
are communication ports. Then inter-level synchronisation between agents should take place.
Flow of tokens and consortia.</p>
          <p>The inter-module synchronisation is static in the sense that it concernes a fixed set of modules
of an agent. The inter-agent interaction is dynamic—it depends on the current hypermarking—
distribution of agents among locations. Our aim is to explain how such a distribution may evolve.</p>
          <p>Consider agents A and A′ which try to help each other to perform transition t by establishing
a communication link for α-tokens flow from A to A′ , notation A α A′ . Such flow can go either
up or down the hierarchy. The first case is described on the left, the second on the right of Fig. 3.
The existence of an α-flow requires that two conditions hold.</p>
          <p>Adjacency: One of the agents should be the super-agent of the other.</p>
          <p>Matching: Each agent should match the communication request of the other.
Airport example (cntd.) In Fig. 4 the airport agent contains two plane agents P1 and P2,
and also two traveller agents T1 and T2. It should be clear that P1 τ A and A τ P2 hold.</p>
          <p>Fig. 4 also demonstrates that in hypernets inter-module and inter-agent synchronisation may
take place at the same time. Thus, one is interested not just in pairs of agents, but in groups of
agents which should cooperate with each other to ensure that together all their synchronisation
and communication requests related to execution of a shared transition are satisfied.</p>
          <p>Let N be a hypernet with sorting σ and consider a triple Γ = (t, T , ξ) which satisfies the
following.</p>
          <p>– t ∈ TN =b S {TA | A ∈ N } is a transition of N .
– T ⊆ N is the set of active agents of Γ .</p>
          <p>All active agents share t, i.e., T ⊆ {A ∈ N | t ∈ TA }.</p>
          <p>α:
t</p>
          <p>Definition 5. Consider Γ as above and active agents A, A′ ∈ T . Then, there is an α-flow from
A to A′ in Γ , written A α A′ , if one of the following conditions is satisfied.
flow up postαA(t) = ! and ξ(preβA′ (t)) = A and preαA′ (t) = ?β and β = σ(A).
flow down postαA(t) = !β and ξ(preβA(t)) = A′ and preαA′ (t) = ? and β = σ(A′ ).</p>
          <p>Finally, we are ready to define the notion of consortium.</p>
          <p>Definition 6. A triple Γ as above is a consortium provided the following hold.
1. T is non-empty.
2. A ∈ T and FAα(?, t) implies A ∈ Tξ and A↑ α A
3. A ∈ T and FAα(t, !) implies A ∈ Tξ and A α A↑
4. A ∈ T and FAα(?β, t) implies ξ(p) ∈ T and ξ(p)
5. A ∈ T and FAα(t, !β) implies ξ(p) ∈ T and A
6. The undirected graph (T , Sα∈Σ α) is connected.</p>
          <p>α A, where p = preβA(t)
α ξ(p), where p = preβA(t)
Most of the conditions have a simple justification. Condition 1 says that at least one active agent
has to be involved. Conditions 2-5 stipulate that members of T provide matching communication
capabilities for other members of the group. Note that structural consistency conditions of Def. 2
guarantee the existence of a suitable location p. Finally, condition 6 says that T is a minimal such
group of agents.</p>
          <p>Note that transaction may involve just one active agent, see for instance transition refuel in
our running example.</p>
          <p>Airport example (cntd.). Let us consider airport agent from Fig. 2 together with two airplane
agents P1 and P2, and two traveller agents T1 and T2. The plane agents have a very simple
structure. It consists of just one non empty module for traveller handling. A plane is always ready
to accept a new passenger from its super-agent, and always ready to dispose of any travellers
onboard. Traveller agents are unstructured tokens.</p>
          <p>The group together with two consortia is depicted on Fig. 4. One consortium involves deplane
and agents A and P1 as active agents. The local input places of these agents are lg and c1 . The
T2
P2</p>
          <p>hall
board
land
board
passive token agents chosen for these places are P1 and T1, respectively. Note that P1 is both
active and passive. This means that it will move a token, here T1, and be moved as a token at the
same time. There is one flow involved in this consortium, namely P1 τ A.</p>
          <p>Another consortium involves board and agents A and P2 as active agents. The local input
places of these agents are bg and l . The passive token agents chosen for these places are P2 and
T2, respectively. The only flow involved is A τ P2.</p>
          <p>Chains of flow.</p>
          <p>A consortium Γ = (t, T , ξ) is a minimal group of vertically interconnected agents which together
can change the state of the hypernet by moving some agents from one location to another. To
formalise this idea we need to know which agents to move, and also their initial and final locations.</p>
        </sec>
        <sec id="sec-2-2-7">
          <title>Intuitively, agents in T move those in Tξ. The initial locations of token agents Tξ is given by ξ−1.</title>
          <p>So, the only problem is to find their final destination. The ability to find such unique locations
stems from conditions 2-5 of Definition 6. The mechanism involved is explained by means of a
generalisation of the notion of α-flow among the members of consortium Γ .</p>
          <p>Definition 7. An α-chain of flow in consortium Γ is a finite non-empty sequence c = A1 . . . An
of agents from T , such that Ai α Ai+1 for 1 ≤ i &lt; n.</p>
          <p>Let preα(c) = preαA1 (t) and postα(c) = postαAn (t).</p>
          <p>b b
Proposition 1. Let Γ = (t, T , ξ) be a consortium. For any agent A ∈ T such that preαA(t) is a
location there exists a unique α-chain c = A1 . . . An such that A = A1 and postαAn (t) is a local
place as well.</p>
          <p>Given an output place of Γ one can start building a chain of flow which will lead to a
corresponding input location.</p>
          <p>Proposition 2. Each consortium Γ = (t, T , ξ) induces a sort-preserving bijection trgΓ : In(Γ ) →
Out(Γ ) where trgΓ (p) = q iff there is a κ-chain of flow c in Γ , where κ = σ(p), such that
p = preκ(c) and q = postκ(c). Moreover, for p ∈ In(Γ ) if trgΓ (p) ∈ In(Γ ) then trgΓ (p) = p.
Proof. The first part follows immediately by Proposition 1. So, assume q = trgΓ (p) ∈ InΓ () for
some p ∈ In(Γ ). Then, by definition of trgΓ it follows that q = postαA(t) for the last agent A ∈ T in
any α-chain of flow that starts with p.. But from q = trgΓ (p) ∈ In(Γ ) it follows that q = preαA(t).
So, this chain contains just A, and so p = q follows. 2
A consortium is enabled at a hypermarking when the choice of the passive tokens in consortium
agrees with their location described by the hypermarking. The effect of firing enabled transition is
to update the hypermarking by synchronously moving the passive agents to locations prescribed
by trg function.</p>
          <p>Definition 8. Let μ : N ⇀ P N be a hypermarking of N . Then consortium Γ = (t, T , ξ) is
enabled at μ, notation μ[Γ i, if μ(ξ(p)) = p for all p ∈ In(Γ ). Γ enabled at μ can fire, yielding a
new hypermarking μ′ defined as follows.
Consider a hypernet (N , σ) with an initial hypermarking μ. Then its case graph has hypermarkings
reachable from μ as states and firings of consortia as transitions.</p>
          <p>Boarding a passenger—an example of hierarchy change</p>
          <p>The example below demonstrates the effect of an inter-level communication between agents.
A situation at the airport as described on Fig. 4, offers two possible consortia—corresponding to
T2
P2
T1
P1</p>
          <p>hall
board
bg
board
c1
deplane
land
take-off
board
c2
the deplane and board actions respectively. The latter consists of a plane P2 and the airport A as
active agents and a traveller T2 and plane P2 as passive tokens. As a result of firing the consortium
the passenger T2 is moved from the passenger’s lounge (place hall) to the plane and vanishes from
the level of the airport. Plane P2 stays in place bg. The new situation is depicted on Fig. 5.</p>
          <p>
            Note that such a change is not supported by most theories that deal with nets-within-nets
formalisms. On the other hand hierarchy change can be modelled in Renew, see [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
3
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Petri hypernets with creation of coloured tokens</title>
      <p>Extension of a formalism in which individual agents may contain other agent rises basic yet
important questions. Let us start by reviewing some of them.</p>
      <p>– Can the agents created be complex? Only unstructured/empty agents can be created.
– Do we allow destruction of agents? Destruction is not allowed. Thus, we do not have to
investigate what happens to an agent which is destroyed or to it’s subagents.
– How to cope with unbounded name spaces when creation is allowed? Newly created agents of
the same kind (sort) are indistinguishable.</p>
      <p>Additionally, to simplify matters it is assumed that creation is local to an agent, i.e., agent
interaction does not involve creation.
3.1</p>
      <p>Static structure of coloured hypernets
Let us start by relaxing the Def. 1 by allowing transitions in a module to have at most one
precondition and exactly one post-condition (to allow creation of tokens). The notion of agent given
in Def. 2 remains unchanged. The definition of hypernet is modified as follows.
Definition 9. A coloured Petri hypernet is a finite family N of agents together with sorting, i.e.,
a function σ : N → Σ that assigns to each agent its sort. Given α, for any t ∈ TN if preαA(t) = ∅ for
some A ∈ N then t ∈ TA′ with A′ ∈ N implies A = A′ . Moreover, for any β ∈ Σ the post-condition
postβA(t) is a location, and and if preβA(t) exists then preβA(t) is a location as well.
Thus, the restriction imposed on hypernets is that if a transition of an agent lacks a pre-condition
in one of its modules then this is a private transition of that agent. Moreover, such transition
has only locations as pre- and post-conditions. This assumption has important consequences. Now
every consortium related to agent creating transition consists of a singleton active agent.
In hypernets every agent has a sort assigned to it. We have postulated that agents which are
created are unstructured, so let us refer to any such agent by means of its sort. This also allows
to capture the postulate that created agents are indistinguishable: three such agents of sort σ will
be represented as 3 · σ.</p>
      <p>As a consequence of the above decision one has to modify the notion of hypermarking to allow
both: distinguishable and indistinguishable agents in locations.</p>
      <p>Definition 10. The state of a coloured hypernet, called hypermarking, consists of a sort-preserving
partial function μ : N ⇀ P N and a function ν : PN → N.</p>
      <p>Thus, the old notion is extended by another component that simply counts how many unstructured
tokens are stored in each location.
3.3</p>
      <p>Coloured tokens and consortia
Since created agents are unstructured they cannot play the rˆole of active agents. Thus, the notion
of consortium for coloured hypernets is almost identical to the basic notion introduced in Def. 6.</p>
      <p>The only difference is that now we require that the token choice function ξ for the triple
Γ = (t, T , ξ) is partial. The idea here is that if ξ(p) is undefined for some p ∈ In(Γ ) then implicitly
an unstructured agent is chosen.</p>
      <p>Note also, that the idea of communication flow between agents involves only structured agents.
Hence, the definition of flow in Γ , Def. 5, and the definition of consortium, Def. 6, stays the same.
The same remark applies to the notion of chain of flow, cf. Def. 7.</p>
      <p>Whence, Prop. 1 holds without change, whereas Prop. 2 in case of coloured Petri hypernets
needs minute modification.</p>
      <p>Proposition 3. Each consortium Γ = (t, T , ξ) induces a sort-preserving injection trgΓ : In(Γ ) →
Out(Γ ) where trgΓ (p) = q iff there is a κ-chain of flow c in Γ , where κ = σ(p), such that
p = preκ(c) and q = postκ(c). Moreover, for p ∈ In(Γ ) if trgΓ (p) ∈ In(Γ ) then trgΓ (p) = p.
Proof. The same arguments as in the proof of Prop. 2.
2
The only difference between the above and Prop. 2 is that now we cannot claim that trgΓ is
a bijection, since in the presence of agent creating transitions the caridnality of In(Γ ) could be
smaller than that of Out(Γ ). Thus, a simple modification allows to define the dynamics of coloured
Petri hypernets as follows.</p>
      <p>Definition 11. Let (μ, ν) be a hypermarking of cPH N with μ : N ⇀ P N and ν : PN → N.
Consider consortium Γ = (t, T , ξ). Then Γ is enabled at (μ, ν), notation (μ, ν)[Γ i, if for all
p ∈ In(Γ ) either μ(ξ(p)) = p when ξ(p)-defined, or ν(p) &gt; 0 when ξ(p)-undefined.
Γ enabled at (μ, ν) can fire, yielding a new hypermarking (μ′ , ν′ ) defined as follows.
 νq + 1 q ∈ Out(Γ ) \ In(Γ ) \ trgΓ ({p ∈ In(Γ ) | ξ(p)-defined })
ν′ q =  νq − 1 q ∈ In(Γ ) \ Out(Γ ) ∧ ξ(q)-undefined</p>
      <p> νq otherwise
The correctness of the above definition stems from Prop. 2.
board
board
c2
agents. The effect of firing nT twice in a row from the given state is shown on Fig. 7.</p>
      <p>P1
P1
land
land
deplane
lg
deplane
lg
refuel</p>
      <p>hall
A
A
refuel
hall
board</p>
      <p>bg
board</p>
      <p>bg
board
c1 deplane
board
c2
deplane</p>
    </sec>
    <sec id="sec-4">
      <title>From coloured Petri hypernets to P/T nets</title>
      <p>
        In this section we show that the semantics of coloured Petri hypernets can be explained by means
of finite P/T nets, cf. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The construction is done in two stages.
      </p>
      <p>First, to each coloured hypernet H = (N , σ) we associate an unmarked Petri net NH . Second,
to each hypermarking (μ, ν) of H we associate a marking M(μ,ν) of NH in such a way that the
dynamic evolution of H from (μ, ν) is isomorphic to the dynamic evolution of NH with M(μ,ν) as
an initial marking.
4.1</p>
      <p>Structural expansion of coloured Petri hypernets
Let H = (N , σ) be a coloured hypernet. Define NH = (P, T , F ) as follows.</p>
      <p>Places P = CH ∪ BH where</p>
      <p>CH =b {hpi | p ∈ S {PA | A ∈ N } },
BH =b {hp, Ai | σ(p) = σ(A), A ∈ N , p ∈ PN }.</p>
      <p>We assume that CH ∩ BH = ∅.</p>
      <p>The intended meaning:
– Place hp, Ai is used to mark presence of agent A at p in H.</p>
      <p>– Place hpi is used to count the number of indistinguishable agents at p in H.
Transitions T =b {Γ | Γ is a consortium of H }.</p>
      <p>Flow relation F ⊆ P × T ∪ T × P defined as follows.</p>
      <p>Let Γ = (t, T , ξ) be a consortium in H. Then
F (hp, Ai, Γ ) iff p ∈ In(Γ ) and ξ(p) = A
F (Γ, hp, Ai) iff p ∈ Out(Γ ) and ξ(trgΓ−1(p)) = A.</p>
      <p>F (hpi, Γ ) iff p ∈ In(Γ ) and ξ(p)-undefined</p>
      <p>F (Γ, hpi) iff p ∈ Out(Γ ) \ trgΓ (In(Γ )) or ξ(trgΓ−1(p))-undefined.</p>
      <p>Thus, each location p of H is modeled in NH by a number of copies. First, there is hp, Ai for each
agent A of an appropriate sort. Secondly, there is hpi to cope with the indistinguishable agents
that can be stored in p.</p>
      <p>
        Just as in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] consortia become transitions of the resulting net. Each consortium contains
detailed information about the rˆole of its active and passive agents, including the rˆole of passive
indistinguishable agents. This, on the basis of Prop. 3 and Def. 11, is reflected in the definition of
flow of NH above.
      </p>
      <p>The effect of structural expansion of coloured hypernet from Fig. 6 gives rise to the marking
depicted on Fig. 8.</p>
      <p>deplane
board
&lt;hall&gt;</p>
      <p>&lt;c1&gt;
board
deplane
refuel</p>
      <p>refuel
&lt;bg,P2&gt;</p>
      <sec id="sec-4-1">
        <title>Let (μ, ν) be a coloured hypermarking on H. Define marking M(μ,ν) : P → N of the corresponding</title>
        <p>Petri net PH as follows.</p>
        <p>M(μ,ν)hp, Ai =</p>
        <p>M(μ,ν)hpi = νp
1 μA = p
0 μA 6= p</p>
        <p>It is not true that every marking on NH can be obtained from a hypermarking by the above
construction. For instance, markings of the form M(μ,ν) satisfy.</p>
        <p>M hp, Ai ≤ 1 and (∀p, q ∈ PN ) M hp, Ai = 1 = M hq, Ai ⇒ p = q
If, however, a marking of NH satisfies (5) then the converse construction can be given as follows.
μM A = p, provided M hp, Ai = 1
νM p = M hpi
It should be evident that together the constructions define a bijection between hypermarkings of
coloured Petri hypernet H and markings of NH that satisfy (5). From this observation the main
result follows easily.
(3)
(4)
(5)
(6)
(7)
Theorem 1. The hyper-case graph of a marked coloured hypernet is isomorphic to the case graph
of the corresponding Petri net system.</p>
        <p>Proof. Let H be a coloured Petri hypernet with hypermarking (μ, ν).</p>
        <p>Then (μ, ν)[Γ i in H iff M(μ,ν)[Γ i in NH .</p>
      </sec>
      <sec id="sec-4-2">
        <title>Moreover, M [Γ iM ′ in NH and M satisfies (5) then M ′ satisfies (5) as well.</title>
      </sec>
      <sec id="sec-4-3">
        <title>So the result follows since (μ, ν)[Γ i(μ′ , ν′ ) in H implies M(μ,ν)[Γ iM(μ′ ,ν′ ) in NH holds by</title>
        <p>construction for an arbitrary consortium Γ of H. 2</p>
        <p>On the basis of the above one can easily reduce the problem of reachability of a hypermarking
from a given one to the problem of reachability in the world of P/T net systems. Since the latter
is decidable, it follows that so is the former.</p>
        <p>Corollary 1. The reachability problem for coloured Petri hypernets is decidable.
Clearly, the corollary has philospohical rather than practical impact since the complexity of the
decidability procedure is very high. Additionally, the process of expansion could blow up the size
of the hypernet.</p>
        <p>The marked coloured hypernet from Fig. 7 gives rise to the marking depicted on Fig. 9 in the
expanded version.</p>
        <p>deplane
board
&lt;hall&gt;</p>
        <p>&lt;c1&gt;
board
deplane
refuel</p>
        <p>refuel</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and future work</title>
      <p>
        Petri hypernets were introduced inside the nets-within-nets paradigm in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] as a visual framework
suitable for modeling mobility of agents. The main difference with other approaches to mobility
based on Petri nets is that in hypernets the hierarchy of agents may evolve.
      </p>
      <p>
        The individual agent semantics of hypernets (each agent is identifiable) is another difference
between hypernets and other models. The choice of this semantics leads to a logic in which the
dynamic and structural properties of agents can be expressed and model checked as proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] the authors explained Petri hypernets by means of a translation into 1-safe Petri nets. This
translation not only shows that hypernets are well rooted inside the theory of Petri nets. Besides
this foundational aspect, the translation allows us to apply the rich set of techniques and algorithms
developed over the years for analyzing 1-safe nets (see, for example, [
        <xref ref-type="bibr" rid="ref12 ref6">6, 12</xref>
        ]). Among them, we find
algorithms to check liveness, reachability of a place or of a marking, fairness properties, and so on.
The family of methods based on the computation of place- and transition-invariants can then be
applied in order, for instance, to check safety properties of a hypernet.
      </p>
      <p>In this note an extension of Petri hypernets was introduced which allows creation of agents
with empty structure. To bound the name space of the objects in the formalism we have imposed
restriction that any two such agents of the same kind (sort) are not distinguishable.</p>
      <p>With this assumption it was possible to provide a translation of the extended class of hypernets
to P/T nets. Again, the translation establishes an isomorphism between states of a hypernet and
a class of reachable markings of the corresponding P/T net. Thus, again, one can apply the theory
developed to study P/T nets to cope with this class of hypernets.</p>
      <p>
        Concerning future work—it seems that there should be no problem to allow
consumption/destruction of agents together with creation. It seems, however, that this may be done in several ways.
Here, the question to answer is: What happens to sub-agents of an agent if the latter is destroyed?
We plan also to investigate extensions of logic developed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] to hypernets with agent creation.
      </p>
      <p>
        Formalisms based on the nets-within-nets paradigm often fall victims of undecidability of
fundamental problems, like reachability. We plan to compare our approach with some of them, e.g., [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
to better understand the reasons.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Marek</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Bednarczyk</surname>
            , Luca Bernardinello, Wiesław Pawłowski, and
            <given-names>Lucia</given-names>
          </string-name>
          <string-name>
            <surname>Pomello</surname>
          </string-name>
          .
          <article-title>From Petri hypernets to 1-safe nets</article-title>
          . In Daniel Moldt, editor,
          <source>Proceedings of the 4th International Workshop on Modelling of Objects</source>
          , Components, and Agents,
          <source>MOCA'06</source>
          , volume Bericht 272,
          <string-name>
            <surname>FBI-HH-</surname>
          </string-name>
          B-
          <volume>272</volume>
          /06, pages
          <fpage>23</fpage>
          -
          <lpage>43</lpage>
          . Department fu¨r Informatik,
          <source>Universit¨at Hamburg</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Marek</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Bednarczyk</surname>
            , Luca Bernardinello, Wiesław Pawłowski, and
            <given-names>Lucia</given-names>
          </string-name>
          <string-name>
            <surname>Pomello</surname>
          </string-name>
          .
          <article-title>Modelling mobility with Petri hypernets</article-title>
          . In Jos´e Luiz Fiadeiro,
          <string-name>
            <surname>Peter D. Mosses</surname>
          </string-name>
          , and Fernando Orejas, editors,
          <source>Recent Trends in Algebraic Development Techniques. 17th International Workshop WADT</source>
          <year>2004</year>
          , Barcelona, Spain, March
          <volume>27</volume>
          -30,
          <year>2004</year>
          .
          <source>Revised Selected Papers</source>
          , volume
          <volume>3423</volume>
          <source>of LNCS</source>
          , pages
          <fpage>28</fpage>
          -
          <lpage>44</lpage>
          . SpringerVerlag,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Marek</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Bednarczyk and Andrzej M. Borzyszkowski</surname>
          </string-name>
          .
          <article-title>On concurrent realization of reactive systems and their morphisms</article-title>
          .
          <source>In Hartmut Ehrig</source>
          , Gabriel Juh´as, Julia Padberg, and Grzegorz Rozenberg, editors,
          <source>Unifying Petri Nets</source>
          , volume
          <volume>2128</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>346</fpage>
          -
          <lpage>379</lpage>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Marek</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Bednarczyk</surname>
            , Wojciech Jamroga, and
            <given-names>Wiesław</given-names>
          </string-name>
          <string-name>
            <surname>Pawłowski</surname>
          </string-name>
          .
          <article-title>Expressing and verifying temporal and structural properties of mobile agents</article-title>
          . In Ludwik Czaja, editor,
          <source>Proceedings of the Concurrency, Specification and Programming Workshop CS&amp;P'05</source>
          , pages
          <fpage>57</fpage>
          -
          <lpage>68</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Luca</given-names>
            <surname>Bernardinello</surname>
          </string-name>
          .
          <article-title>Synthesis of net systems</article-title>
          . In Marco Ajmone Marsan, editor,
          <source>Application and Theory of Petri Nets</source>
          , volume
          <volume>691</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>89</fpage>
          -
          <lpage>105</lpage>
          . Springer,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Javier</given-names>
            <surname>Esparza</surname>
          </string-name>
          .
          <article-title>Decidability and complexity of Petri net problems - an introduction</article-title>
          .
          <source>In Reisig and Rozenberg [12]</source>
          , pages
          <fpage>374</fpage>
          -
          <lpage>428</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Michael</surname>
            <given-names>K</given-names>
          </string-name>
          <article-title>¨ohler</article-title>
          and
          <string-name>
            <surname>Heiko R</surname>
          </string-name>
          <article-title>¨olke. Properties of object Petri nets</article-title>
          . In Wil van der Aalst and Eike Best, editors,
          <source>Applications and Theory of Petri Nets</source>
          <year>2004</year>
          , Proceedings, volume
          <volume>3099</volume>
          <source>of LNCS</source>
          , pages
          <fpage>278</fpage>
          -
          <lpage>297</lpage>
          . Springer-Verlag,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Kummer</surname>
          </string-name>
          .
          <article-title>Undecidability in object-oriented Petri nets</article-title>
          .
          <source>Petri Net Newsletter</source>
          ,
          <volume>59</volume>
          :
          <fpage>18</fpage>
          -
          <lpage>23</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Olaf</given-names>
            <surname>Kummer</surname>
          </string-name>
          , Frank Wienberg,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Duvigneau</surname>
          </string-name>
          , J¨orn Schumacher,
          <article-title>Michael K¨ohler</article-title>
          , Daniel Moldt, Heiko R¨olke, and
          <article-title>Ru¨diger Valk. An extensible editor and simulation engine for petri nets: Renew</article-title>
          . In Jordi Cortadella and Wolfgang Reisig, editors,
          <source>ICATPN</source>
          , volume
          <volume>3099</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>484</fpage>
          -
          <lpage>493</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Irina</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Lomazova</surname>
          </string-name>
          .
          <article-title>Nested petri nets - a formalism for specification of multi-agent distributed systems</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>43</volume>
          ((
          <issue>1-4</issue>
          )):
          <fpage>195</fpage>
          -
          <lpage>214</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Irina</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Lomazova</surname>
            and
            <given-names>Philippe</given-names>
          </string-name>
          <string-name>
            <surname>Schnoebelen</surname>
          </string-name>
          .
          <article-title>Some decidability results for nested petri nets</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          ,
          <volume>1755</volume>
          :
          <fpage>208</fpage>
          -
          <lpage>220</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Reisig</surname>
          </string-name>
          and Grzegorz Rozenberg, editors.
          <source>Lectures on Petri Nets I: Basic Models, Advances in Petri Nets</source>
          , volume
          <volume>1491</volume>
          <source>of LNCS</source>
          . Springer,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Ru¨diger Valk.
          <article-title>On processes of object Petri nets</article-title>
          .
          <source>Technical Report FB-185</source>
          ,
          <string-name>
            <surname>Fachbereich</surname>
            <given-names>Informatik</given-names>
          </string-name>
          , Universit¨at Hamburg,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>