<!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>Robustness: A natural Definition based on Nets-within-Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Köhler-Bussmeier</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lorenzo Capra</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Informatica, Università degli Studi di Milano -</institution>
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Hamburg University of Applied Sciences</institution>
          ,
          <addr-line>Berliner Tor 7, D-20099 Hamburg</addr-line>
        </aff>
      </contrib-group>
      <fpage>70</fpage>
      <lpage>87</lpage>
      <abstract>
        <p>In modern distributed systems robustness is a major requirement. In previous work on availability, the analysis required an additional model part that specifies the assumptions about where in the model there are areas of unreliability. So, there are two models: the system itself and the error model. The error model usually requires specific domain knowledge. Therefore, the approach is not applicable outof-the-box. Instead, we like to derive an error model directly from the system model. We will show that for Elementary Object Systems we have a natural candidate to describe such a localised area of failure: the net-tokens. They are clearly localised and can be understood as computational entities (like containers in Kubernetes).</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Robustness</kwd>
        <kwd>nets within nets</kwd>
        <kwd>nets as tokens</kwd>
        <kwd>multi-agent systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>identify these sub-nets as the whole structure does not provide clear hints to identify them.1</p>
      <p>
        Our main goal is to derive the computational units directly from the system model – without
the use of domain knowledge. For Nets-within-Nets as proposed by Valk [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we have a natural
candidate to describe such a localised service: the net-tokens. They are clearly localized and
can be understood as computational entities. This idea is also applicable to other models having
an explicit notion of computational context, like the Ambient Calculus [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or the  -calculus [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
But, for most formalisms the borderlines of computational contexts are not that obvious and
usually have to be identified with the modeller’s help.
      </p>
      <p>After we have identified net-tokens as computational units it is straightforward to define
robustness: Robustness means that the system still provides its service even when one or
more units are malfunctioning. Here, we model a malfunction by a complete deactivation of
a net-token, which provides no observable inner activity any more. To formally express the
crash-failure of computational units we define a state space extension where we have so called
crash or break-down events.</p>
      <p>
        Our main application area are multi-agent systems (MAS). The first author uses
nets-withinnets to specify adaptivity of agents in the context MAS-organisations [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] where one considers
large-scale and and agent-independent aspects of MAS, like roles, norms, positions, interaction
protocols etc. His MAS-organisation framework Sonar [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is based on Petri nets, which
facilitates the definition of the semantics as well as the analysis. For these Sonar-MAS the
agents are modelled as net-tokens within the overall MAS organisation net. The natural unit to
break-down is an agent (i.e. a net-token), so our concept of robustness fits well here.
      </p>
      <p>
        We like to mention some limitations of our idea: Obviously, our let it crash assumption is not
fulfilled in general; but it matches with our main research area, i.e., adaptive agents, where agent
is any active computational entity, like services, containers, mobile devices, etc. Additionally,
we admit that for a quantitative analysis, like in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a fault-model is still needed.
      </p>
      <p>The paper has the following structure. Section 2 introduces base nets-within-nets (Eos).
Section 3 defines the concept of robustness for Eos: The definition extends the reachability
graph with additional events that model a break-down. In Section 4 we show that this semantic
extension can be characterized syntactically by a slight modification of the Eos structure. The
work closes with a conclusion and outlook.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Nets-within-Nets, EOS</title>
      <p>
        Object nets [
        <xref ref-type="bibr" rid="ref13 ref14 ref15">13, 14, 15</xref>
        ], follow the nets-within-nets paradigm as proposed by Valk [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Other approaches adapting the nets-within-nets approach are nested nets [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], mobile
predicate/transition nets [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], Reference nets [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], PN2 [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], hypernets [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], and adaptive workflow
nets [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. There are relationships to Rewritable Petri nets [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] and Reconfigurable Petri Nets
[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. Object Nets can be seen as the Petri net perspective on contextual change, in contrast to
the Ambient Calculus [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or the  -calculus [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which form the process algebra perspective.
      </p>
      <p>1Sometimes we consider Petri nets that have a compositional structure, like workflows with AND-splits or
OR-choices; or we can identify an refinement structure. In these cases we can identify at least sub-structures,
which are candidates for these computational units. However, there is no one-to-one correspondence between the
sub-structures and the concept of a computational unit.</p>
      <p>
        With nets-within-nets we study Petri nets where tokens are Petri nets in turn, i.e., we have
nested markings. For the class of elementary object net systems (Eos), we restrict the nesting
to two levels [
        <xref ref-type="bibr" rid="ref13 ref15">13, 15</xref>
        ]. Events are also nested: We have three diferent kinds of events – as
illustrated by the example given in Figure 1:
1. System-autonomous: The system net transition ̂︀fires autonomously, which moves the
̂︀
      </p>
      <p>̂︀
net-token from 1 to 2 without changing its marking.
1 to 2. The object net remains at its location 1.</p>
      <p>̂︀
2. Object autonomous: The object net fires transition 1 by “moving” the black token from
3. Synchronisation: Whenever we add matching synchronisation inscriptions at the system
synchronisation is specified, autonomous actions are forbidden.
net transition ̂︀and the object net transition 1, then both must fire synchronously: The
object net is moved to ̂︀2 whereas the black token moves from 1 to 2 inside. Whenever
since ̂︀ ̸∈  .</p>
      <p>An elementary object system (Eos) is composed of a system net, which is a p/t net ̂︀ =
(̂︀, ̂︀, pre, post), and a set of object nets  = {1, . . . , }, which are p/t nets given as
 = ( ,  , pre , post ), where  ∈  . We assume ̂︀ ̸∈  and the existence of the
empty object net ∙ ∈  , which models black tokens. The system net places are typed by the
mapping  : ̂︀ →  meaning that a place ̂︀ ∈ ̂︀ of the system net may only contain net-tokens
of the object net type (̂︀) =  . No place of the system net is mapped to the system net itself</p>
      <p>Since the tokens of an Eos are instances of object nets, a marking of an Eos is a nested multiset.
A marking of an Eos OS is denoted  = ∑︀
where − 1( ) ⊆ ̂︀ is the set of system net places of the type  :
also denoted as  = ∑︀
and  is the marking of a net-token with type (̂︀). To emphasise the nesting, markings are
The set of all markings which are syntactically consistent with the typing  is denoted ℳ,
=1 ̂︀[]. For example, the marking show in Fig. 1 is  = ̂︀1[1].</p>
      <p>=1(̂︀, ), where ̂︀ is a place of the system net
ℳ := MS
︁( ⋃︁
∈
︀( − 1( ) ×
ple OS = (̂︀ ,  , , Θ,  0), where:</p>
      <sec id="sec-2-1">
        <title>1. ̂︀ is a p/t net, called the system net.</title>
        <sec id="sec-2-1-1">
          <title>4. Θ is the set of events.</title>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>5.  0 ∈ ℳ is the initial marking.</title>
      </sec>
      <sec id="sec-2-3">
        <title>2.  is a finite set of p/t nets, called</title>
      </sec>
      <sec id="sec-2-4">
        <title>3.  : ̂︀ →  is the typing of the system net places.</title>
        <p>More details – e.g. the firing rule  →−− OS</p>
        <p>object nets, with disjoint set of nodes.</p>
        <p>
          ′ – are given in the appendix. For a in-depth
presentation of Eos cf. [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Most problems for safe Eos (in which place markings [] are
sets) are PSpace-complete [
          <xref ref-type="bibr" rid="ref15 ref24 ref25">24, 25, 15</xref>
          ]. More precisely: All problems that are expressible in LTL
or CTL, which includes reachability and liveness, are PSpace-complete. This means that with
respect to these problems safe Eos are no more complex than P/T nets.
        </p>
        <p>
          For Hornets we extend object nets with algebraic concepts that allow to modify the structure
of the net-tokens as a result of a firing transition. The complexity for safe, elementary Hornets
is beyond PSpace: We have shown that “the reachability problem requires exponential space”
for safe, elementary Hornets [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. In [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] we give an algorithm that needs at most exponential
space, which shows that lower and upper bound coincide.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Defining Robustness for EOS</title>
      <p>
        We have a very simple idea: The most natural unit of computation in a Eos is easy to identify –
it is a net-token. We assume that each computational unit may fail during the execution. This
idea also applies to other models having an explicit notion of computational context, like the
Ambient Calculus [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or the  -calculus [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. For other formalism the borderlines of computational
contexts are not that obvious and usually have to be identified with the modeller’s help.
      </p>
      <p>Assume a given Eos OS = (̂︀ ,  , , Θ,  0). Its reachability graph RG (OS ) defines the
behaviour in the absence of failures, i.e. the reachability graph is the state space for  = 0
break-downs.</p>
      <p>̂︀</p>
      <p>In the following we assume break-downs. We tag markings  with the number  of
breakdowns and denote this as the pair ⟨,  ⟩.</p>
      <p>For technical convenience, we assume that transitions in object nets have a non-empty
preset, so, the empty marking disables object-autonomous events and synchronisations. As a
consequence, a break-down is like an enforced deadlock in the net-token.2</p>
      <p>We have additional break-down edges that connect the level  with  + 1; a break down edge
models the fact that we have one more break-down in the system. A break-down picks some
net-token [ ] and disables it by setting the net-token’s marking to 0:</p>
      <p>+1 := {(⟨,  ⟩, ⟨ ′,  + 1⟩) | ∃ ′′ :  = ̂︀[ ] +  ′′ ∧  ̸= 0 ∧  ′ = ̂︀[0] +  ′′}
For technical convenience we define 0 := ∅.</p>
      <p>We define  as the nodes of level . For  = 0 we have the reachable markings. For  &gt; 0
we have all markings reachable from a marking after the last break-down:
0
=
{⟨, 0⟩ |  →0− *  }
(2)
2If one wishes to distinguish between a deadlock and a break-down, we have to ensure that net-tokens do not
+1
=</p>
      <p>{⟨ ′′,  + 1⟩ | (⟨,  ⟩, ⟨ ′,  + 1⟩) ∈ +1 ∧  →′− *  ′′}
We define the edges of level  as:
 := {(⟨,  ⟩, ⟨ ′, ⟩) |  →−
  ′}</p>
      <p>Each sub-graph (, ) contains all the node of the same level  and these sub-graphs are
disjoint, since there are no edges from a higher level to a lower level, i.e. the level is increased
sion of OS up to level  or the -failure extension.</p>
      <p>The graph RG * (OS ) := ( * , * ) where  * := ⋃︀
︁( ⋃︀</p>
      <p>=0 , ⋃︀
the * -failure extension.</p>
      <p>︁)
=0( ∪ ) is called the failure
exten≥ 0  and * = ⋃︀
≥ 0( ∪ ) is called</p>
      <p>Note, that RG (OS ) is isomorphic to RG 0(OS ) as we only have to remove the tag 0 from
the nodes.</p>
      <p>Due to the explicit notion of levels in the marking ⟨,  ⟩ the structure of RG (OS ) is a chain
of sub-graphs (, ); these sub-graphs are linked by the breakdown edges . Schematically:
(0, 0→)−− −
1 (1, 1→)−− − · · ·
2
→−− −
 (, )</p>
      <sec id="sec-3-1">
        <title>Proposition 1. Whenever a firing sequence that is enabled within the sub-graph (+1, +1) it is enabled within (, ), too.</title>
        <p>′ = ̂︀[0] +  ′′, i.e. by a break-down of the net-token [ ].
̂︀</p>
        <p>We use the following partial-order  ⪯  on nested multi-sets:
Proof The central observation is that we must have a break-down connection between the two
sub-graph (, ) and (+1, +1). In this case, we modify the marking  = ̂︀[] +  ′′ into
∑︀=1 ̂︀
[] ⪯
∑︀=1 ̂︀ [ ] ⇐⇒
∃ injection  : {1, ..., } → {1, ..., } :
∀1 ≤  ≤  : ̂︀ = ̂︀() ∧  ≤ ()</p>
        <p>As we have shown in [15, Lemma 5.1] that he firing rule is monotonous w.r.t. the order ⪯ .
Obviously, we have</p>
        <p>∈ ,  ′ ∈ +1 and  ′ ⪯  for the markings given above. Whenever
 ′ enables a sequence in (+1, +1) then  enables this sequence in (+1, +1), too. Since
we have obtained (+1, +1) from (, ) by setting some net-token’s marking to 0, the
sequence is enabled in (, ), too.
qed.</p>
        <p>We can also describe the behaviour in the limit, i.e. for  →
∞: For each increase of the
level we have one more break-down. So, if we consider the sub-graph (, ) for very large
, we usually have that all net-tokens are down. In this case the net-tokens do not enable
object-autonomous events any more and also no synchronous events are possible; only
systemautonomous events are possible. Thus, in the limit the Eos behaves like the system net ̂︀ when
considered as a p/t net. Technically we obtain this behaviour by the projection Π1, which maps
a marking  to the multiset of system net places.
3.1. The semantic definition of robustness
The semantic definition of robustness uses our definition of the reachability graph extended
with break-downs. We introduce a hierarchy for satisfiability by restricting the numbers of
break-down events: The usual satisfiability of a property  considers the normal reachability
graph RG 0(OS ); whenever we extend the reachability graph towards RG 1(OS ) we check
whether the property can withstand a break-down of at most one net-token. We can generalise
this idea to an arbitrary number  of break-down events.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Definition 3 (Robustness). A property  is satisfied -robustly by the Eos OS if  holds in</title>
        <p>RG (OS ). This is denoted by OS ,  0 |= , or short:  0 |=  wheneverOS is clear from the
context.</p>
        <sec id="sec-3-2-1">
          <title>A property  is satisfied * -robustly by the Eos OS if  holds in RG * (OS ). This is denoted by</title>
          <p>0 |=* .</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Fact 1. Note, that a property  holds for an Eos OS if  is 0-robust, since RG (OS ) ≃ RG 0.</title>
          <p>In general, a property  that is satisfied -robustly will not be satisfied  + 1-robustly.
Especially, a property  that is satisfied by an Eos (0-robustly) is not satisfied 1-robustly, i.e., in
general even one break-down destroys the property . Liveness of the Eos is a typical example.
In other words: robustness does not come for free. Usually the Eos model has to take care to
satisfy a property -robustly, e.g., by having model parts that will restart crashed net-tokens in
a well-defined state.</p>
          <p>
            An example for a property  that is satisfied even * -robustly is safeness [
            <xref ref-type="bibr" rid="ref24">24</xref>
            ], i.e., the property
that there is at most one net-token on each place in the system net. This is due to the fact that a
break-down modifies the marking  in a way that does not change the projection Π1( ) to the
system net and, consequently, does not enable any ‘unseen’ transition of the system net.
          </p>
          <p>
            In our context of organisational multi-agent systems the notion of robustness allows us to
specify two central classes of properties:
• Flexibility/Adaptivity: The MAS has the possibility to react to changes in the environment
(here: break-downs of other agents) to re-establish a desired property  is expressed as
OS ,  0 |=* AGEF – the usual liveness property in CTL [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ].
• Resilience: The system always stays in a ‘safe’ region of the state space – even in the
presence of break-downs of other agents – is expressed as OS ,  0 |=* AG – a classical
invariant property (aka as a safety property).
          </p>
          <p>
            A structural property for the system net is derived from the net topology only. The classical
example are net-invariants. A structural invariant holds for any initial marking and not only a
given one (cf. [
            <xref ref-type="bibr" rid="ref29">29</xref>
            ] for the discussion between invariants and structural invariants).
          </p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Fact 2. A structural property is independent from the net-tokens’ markings and therefore *</title>
          <p>robust.</p>
          <p>Another interesting question is whether we can tolerate break-downs using redundancy,
i.e., multiple copies of the net-tokens. This question is closely related to the Petri net concept
of monotonicity. A property is monotonous if it holds also for any greater initial marking. It
is well known that reachability is monotonous, while deadlock-freedom or liveness are – in
general – not (However, for the structural sub-class of free-choice nets liveness is monotonous).</p>
          <p>For monotonous properties redundancy is useful, i.e. we can add additional net-tokens to
survive knock-outs of net-tokens. Here we simply multiply the initial marking and consider
 0 +  ·  0.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Proposition 2. Let  be a monotonous property. When  holds in the initial marking  0, then</title>
        <p>is -robust in the initial marking  0 +  ·  0:
 0 |= 
=⇒</p>
        <p>( 0 +  ·  0) |= 
Proof (Sketch) We can execute at most  break-downs. So any marking  reachable from
( 0 +  ·  0) is still greater than some marking reachable from  0 only. Since the property holds
in  0 and is monotonous it holds in RG (OS ). qed.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. The Syntactical Characterisation of Robustness</title>
      <p>Our characterisation of robustness has the drawback that it is based on an extension of the
usual Petri net semantics as we extend the reachability graph. In the following, we like to show
that we can express this extension on a purely syntactical level, i.e., we modify the EosOS into
another Eos OS * with the property that the ‘normal’ reachability graph of OS * is isomorphic
to the break-down extension RG * (OS ). In this case, we can reduce the specialised analysis of
OS to an ‘normal’ analysis of OS * using existing standard tools.</p>
      <p>The main idea is quite simple (cf. Fig. 2): We apply the following construction to the Eos OS .
• We add a run-place to each object net and this run-place is attached as a side condition to
each transition .
• The run-place is initially marked with one token.
• We add a new transition  to each object net that synchronises with the environment
(via the channel ⟨of ⟩) and removes the token of the run-place.
• In the system net we add for each place  a new side transition</p>
      <p>̂︀ ̂︀̂︀, which synchronises
with .</p>
      <p>The efect of the synchronous kill-event is that the net-token is dead afterwards (but usually
contains useless tokens on the places other than the run-place). We like to establish that an
empty run-place always indicates that the net-token has broken down. In this case we could drop
the explicit tag  from the state because it is implicitly given by the number of net-tokens with
an empty run-place. However, this is not true, since the Eos firing rule ‘collects’ the net-tokens
markings from all incoming arcs and ‘distributes’ this sum over all net-tokens generated on the
outgoing arcs. For a system net transition that has, e.g., one incoming arc and two outgoing
arcs, one of the generated net-tokens must have an empty run-place. However, the net-token
should not be regarded as a break-down.</p>
      <p>We can ‘repair’ this problem in the following way: We replace each system net transition ̂︀
by a simple subnet (cf. Fig. 3) that removes the tokens from the  incoming places ̂︀ (using the
synchronisation channel ⟨of ⟩  times) and individually re-creates one token on each run-place
in each net-token on the  outgoing places ̂︀′ (using the synchronisation channel ⟨on⟩ at the
internal transitions ̂︀). We replace each system net transition with such a subnet.3 The resulting
Eos is denoted as OS * .</p>
      <p>Due to this construction, an empty run-place in a net-token (except for those net-tokens in
the intermediate place ̂︀′′ of the subnet) is equivalent to a break-down.</p>
      <p>When we consider the  intermediate transitions ̂︀ as ‘silent’ events, then the constructed
net OS * is bisimilar to the original state space OS .</p>
      <sec id="sec-4-1">
        <title>Proposition 3. The extended Eos OS * is the syntactical representation of the * -failure extension of OS , i.e. both state spaces are bisimilar: RG * (OS ) ≈ RG (OS * )</title>
        <p>With a small modification of the extended Eos OS * we can also describe the -failure
extension of OS :
• We add a global pool-place to the system net that contains exactly  black tokens.
• Each kill-transition removes one token from the global pool-place.</p>
        <p>We denote this modification of the Eos as OS .</p>
        <p>Note that after  kill-events the pool place is empty and further kill-events are disabled.
The behaviour of OS  is similar to the extension OS * except that we restrict the number of
break-downs to .</p>
        <p>3We could skip this construction for system net transitions which have exactly one place in the preset and one
in the postset.</p>
        <sec id="sec-4-1-1">
          <title>Proposition 4. The extended Eos OS  is the syntactical representation of the -failure extension</title>
          <p>of OS , i.e. both state spaces are bisimilar: RG (OS ) ≈ RG (OS )</p>
          <p>In the absence of break-downs, i.e., for  = 0, the normal semantics coincides with the
extended semantics and the given Eos coincides with its extension:
Fact 3. For  = 0 we obtain that all systems coincide: RG (OS ) ≃ RG 0(OS ) ≈ RG (OS 0).</p>
          <p>With these constructions we have reduced checking properties w.r.t. robustness to a usual
state space based query.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In this paper, we have shown that Nets-within-Nets have an intuitive representation of the
concept of a ‘computational unit’: the net-tokens. Based on this, we could define a break-down
of net-tokens and define the satisfiability of properties in the context of break-downs.</p>
      <p>Our concept of robustness relies on an extension of the state space. We provided a reduction of
this semantical definition (which extends the Petri net semantics) to a syntactical one (where we
use the usual semantics): We transformed the Eos OS into the Eos OS * such that the ‘normal’
reachability graph of OS * is bisimilar to the break-down extension RG * (OS ). Therefore, we
could still use existing tools to investigate robustness.</p>
      <p>We plan to extend the simple – though popular – let it crash-based model, e.g., by allowing
the computational units (net-tokens) to gracefully degrade.</p>
      <p>
        In future work, we will apply this notion of robustness to our multi-agent system Sonar
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], especially with a focus on the analysis of adaptivity as we have started with our previous
work on the analysis of adaption processes [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] and adapting agent architectures [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]
we used the set of diferent types of net-tokens that occur in the current marking to define
the system’s gene-pool. Our current research hypothesis is that a more diverse gene-pool in
adapting agent architectures [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] leads to more robust systems in general.
      </p>
    </sec>
    <sec id="sec-6">
      <title>A. Petri Nets</title>
      <p>The definition of Petri nets relies on the notion of multisets. A multiset m on the set  is
a mapping m :  → N. Multisets are generalisations of sets in the sense that every subset
of  corresponds to a multiset m with m() ≤ 1 for all  ∈ . The empty multiset 0
is defined as 0() = 0 for all  ∈ . Multiset addition for m1, m2 :  → N is defined
component-wise: (m1 + m2)() := m1() + m2(). Multiset-diference m1 − m2 is defined
by (m1 − m2)() := max(m1() − m2(), 0). We use common notations for the cardinality
of a multiset |m| := ∑︀∈ m() and multiset ordering m1 ≤ m2, where the partial order ≤
is defined by m1 ≤ m2 ⇐⇒ ∀ ∈  : m1() ≤ m2().</p>
      <p>A multiset m is finite if |m| &lt; ∞. The set of all finite multisets over the set  is denoted
MS (). The set MS () naturally forms a monoid with multiset addition + and the empty
multiset 0. Multisets can be identified with the commutative monoid structure (MS (), +, 0).
Multisets are the free commutative monoid over  since every multiset has the unique
representation in the form m = ∑︀∈ m() · , where m() denotes the multiplicity of . Multisets
can also be represented as a formal sum in the form m = ∑︀
=1 , where  ∈ .</p>
      <p>Any mapping  :  → ′ is extended to a multiset homomorphism  ♯ : MS () → MS (′):
 ♯ (∑︀ =1  (). This includes the special case  ♯(0) = 0. We simply write 
=1 ) = ∑︀
to denote the mapping  ♯. The notation is in accordance with the set-theoretic notation
 () = { () |  ∈ }.</p>
      <p>Definition 4. A p/t net  is a tuple  = (, , pre, post), such that  is a set of places,  is a
set of transitions, with  ∩  = ∅, and pre, post :  → MS ( ) are the pre- and post-condition
functions. A marking of  is a multiset of places: m ∈ MS ( ). A p/t net with initial marking
m0 is denoted  = (, , pre, post, m0).</p>
      <p>We use the usual notations for nets like ∙  for the set of predecessors and ∙ for the set of
successors for a node  ∈ ( ∪  ). For  ∈  we have ∙  = { ∈  | pre()() &gt; 0} and
∙ = { ∈  | post()() &gt; 0}. For  ∈  we have ∙  = { ∈  | post()() &gt; 0} and
∙ = { ∈  | pre()() &gt; 0}.</p>
      <p>A transition  ∈  of a p/t net  is enabled in marking m if ∀ ∈  : m() ≥ pre()()
holds. The successor marking when firing  is m′() = m() − pre()() + post()() for
all  ∈  . Using multiset notation enabling is expressed by m ≥ pre() and the successor
marking is m′ = m − pre() + post(). We denote the enabling of  in marking m by m →− .

Firing of  is denoted by m →− m′. The net  is omitted if it is clear from the context.</p>
      <p />
      <p>Firing is extended to sequences  ∈  * in the obvious way: (i) m→−  m; (ii) If m→−  m′
and m→′−  m′′ hold, then we have m →− m′′. We write m→− * m′ whenever there is some
 ∈  * such that m→−  m′ holds. The set of reachable markings is RS (m0) := {m | ∃ ∈
 * : m0→−  m}.</p>
    </sec>
    <sec id="sec-7">
      <title>B. Elementary Object Systems</title>
      <p>so called black tokens.</p>
      <p>An elementary object system (Eos) is composed of a system net, which is a p/t net ̂︀ =
(̂︀, ̂︀, pre, post) and a set of object nets  = {1, . . . , }, which are p/t nets given as
 = ( ,  , pre , post ), where  ∈  . In extension we assume that all sets of nodes
(places and transitions) are pairwise disjoint. Moreover we assume ̂︀ ̸∈  and the existence of
the object net ∙ ∈  , which has no places and no transitions and is used to model anonymous,
An Eos is conservative if its typing  is.</p>
      <p>Typing
type  .4 No place of the system net is mapped to the system net itself since ̂︀ ̸∈  .
a place ̂︀ ∈ ̂︀ of the system net with () =  may contain only net-tokens of the object net
̂︀</p>
      <p>The system net places are typed by the mapping  : ̂︀ →  with the meaning, that
that (̂︀) ̸= ∙ there is place in the postset being of the same type: ((∙ ̂︀)∪{∙} ) ⊆
A typing is called conservative if for each place  in the preset of a system net transition ̂︀such
̂︀
((̂︀∙ )∪{∙} ).</p>
      <p>An Eos is p/t-like if it has only places for black tokens: (̂︀) = {∙} .</p>
      <p>Nested Markings</p>
      <p>Since the tokens of an Eos are instances of object nets, a marking of an
Eos is a nested multiset. A marking of an Eos OS is denoted  = ∑︀| |
=1(̂︀, ), where ̂︀ is
(̂︀) = ∙ are abbreviated as [].</p>
      <p>̂︀
the nesting, markings are also denoted as  = ∑︀| |
a place of the system net and  is the marking of a net-token with type (̂︀). To emphasise
=1 ̂︀[]. Markings of the form ̂︀[0] with
where − 1( ) ⊆ ̂︀ is the set of system net places of the type  :</p>
      <p>The set of all markings which are syntactically consistent with the typing  is denoted ℳ,
ℳ := MS
︁( ⋃︁
⊑ on nested multisets by setting  1 ⊑  2 if ∃
 :  2 =  1 +  .</p>
      <p>We define the partial order
A more liberal variant is the order ⪯
 ⪯ 
⇐⇒
 = ∑︀ =1 ̂︀
[] ∧  = ∑︀</p>
      <p>=1 ̂︀ [ ] ∧</p>
      <p>: ̂︀ = ̂︀ () ∧  ≤  ()
For</p>
      <p>Note that 
 the injection  generates a sub-marking of 
which is denoted  ( ) =
⊑  is a special case of  ⪯  , where  ≤  () is restricted to  =  ().
4In some sense, net-tokens are object nets with its own marking. However, net-tokens should not be considered
as instances of an object net (as in object-oriented programming), since net-tokens do not have an identity. This is
reflected by the fact that the firing rule joins and distributes the net-tokens’ markings.</p>
      <p>
        Instead, all net-tokes of an object net act as a collective entity, like a group. This group can be considered as
an object with identy – an object with its state distributed over the net-tokens. For in in-depth discussion of this
semantics cf. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
(5)
(6)
Events Analogously to markings, which are nested multisets  , the events of an Eos are also
nested. An Eos allows three diferent kinds of events – as illustrated by the following Eos:
1. System-autonomous: The system net transition  fires autonomously which moves the
net-token from 1 to 2 without changing its marking.
2. Object-autonomous: The object net fires transition 1, which “moves” the black token
from 1 to 2. The object net itself remains at its location 1.
3. Synchronisation: The system net transition  fires synchronously with 1 in the object
net. Whenever synchronisation is demanded, autonomous actions are forbidden.
The set of events is denoted Θ. Events are formalised as a pair ̂︀[], where ̂︀ is either the
transition that fires in the system net or a special “idle” transition id  (cf. below); and  is a
function such that ( ) is the multiset of transitions, which have to firês︀ynchronously with ̂︀,
(i.e. for each object net  ∈  we have ( ) ∈ MS ( )).5
      </p>
      <p>In general ̂︀[] describes a synchronisation, but autonomous events are special subcases:
Obviously, a system-autonomous events is the special case, where  = 0 with 0( ) = 0 for all
object nets  . To describe an object-autonomous event we assume the set of idle transitions
{id ̂︀ | ̂︀ ∈ ̂︀}, where id  formalises object-autonomous firing on the place :
̂︀ ̂︀
1. Each idle transition id  has  as a side condition: pre(id ) = post(id ) := .</p>
      <p>̂︀ ̂︀ ̂︀ ̂︀ ̂︀
2. Each idle transition id  synchronises only with transitions from  = ():
̂︀ ̂︀
∀̂︀[] ∈ Θ : ̂︀ = id ̂︀
=⇒
∀ ∈  : (( ) ̸= 0</p>
      <p>⇐⇒  = (̂︀))</p>
      <sec id="sec-7-1">
        <title>An elementary object system (Eos) is a tu</title>
        <p>Definition 5 (Elementary Object System, EOS).
ple OS = (̂︀ ,  , , Θ,  0), where:</p>
        <sec id="sec-7-1-1">
          <title>1. ̂︀ is a p/t net, called the system net.</title>
        </sec>
        <sec id="sec-7-1-2">
          <title>2.  is a finite set of disjoint p/t nets, called object nets.</title>
        </sec>
        <sec id="sec-7-1-3">
          <title>3.  : ̂︀ →  is the typing of the system net places.</title>
        </sec>
      </sec>
      <sec id="sec-7-2">
        <title>4. Θ is the set of events.</title>
        <sec id="sec-7-2-1">
          <title>5.  0 ∈ ℳ is the initial marking.</title>
          <p>Example Figure 4 shows an Eos with the system net ̂︀ and the object nets  = {1, 2}.
The system has four net-tokens: two on place 1 and one on 2 and 3 each. The net-tokens on
̂︀ ̂︀ ̂︀
1 and 2 share the same net structure, but have independent markings.
̂︀ ̂︀</p>
          <p>5In the graphical representation the events are generated by transition inscriptions. For each object net  ∈
 a system net transition ̂︀ is labelled with a multiset of channels ̂︀(̂︀)( ) = ch1 + · · · + ch, depicted as
⟨ :ch1,  :ch2, . . .⟩. Similarily, an object net transition  may be labelled with a channel  () = ch – depicted as
⟨:ch⟩ whenver there is such a label. We obtain an event ̂︀[] by setting ( ) := 1 + · · · +  to be any transition
multiset such that the labels match:  (1) + · · · +  () = ̂︀(̂︀)( ).
The system net is ̂︀ = (̂︀, ̂︀, pre, post), where ̂︀ = {̂︀1, . . . , ̂︀6} and ̂︀ = {̂︀}.
One object net is 1 = (1, 1, pre1, post1) with 1 = {1, 1} and 1 = {1}.
Another object net is 2 = (2, 2, pre2, post2) with 2 = {2, 2, 2} and 2 = {2}.
The typing is (1) = (̂︀2) = (4) = 1 and (3) = (5) = (̂︀6) = 2.</p>
          <p>̂︀ ̂︀ ̂︀ ̂︀
The labelling generates one event: Θ = {̂︀[1 ↦→ 1, 2 ↦→ 2]}.</p>
          <p>The initial marking has two net-tokens on 1, one on 2, and one on ̂︀3:</p>
          <p>̂︀ ̂︀
 = ̂︀1[1 + 1] + ̂︀1[0] + 2[1] + 3[2 + 2]
̂︀ ̂︀</p>
          <p>Note that for Figure 4 the structure is the same for the three net-tokens on ̂︀1 and 2 but the
net-token markings are diferent. ̂︀
B.1. Firing Rule
The projection Π1 on the first component abstracts from the substructure of all net-tokens for a
marking of an Eos:</p>
          <p>Π1 (︁ ∑︁=1 ̂︀[]︁) := ∑︁=1 ̂︀</p>
          <p>The projection Π2 on the second component is the sum of all net-token markings  of the
type  ∈  , ignoring their local distribution within the system net:
Π =1 ̂︀[]︁) := ∑︁=1 1 (̂︀) · 
2 (︁ ∑︁
(7)
(8)
where the indicator function 1 : ̂︀ → {0, 1} is 1 (̂︀) = 1 if (̂︀) =  . Note that Π2 ( )
results in a marking of the object net  .</p>
          <p>A system event ̂︀[] removes net-tokens together with their individual internal markings.
Firing the event replaces a nested multiset  ∈ ℳ that is part of the current marking  , i.e.
 ⊑  , by the nested multiset  . Therefore the successor marking is  ′ := ( −  ) +  . The
enabling condition is expressed by the enabling predicate OS (or just  whenever OS is clear
from the context):
Π1( ) = pre(̂︀) ∧ Π1( ) = post(̂︀) ∧</p>
          <p>pre (( )) ∧
∀ ∈  : Π2 ( ) = Π2 ( ) − pre (( )) + post (( ))
(9)
 ∈  the predicate  has the following meaning:</p>
          <p>With ̂︁ = Π1( ) and ̂︁′ = Π1( ) as well as  = Π2 ( ) and ′ = Π2 ( ) for all
1. The first conjunct expresses that the system net multiset ̂︁ corresponds to the
precondition of the system net transition  , i.e. ̂︁ = pre( ).</p>
          <p>̂︀
̂︀
2. In turn, a multiset ̂︁′ is produced, that corresponds to the post-set of  .
3. A multi-set ( ) of object net transitions is enabled if the sum  of the net-token
̂︀
markings (of type  ) enable it, i.e.  ≥</p>
          <p>pre (( )).</p>
          <p>object net’s transitions on the net-tokens.
4. The firing of ̂︀[] must also obey the object marking distribution condition: ′ =  −
pre (( )) + post (( )), where post (( )) − pre (( )) is the efect of the
Note that conditions 1. and 2. assure that only net-tokens relevant for the firing are included
in  and  . Conditions 3. and 4. allow for additional tokens in the net-tokens.</p>
          <p>For system-autonomous events ̂︀[0] the enabling predicate  can be simplified further. We
have pre (0( )) = post (0( )) = 0. This ensures Π2 ( ) = Π2 ( ), i.e. the sum of
markings in the copies of a net-token is preserved w.r.t. each type  . This condition ensures
the existence of linear invariance properties
Π1( ). So, there is an addend  = [ ] in  with (̂︀) =  and  enables ( ).</p>
          <p>̂︀
system net and the first and the second conjunct is:</p>
          <p>Analogously, for an object-autonomous event we have an idle-transition ̂︀ = id  for the
̂︀
Π1( ) = pre(id ) =  = post(id ) =
̂︀
̂︀
enabled in  for the mode (,  ) ∈ ℳ2 if  ⊑  ∧ ( [], ,  ) holds.</p>
        </sec>
        <sec id="sec-7-2-2">
          <title>Definition 6 (Firing Rule). Let OS be an Eos and ,  ′ ∈ ℳ markings. The event  [] is</title>
          <p>An event  [] that is enabled in  for the mode (,  ) can fire: 
 ′. The resulting
̂︀
̂︀</p>
          <p>̂︀
→−− − − −
̂︀
 [](, )</p>
          <p>OS
successor marking is defined as  ′ =  −  +  .</p>
          <p>We write  →−−
 ′ whenever →− − − − −</p>
          <p>′ for some mode (,  ).
̂︀
 [](, )</p>
          <p>OS</p>
          <p>Note that the firing rule makes no a-priori assumptions about how to distribute the object
net markings onto the generated net-tokens. Therefore we need the mode (,  ) to formulate
the firing of  [] in a functional way.</p>
          <p>Example Consider the Eos of Figure 4 again. The current marking  of the Eos enables
̂︀[1 ↦→ 1, 2 ↦→ 2] in the mode (,  ), where
̂︀
̂︀</p>
          <p>̂︀
= 1[1 + 1] + 2[1] + 3[2 + 2]
= ̂︀1[0] + 1[1 + 1] + 2[1] + 3[2 + 2] = ̂︀1[0] +</p>
          <p>̂︀ ̂︀ ̂︀
= 4[1 + 1 + 1] + 5[0] + 6[2]
̂︀</p>
          <p>̂︀
̂︀</p>
          <p>The net-token markings are added by the projections Π2 resulting in the markings Π2 ( ).
The sub-synchronisation generates Π2 ( ). (The results are shown above and below the
transition ̂︀.) After the synchronisation we obtain the successor marking  ′ with net-tokens on ̂︀4,
5, and 6 as shown in Figure 5:
̂︀ ̂︀
 ′ = ( −  ) +  = ̂︀1[0] + 
= 1[0] + 4[1 + 1 + 1] + ̂︀5[0] + 6[2]</p>
          <p>̂︀ ̂︀ ̂︀
Note, that we have only presented one mode (,  ) and that other modes are possible, too.
B.2. Properties of the Firing Rule
In the following we relate those nested multisets, that coincide in their projections. The
projection of a marking  is defined as follows:</p>
          <p>Π( ) := (Π1( ), (Π2 ( ))∈ )
Obviously, there are several markings  with the same projection, i.e.  is not uniquely defined
by Π( ). The nested multisets, that coincide in their projections give rise to the equivalence
∼= ⊆ ℳ 2, called projection equivalence defined by:
 ∼= 
: ⇐⇒
⇐⇒
Π( ) = Π( )
Π1( ) = Π1( ) ∧ ∀ ∈  : Π2 ( ) = Π2 ( )</p>
          <p>The relation  ∼=  abstracts from the location, i.e. the concrete net-token, in which a object
net’s place  is marked as long as it is present in  and  . For example, for (̂︀) = (̂︀′) we
have
̂︀[1 + 2] + ′[3] ∼= ̂︀[3 + 2] + ′[1]</p>
          <p>̂︀ ̂︀
which means that ∼= allows the tokens 1 and 3 to change their locations (i.e. between ̂︀ and
′).
̂︀
(10)
(11)</p>
          <p>Since an event collects all relevant object nets of the firing mode and combines them to one
example of Figure 4. This invariance can be expressed as follows:
“virtual object net” that is only present at the moment of firing, the location of the object nets’
tokens is irrelevant and can be ignored. These virtual object nets Π2 ( ) are also shown in the
Lemma 1. The enabling predicate is invariant with respect to the relation ∼=:</p>
          <p>(̂︀[], ,  ) ⇐⇒ (∀ ′,  ′ :  ′ ∼=  ∧  ′ ∼=  =⇒ (̂︀[],  ′,  ′))
Proof From the definition of  one can see that the firing mode (,  ) is used only via its
projection by Π. Since  ′ ∼= ,  ′ ∼=  expresses equality modulo projection, the predicate 
cannot distinguish between  ′ and  , resp.  ′ and  .
□</p>
          <p>As for p/t nets the firing rule has several nice properties
• Let OS be an Eos and  a marking. The event  [] is enabled in the mode (, 
) if it is
enabled in the mode ( ′,  ′) such that  ′ ∼=  ∧  ′ ∼=  . This is an immediate consequence
̂︀
• Firing is reversible, i.e. for each Eos OS we obtain OS  by inverting the arcs and have:
• The behaviour of an Eos is a conservative extension of p/t nets in the following sense:
When one abstract from the net-tokens structure by the projection Π1, then the behaviour
of the system net in the Eos cannot be distinguished from the system net ̂︀ regarded as
a p/t net, i.e.  →−− OS
̂︀[]
→−
components separately.
• The invariance calculus for p/t nets can be extended to Eos in a compositional way,
i.e. invariance equations can be obtained from the invariance equations of the constituent</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Micalizio</surname>
          </string-name>
          ,
          <article-title>Fragility and robustness in multiagent systems</article-title>
          , in: C.
          <string-name>
            <surname>Baroglio</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Hubner</surname>
          </string-name>
          , M. Winikof (Eds.),
          <article-title>Engineering Multi-Agent Systems</article-title>
          .
          <source>EMAS</source>
          <year>2020</year>
          , volume
          <volume>12589</volume>
          of Lecture Notes in Computer Science, Springer-Verlag,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Müller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <article-title>Availability analysis of the ONOS architecture</article-title>
          , in: E. Kindler,
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          , H. Rölke (Eds.),
          <source>International Workshop on Petri Nets and Software Engineering</source>
          <year>2021</year>
          , volume
          <volume>2907</volume>
          <source>of CEUR Workshop Proceedings</source>
          , Aachen,
          <year>2021</year>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>64</lpage>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2907</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Capra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <article-title>A Maude formalization of object nets</article-title>
          , in: S. Bonfanti,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kobayashi</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          Perez-Palacin (Eds.),
          <source>6th International Workshop on Formal Approaches for Advanced Computing Systems, FAACS'22</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Capra</surname>
          </string-name>
          .,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Köhler-Bußmeier., Modelling adaptive systems with nets-within-nets in maude</article-title>
          ,
          <source>in: Proceedings of the 18th International Conference on Evaluation of Novel</source>
          Approaches to Software Engineering - ENASE„ INSTICC, SciTePress,
          <year>2023</year>
          , pp.
          <fpage>487</fpage>
          -
          <lpage>496</lpage>
          . doi:
          <volume>10</volume>
          .5220/0011860000003464.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.</given-names>
            <surname>Lamport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shostak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pease</surname>
          </string-name>
          ,
          <article-title>The byzantine generals problem</article-title>
          ,
          <source>ACM Transactions on Programming Languages and Systems</source>
          (
          <year>1982</year>
          )
          <fpage>382</fpage>
          -
          <lpage>401</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>W.</given-names>
            <surname>Reisig</surname>
          </string-name>
          ,
          <source>Petri Nets: An Introduction</source>
          , Springer-Verlag, Heidelberg,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Valk</surname>
          </string-name>
          ,
          <article-title>Object Petri nets: Using the nets-within-nets paradigm</article-title>
          , in: J.
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , G. Rozenberg (Eds.),
          <source>Advanced Course on Petri Nets</source>
          <year>2003</year>
          , volume
          <volume>3098</volume>
          of Lecture Notes in Computer Science, Springer-Verlag,
          <year>2003</year>
          , pp.
          <fpage>819</fpage>
          -
          <lpage>848</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Cardelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Gordon</surname>
          </string-name>
          , G. Ghelli,
          <article-title>Mobility types for mobile ambients</article-title>
          ,
          <source>in: Proceedings of the Conference on Automata, Languages, and Programming (ICALP'99)</source>
          , volume
          <volume>1644</volume>
          of Lecture Notes in Computer Science, Springer-Verlag,
          <year>1999</year>
          , pp.
          <fpage>230</fpage>
          -
          <lpage>239</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Milner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Parrow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Walker</surname>
          </string-name>
          ,
          <article-title>A calculus of mobile processes, parts 1-2</article-title>
          , Information and computation
          <volume>100</volume>
          (
          <year>1992</year>
          )
          <fpage>1</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>V.</given-names>
            <surname>Dignum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Padget</surname>
          </string-name>
          ,
          <article-title>Multiagent organizations</article-title>
          , in: G. Weiss (Ed.),
          <source>Multiagent Systems</source>
          , 2nd ed., Intelligent Robotics; Autonomous Agents Series, MIT Press,
          <year>2013</year>
          , pp.
          <fpage>51</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wester-Ebbinghaus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Moldt</surname>
          </string-name>
          ,
          <article-title>A formal model for organisational structures behind process-aware information systems</article-title>
          ,
          <source>Transactions on Petri Nets and Other Models of Concurrency. Special Issue on Concurrency in Process-Aware Information Systems</source>
          <volume>5460</volume>
          (
          <year>2009</year>
          )
          <fpage>98</fpage>
          -
          <lpage>114</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Marsan</surname>
          </string-name>
          , G. Balbo, G. Conte,
          <string-name>
            <given-names>S.</given-names>
            <surname>Donatelli</surname>
          </string-name>
          , G. Franceschinis,
          <article-title>Modelling with Generalized Stochastic Petri Nets</article-title>
          , Wiley Series in Parallel Computing, John Wiley and Sons,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Rölke</surname>
          </string-name>
          , Properties of Object Petri Nets, in: J.
          <string-name>
            <surname>Cortadella</surname>
          </string-name>
          , W. Reisig (Eds.),
          <source>International Conference on Application and Theory of Petri Nets</source>
          <year>2004</year>
          , volume
          <volume>3099</volume>
          of Lecture Notes in Computer Science, Springer-Verlag,
          <year>2004</year>
          , pp.
          <fpage>278</fpage>
          -
          <lpage>297</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Heitmann</surname>
          </string-name>
          ,
          <article-title>On the expressiveness of communication channels for object nets</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>93</volume>
          (
          <year>2009</year>
          )
          <fpage>205</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <article-title>A survey on decidability results for elementary object systems</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>130</volume>
          (
          <year>2014</year>
          )
          <fpage>99</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Lomazova</surname>
          </string-name>
          , Nested Petri nets
          <article-title>- a formalism for specification of multi-agent distributed systems</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>43</volume>
          (
          <year>2000</year>
          )
          <fpage>195</fpage>
          -
          <lpage>214</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <article-title>Modeling mobile agent systems with high level Petri nets</article-title>
          ,
          <source>in: IEEE International Conference on Systems, Man, and Cybernetics'</source>
          <year>2000</year>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kummer</surname>
          </string-name>
          , Referenznetze, Logos Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>K.</given-names>
            <surname>Hiraishi</surname>
          </string-name>
          ,
          <article-title>PN2: An elementary model for design and analysis of multi-agent systems</article-title>
          , in: F. Arbab,
          <string-name>
            <surname>C. L.</surname>
          </string-name>
          Talcott (Eds.),
          <source>Coordination Models and Languages</source>
          ,
          <string-name>
            <surname>COORDINATION</surname>
          </string-name>
          <year>2002</year>
          , volume
          <volume>2315</volume>
          of Lecture Notes in Computer Science, Springer-Verlag,
          <year>2002</year>
          , pp.
          <fpage>220</fpage>
          -
          <lpage>235</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Bednarczyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bernardinello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Pawlowski</surname>
          </string-name>
          , L. Pomello,
          <article-title>Modelling mobility with Petri hypernets</article-title>
          , in: J. L.
          <string-name>
            <surname>Fiadeiro</surname>
            ,
            <given-names>P. D.</given-names>
          </string-name>
          <string-name>
            <surname>Mosses</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Orejas</surname>
          </string-name>
          (Eds.),
          <source>Recent Trends in Algebraic Development Techniques (WADT</source>
          <year>2004</year>
          ), volume
          <volume>3423</volume>
          of Lecture Notes in Computer Science, Springer-Verlag,
          <year>2004</year>
          , pp.
          <fpage>28</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Lomazova</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. M. van Hee</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Oanea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Sidorova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Voorhoeve</surname>
          </string-name>
          ,
          <article-title>Nested nets for adaptive systems</article-title>
          ,
          <source>in: Application and Theory of Petri Nets and Other Models of Concurrency, Lecture Notes in Computer Science</source>
          , Springer-Verlag,
          <year>2006</year>
          , pp.
          <fpage>241</fpage>
          -
          <lpage>260</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>L.</given-names>
            <surname>Capra</surname>
          </string-name>
          ,
          <article-title>A maude implementation of rewritable petri nets: a feasible model for dynamically reconfigurable systems</article-title>
          , in: M.
          <string-name>
            <surname>Gleirscher</surname>
          </string-name>
          , J. v. d. Pol, J. Woodcock (Eds.),
          <source>First Workshop on Applicable Formal Methods</source>
          <year>2021</year>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J.</given-names>
            <surname>Padberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kahloul</surname>
          </string-name>
          ,
          <article-title>Overview of reconfigurable petri nets</article-title>
          , in: R. Heckel, G. Taentzer (Eds.),
          <string-name>
            <surname>Graph</surname>
            <given-names>Transformation</given-names>
          </string-name>
          , Specifications, and Nets, volume
          <volume>10800</volume>
          , Springer-Verlag,
          <year>2018</year>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>222</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Heitmann</surname>
          </string-name>
          ,
          <article-title>Safeness for object nets</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>101</volume>
          (
          <year>2010</year>
          )
          <fpage>29</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Heitmann</surname>
          </string-name>
          ,
          <article-title>Liveness of safe object nets</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>112</volume>
          (
          <year>2011</year>
          )
          <fpage>73</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <article-title>On the complexity of the reachability problem for safe, elementary Hornets</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>129</volume>
          (
          <year>2014</year>
          )
          <fpage>101</fpage>
          -
          <lpage>116</lpage>
          .
          <article-title>Dedicated to the Memory of Professor Manfred Kudlek</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Heitmann</surname>
          </string-name>
          ,
          <article-title>An upper bound for the reachability problem of safe, elementary hornets</article-title>
          ,
          <source>Fundamenta Informaticae</source>
          <volume>143</volume>
          (
          <year>2016</year>
          )
          <fpage>89</fpage>
          -
          <lpage>100</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <article-title>Temporal and modal logic</article-title>
          , volume B, MIT press,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kindler</surname>
          </string-name>
          , Invariants, composition, and substitution,
          <source>Acta Informatica</source>
          <volume>32</volume>
          (
          <year>1995</year>
          )
          <fpage>299</fpage>
          -
          <lpage>312</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Rölke</surname>
          </string-name>
          ,
          <article-title>Analysing adaption processes of Hornets</article-title>
          , in: M. KöhlerBußmeier, D. Moldt, H. Rölke (Eds.),
          <source>Petri Nets and Software Engineering</source>
          <year>2022</year>
          , PNSE'
          <volume>22</volume>
          , volume
          <volume>3170</volume>
          ,
          <string-name>
            <surname>CEUR</surname>
          </string-name>
          ,
          <year>2022</year>
          , pp.
          <fpage>80</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler-Bußmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sudeikat</surname>
          </string-name>
          ,
          <article-title>Balance vs. contingency: Adaption measures for organizational multi-agent systems</article-title>
          , in: K.
          <string-name>
            <surname>Jander</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Braubach</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          Badica (Eds.),
          <source>15th International Symposium on Intelligent Distributed Computing (IDC'22)</source>
          , volume
          <volume>1089</volume>
          <source>of Studies in Computational Intelligence</source>
          , Springer-Verlag,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>