<!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>Using Rewriting Systems for Performance Analysis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lorenzo Capra</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Gribaudo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mauro Iacono</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Köhler-Bußmeier</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hamburg University of Applied Sciences</institution>
          ,
          <addr-line>Berliner Tor 7, D-20099 Hamburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Politecnico di Milano</institution>
          ,
          <addr-line>via Ponzio 34/5, 20133 Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Università degli Studi della Campania "L. Vanvitelli"</institution>
          ,
          <addr-line>viale Lincoln 5, 81100 Caserta</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Università degli Studi di Milano</institution>
          ,
          <addr-line>via Celoria 18, 20133 Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The modeling and analysis of adaptive distributed systems, specifically those that possess (self-)reconfiguration or modification capabilities, present a considerable challenge, necessitating the use of appropriate formalisms and techniques. Traditional quantitative analysis frameworks demonstrate constrained expressiveness and should be amalgamated with innovative methodologies. Rewriting-based frameworks appear to be more suitable, despite their predominant application in formal verification. This paper examines the use of Maude as a framework for performance or probabilistic analysis in adaptive distributed systems, highlighting recent advances.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Performance evaluation</kwd>
        <kwd>distributed systems</kwd>
        <kwd>self-adaptation</kwd>
        <kwd>rewriting systems</kwd>
        <kwd>Petri nets</kwd>
        <kwd>Maude</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Analyzing and modeling adaptive distributed systems, particularly those with capabilities for (self-)
reconfiguration or modification, pose significant challenges and require the application of suitable
formalisms and techniques. Traditional quantitative analysis frameworks, including stochastic process
algebras, timed and stochastic Petri nets (PN) and timed/probabilistic automata exhibit limited
expressiveness when the system undergoes big changes during its execution. These modeling frameworks
lead to the merging of functional and non-functional elements within models, impacting scalability.
Various noteworthy extensions have been suggested, such as the  -calculus, the Ambient calculus, and
the Nets-within-Nets paradigm. However, these extensions have not been well-supported by tools and
eficient analysis features. Systems based on rewriting, especially Graph Transformation Systems, are
more suitable, but they are mainly used for formal verification. This paper explores the utilization
of Maude as a framework for performance or probabilistic analysis in adaptive distributed systems,
focusing on recent progress.</p>
      <p>
        Maude [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a purely declarative language with high performance and sound rewriting logic semantics
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. It achieves eficiency and expressiveness through pattern-matching modulo operator attributes,
subtyping, partiality, generic types, and reflection. A Maude system module is an executable specification
for a distributed system. The Maude runtime engine provides various facilities for model checking,
verification of LTL formulae, infinite-state analysis, and symbolic reachability analysis. Furthermore,
Maude has been used as a logical framework for other formalisms, such as Petri Nets (PN), Automata,
and Process Algebra. These formalisms, though powerful, lack the necessary features for modeling
adaptable systems intuitively.
      </p>
      <p>
        Maude possesses intuitive rewriting semantics. Statements are classified as equations (utilized as
simplifications) or rewrite rules (representing local concurrent transitions). A Maude specification
comprises Functional modules (which contain only equations) and System modules (which include
rules and potentially equations). A functional module characterizes a theory (Σ ,  ∪ ) within the
framework of membership equational logic: Σ constitutes the signature (operators, sorts, subsorts),
 comprises the set of axioms, and  encapsulates the operator equational attributes (such as AC).
The model of an equational theory is the initial algebra, specifically, the quotient term algebra Σ/∪,
which, assuming confluence and termination conditions are met, is isomorphic to the canonical term
algebra: consequently, the mathematical and operational semantics align. A system module represents a
rewrite theory (Σ ,  ∪ , ),  being a nonempty set of rules. The corresponding model is set forth as
a labeled transition system (TS) associated with each term: therein, the distributed states are represented
by canonical terms, whereas state transitions illustrate classes of equivalent rewrites.
Related Works Several options exist for timed and probabilistic analysis using Maude. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] presents a
non-up-to-date survey. The framework presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] enables deterministic time specifications to
analyze real-time systems. A branching-time analysis framework for Maude specifications is described
in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The approach detailed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], based on probabilistic rewrite theories associated with actors,
enables probabilistic discrete-event simulation. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] presents a reflective framework in Maude for the
quantitative analysis of self-adaptive systems. More recently, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] introduced a comprehensive method
for using Maude in stochastic analysis through a probabilistic extension of its strategy language. In
particular, this strategy language operates at the ”object” level rather than the meta-level.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Associating a Markov Process to Maude Executable Modules</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], we introduce a new general methodology to generate a (continuous- or discrete-time) Markov
chain (MC) from user-defined Maude executable modules (including stochastic parameters) directly
and systematically. Our approach and objectives difer significantly from the above mentioned works.
Essentially, our goal is to equip any executable specification in Maude with probabilistic semantics
directly, through (automatic) “preprocessing” the original modules, marking an important step toward
automating the entire process.
      </p>
      <p>Calculating the MC stochastic matrix exactly is challenging due to rewriting logic semantics, which
obfuscates multiple state transitions. The methodology, which functions for any Maude executable
specification, is illustrated through a challenging application domain: stochastic PN with a dynamically
changing structure (see the next section). This application example outlines all the potential issues
related to the accurate derivation of a Markov process from Maude executable modules.</p>
      <p>The rewriting logic establishes a labeled transition system (TS) associated with ground terms of
any type. However, deriving a consistent Markov chain for this TS presents challenges for three main
reasons: TS state transitions correspond to equivalence classes of rewrites; equivalent rewrites may be
logically indistinguishable and need to be united; and local rewrites of subterms within a specific term
may occur. To our knowledge, none of the mentioned techniques addresses all these issues. Our method,
which delineates a class of meta-operators at the object level, is more straightforward to implement and
significantly more eficient than the predefined Maude’s meta-level modules when addressing extensive
state spaces (comprising dozens or hundreds millions of states). In addition, it shows greater precision
compared to using the Maude’s strategy language.</p>
      <p>Stochastic parameters are first integrated into a Maude executable specification (a system module)
lfexibly and intuitively. Next, the challenge of accurately calculating state transition rates is tackled by
methodically preprocessing executable modules so that they generate an enhanced description of states
associated with terms, which contains all the information to calculate state-transition rates exactly.
Thus, we obtain the corresponding MC generator matrix through fundamental text processing.</p>
      <p>
        We will outline the method to obtain the MC generator matrix using the Maude
representation of Stochastic Petri Nets (SPN) [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. The formalization of SPNs contains a
straightforward hierarchy of modules accessible at https://github.com/lgcapra/rewpt. The module
SPN-SIG{TL :: TRIV, PL ::TRIV} establishes the SPN signature and is parameterized by both
place and transition labels. A parameterized module implements type parameters through (functional)
theories. These theories define the module interfaces by specifying the syntactic and semantic properties
for the parameter modules. Theories have loose semantics, meaning they accept any algebra that
satisfies the stipulated equations and membership axioms. In Maude, views connect a source theory to
a target module or theory and specify the mapping of sorts and operators. The theory TRIV merely
requires a sort. The SPN signature is predicated upon a concise definition of multisets as weighted
sums, as facilitated by the predefined module BAG{X :: TRIV}.
      </p>
      <p>This module is imported in the protecting mode, thus preserving the initial semantics within
the module SPN-SIG, utilizing the formal parameter PL as the actual parameter for BAG. Specifically,
the sort Pbag encompasses multisets of places. SPN transitions, which are terms of sort Tran, are
characterized by labels associated with adjacency lists, conveyed through Pbag triples [I, O, H].
These labels consist of a descriptive tag (a String in our context), a Float representing the rate
parameter of a negative exponential firing delay, and a Nat that specifies the firing policy. For example,
the ground term:</p>
      <p>t("a", 1.5, 0) |-&gt; [1 . p(1) + 2 . p(2), 1 . p(1), 2 . p(1)]
delineates a transition identified by the label "a", an exponential firing rate  = 1.5, and typified by
an infinite-server type. This transition requires the presence of exactly one token in place 1 and
a minimum of two tokens in place 2 for the enabling. Upon firing, it removes two tokens from 2.
The PT net that underlies an SPN, classified as a term of type Net, is defined straightforwardly in a
modular fashion through the utilization of the associative/commutative juxtaposition ; and the subsort
relationship Tran &lt; Net.</p>
      <p>Using the predefined firingRate operator, we can define marking-dependent rates: The current
definition is based on the enabling degree ( (, )), which refers to the occurrences of a transition that
are simultaneously enabled in a marking. Under the infinite server policy (0), the transition exponential
rate is  · (, ). Under the -server policy,  &gt; 0, it is  · ((, ), ).</p>
      <p>The system module SPN-SYS{TL :: TRIV, PL ::TRIV} extends SPN-SIG by defining the SPN
ifring rule as a rewrite rule. This rule applies to the System terms, composed of a Net and a Pbag
subterm.</p>
      <p>
        In the Transition System (TS) generated in Maude, a single state transition may amalgamate multiple
"equivalent" instances. For instance, consider various (SPN) transitions that are enabled in a given
marking and upon firing reach the same target marking. This occurs frequently, for example, when
generating a TS quotient using a canonical representative for markings [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. To accurately determine
the corresponding rates in the Markov chain’s stochastic matrix, an approach grounded in automated
preprocessing system modules is employed.
      </p>
      <p>1. rewrite rules are translated into kinds of "meta-level" operators (at the object-level), which
compute every distinguished rule match
2. because rewrite rules can apply locally to fragments of subject terms, they are encapsulated at
the level of a subject term of in accordance with the terms’ abstract syntax graph
3. upon preprocessing, an augmented TS is created wherein states include the exact state transition
rates</p>
      <p>Several experiments show tolerable overhead resulting from redundant state representation.
Alternatives relying on Maude’s predefined meta-level modules or strategy language tend to be unwieldy or
imprecise and lack the capacity for full automation.</p>
      <p>Focusing on point 1, which is critical in the process, the following excerpt shows the result of the
automated encoding of the SPN firing rule in a corresponding firing match operator (subject
to further optimization, here ignored): A term of sort StateTran{System} encompasses a target
marking and the corresponding rate. The classic fixed-point iteration is used to calculate all possible
matches (variable substitutions) of the rule. The same schema applies to any rewrite rule.
var T : Tran . vars M M’ : Pbag . vars N N’ : Net . var S : System .
var R : Float . var X : Set{StateTran{System}}. var XM : Match.
crl [firing] : N M =&gt; N fire(T, M) if T ; N’ := N /\ enabled(T, M) /\ R := firingRate(T, M) .
∗∗∗ rule’s translation into an operator
op firing−match : System −&gt; Set{StateTran{System}} .
eq firing−match(S) = $firing−match(S,noStateTranS) .
op $firing−match : System Set{StateTran{System}} −&gt; Set{StateTran{System}} .
ceq $firing−match(S, X) = $firing−match(S, (XM −−&gt; S’ : R) U X) if (T ; N) M := S /\
enabled(T, M) /\ S’ := (T ; N) firing(T, M) /\ R := firingRate(T, M) /\ XM := {N} &amp; {T} &amp; {M} /\
(XM −−&gt; M’ : R) in X = false .
eq $firing−match(S, X) = X [owise] .</p>
    </sec>
    <sec id="sec-3">
      <title>3. Rewritable Stochastic PN</title>
      <p>
        Rewritable Petri nets ([
        <xref ref-type="bibr" rid="ref10 ref12">10, 12</xref>
        ]) constitute a highly flexible model for distributed adaptive systems,
as formalized in Maude. Within this framework, the PN firing rule, along with modifications to the
net structure, are specified in a standardized manner. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], improvements have been achieved by
integrating net algebra operators that identify symmetries, specifically Petri net automorphisms, through
systematic and transparent node labeling. These node labels represent the modular and hierarchical
configuration of the models, facilitating the construction of a quotient transition system via eficient
normalization of states (canonical terms).
      </p>
      <p>Rewriting rule
Pattern</p>
      <p>Rewrite
Application</p>
      <p>Rewriting rule
Pattern</p>
      <p>Rewrite</p>
      <p>Application</p>
      <p>Rewrite rules that rely on symmetric net transformations preserve this labeling strategy. Analyzing
models modulo automorphisms is essential to maintain scalability across all frameworks predicated on
graph transformation systems, of which rewritable PNs serve as an exemplar. In [13], we have extended
rewritable PNs by incorporating stochastic parameters and outline a semi-automated procedure to
extract a compact continuous-time Markov chain (CTMC) from the TS quotient.</p>
      <p>m1</p>
      <p>S0
m2
m1</p>
      <p>S0
m2
…
m1
m1</p>
      <p>S0
m2
m1</p>
      <p>…
m1</p>
      <p>m2
S1
m2
m1</p>
      <p>S1
m2
m1</p>
      <p>S2
m2</p>
      <p>
        This CTMC satisfies the exact lumpability property, which parallels the strong bisimilarity observed
in the quotient transition system. The eficacy of this approach has been illustrated using a composite
model of a gracefully degrading production system. We believe that by integrating the methodology
described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], the process of generating lumped CTMC could be completely automated in the near
future.
      </p>
      <p>By creating proper rules, the semantics of a specific modeling formalism can be implemented. For
example, Fig.1 shows how the semantics of a Petri net can be interpreted as a graph rewriting system.
In particular, in Fig.1a), a rule matches a pattern consisting of a place marked with one token, connected
to a transition, which is further connected to a place. The application of the rule rewrites the identified
subnetwork, with one in which the token has been moved to the second place. Fig.1b) shows how these
rewriting rules can be extended to a more complex case, where a pattern contains two tokens inside
two input places, and the rewriting rule combines them and marks the third place. Please note that,
generally, rules are specified using functional expressions, so one rule can match a large number of
cases, making this process enumerable and feasible.</p>
      <p>One of the most interesting properties of these types of rewriting system is that the nodes of the
graphs can be graphs themselves. In this way, the rewriting can even produce the infinitesimal generator
of a Stochastic Petri Net Model, as shown in Fig.2. In this case, the initial graph is composed of a single
node, which is itself a graph that corresponds to the Petri Net in its initial state.</p>
      <p>The first rewriting (whose formalization as a rule is omitted for simplicity) transforms this graph into
another that adds a node, with the marking obtained by the first transition, and a connection, labeled
with the transition rate ( 1) at which this event occurred. A second rewriting adds a third node to the
m1
m2
S2</p>
      <p>m1
0x
outermost graph, which contains the final Petri net configuration, connected with an arc labeled with
rate  2. This corresponds to the CTMC that describe the evolution of the considered Stochastic Petri
Nets, as shown in Fig.3</p>
      <p>One of the advantages of creating the infinitesimal generator through graph rewriting is that the
configurations of the model represented by the states of the CTMC are created in a compact way that
natively performs lumping, as shown in Fig.4. This allows us to generate CTMCs with state spaces
much smaller than in conventional techniques.</p>
      <p>In this example, a model where three identical components are present, plus a second diferent one,
is encoded by having the three possible evolution of each subcomponent exposed, and counting that we
have three of them representing the initial state of the system are required. Also, the lower part of the
model is encoded with an additional sub-network, where currently the version with the empty place is
used once. This makes the classical state-space reduction techniques based on symmetries considered
native, thus reducing the generated state spaces.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Probabilistic Nets-within-Nets</title>
      <p>In [15], we examine Hornets enhanced by incorporating firing probabilities to represent multi-agent
systems with capabilities for self-modification. The theory is explained in more detail in [ 14].
Hornets [16] embody a Nets-within-Nets formalism, a type of Petri net formalism characterized by tokens
that themselves are Petri nets. Each net-token possesses its own firing rate, which operates
independently from the firing rates of other net-tokens. Hornets furnish algebraic operations that enable
modification of net tokens during firing. Within our probabilistic extension, these operators are capable
of individually adjusting the net-token firing rate.</p>
      <p>Our model is used to conduct a quantitative analysis of self-modifying systems. Hornets are
particularly adept at modeling self-adaptive systems engaged in a MAPE-like loop
(monitor-analyzeplan-execute). In this context, the system net represents the feedback loop, whereas the net-tokens
illustrate the adapted model elements. We introduce a subclass of Hornets that can be readily formalized
in Maude. Consequently, this allows for the utilization of additional tools for generating probabilistic
state spaces, specifically, discrete Markov chains, in our stochastic framework.</p>
      <p>We would like to illustrate our ideas by an idea first presented in [ 14]. Our self-adaptive system is
based on the battle-of-sexes scenario, which is well known in game theory. Two agents, named 0 and 1,
must choose between two actions, labeled  and ,  = 0, 1. They receive a positive reward if they
choose the same action (i.e. coordinate) and zero otherwise.</p>
      <p>In this game, the first agent prefers action , while the second prefers . If
we assume that the reward for the preferred outcome is three times higher
than for the other, then the game is specified by the payof matrix:
0
0</p>
      <p>1
(3, 1)
(0, 0)</p>
      <p>1
(0, 0)
(1, 3)</p>
      <p>Let (⟨⟩⊕ ⟨⟩) describe the probabilistic xor choice between action  and  where Λ( ) =  and
Λ( ) = . The object net that models this game is shown as a net-token in Fig. 5; it is a parallel
composition (denoted by _‖_) of two choices (for some initial values of 0, 0, 1, and 1):
1Λ = (0⟨0⟩⊕ ⟨0⟩0) ‖ (1⟨1⟩⊕ ⟨1⟩1)
(1)</p>
      <p>The system net observes the decision history and adapts by modifying the rates (cf. eHornet in
Fig. 5). We have four transitions named play game on the right side corresponding to the four diferent
ways of choosing the actions. We give the payof as a reward signal to the agents. (There may be
more appropriate ways to adapt, but for this simple example, we do not care about the eficiency of the
learning process.) For example, when the agents play (0, 1), then we update the rates in the workflow
by the payof (3, 1), and we obtain the following.</p>
      <p>2Λ = (0⟨0+3⟩⊕ ⟨0⟩0) ‖ (1⟨1+1⟩⊕ ⟨1⟩1)
(2)</p>
      <p>We have another source of adaption in the system net: Choices that are chosen quite regularly over a
longer time period are converted into fixed structures without choice by the two transitions named
adapt XOR on the left-hand side. In this example, the transformation is allowed whenever 0 is chosen
0
in more than 80% of the time. This is expressed by the transition guard (0+0) &gt; 0.8. Then, we obtain
3Λ = 0 ‖ (1⟨1⟩⊕ ⟨1⟩1) as the modified net structure. Analogously, whenever 0 dominates. (For
simplicity, we omit modifications in the model whenever the second agent has a dominating option.)</p>
      <p>In [14] we implemented Hornets in Maude to translate our game-theoretical model into a Discrete
Time Markov Chain (DTMC) to establish guarantees for the occurrence of structural modifications
within a given number of execution steps.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Adaptive Multi-formalism</title>
      <p>Rewriting also provides solid and powerful support for the analysis of multiformalism models [17].
Multiformalism models typically exhibit complexity, modularity and heterogeneity in the formalisms
which define modules: rewriting can be used to add dynamic solution-time features to multiformalism
models, by allowing the dynamic generation or adaptation of modules to take into account partial
results and ease model parameterization while lowering the complexity of the analysis process. For
example, rewriting is being used to incorporate in SIMTHESys [18] the features obtained in OsMoSys
[19] by means of a complex orchestration engine [20].</p>
      <p>Fig.6 shows a re-writable multiformalism model, which is detailed in Fig.7.</p>
      <p>The model represents a two-tier architecture that serves requests generated by  users, whose "think
time" is modeled by the place 3 and the transition 3 of the submodel  2. The two tiers can be
deployed on two servers that might experience down periods. In particular, place 2 of the submodel
 1 contains as many tokens as the current number of active servers, 1 models the possibility that a
PN2</p>
      <p>T1
T2</p>
      <p>P2
PN1</p>
      <p>P1</p>
      <p>T1
T2</p>
      <p>P2
PN1</p>
      <p>P1</p>
      <p>T1
T2</p>
      <p>P2</p>
      <p>V2
V1</p>
      <p>Q1</p>
      <p>Q2</p>
      <p>Q3 A-&gt;BCS1
PN2</p>
      <p>NP3</p>
      <p>T3</p>
      <p>V0</p>
      <p>P5</p>
      <p>P4 T4
server goes down, 1 accounts for the number of servers that are not available, and 2 models the return
in operation of one of the servers. Depending on the marking 2, the submodel identified with  ? is
replaced by a diferent implementation. In particular, when both servers are available, the submodel
used is  2, a queueing network with two stations 1 and 2 that represents the two tiers. Each station
is characterized by its own service time. When one server goes down, the submodel  ? becomes the
multiclass queuing network represented in  1. In this case, a single multiclass queueing station 3 is
used, where the current tier being executed is represented by the class of the job. When the first-tier
jobs end, they change class due to the class switch 1 and re-enters 3 as costumers of the other class.
When the second tier finishes, they can leave the subnetwork. If both servers are down simultaneously,
 ? is replaced by the Colored Petri Net represented in  0. Here, jobs are tokens, colored by their
current stage. The place 5 collects interrupted jobs that wait for server availability. The place 4 and
the forever disabled transition 4 illustrate the blockage of the system, preventing user activity.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions and Future Work</title>
      <p>As briefly shown in this paper, rewriting techniques have a great potential as means to improve the
eficiency of the analysis of complex stochastic models and to support advanced modeling approaches
such as multiformalism modeling, on which future work will focus to verify at which extent this
potential will manage to support the implementation of advanced dynamic features for the parametric
analysis-time model adaptation and generation.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was partially funded by the MUR project “T-LADIES” (PRIN 2020TL3X8X).</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <p>The author(s) have not employed any Generative AI tools.
[13] L. Capra, M. Gribaudo, A lumped CTMC for modular rewritable PN, in: J. Doncel, A. Remke,
D. Di Pompeo (Eds.), Computer Performance Engineering, Springer Nature Switzerland, Cham,
2025, pp. 106–120.
[14] M. Köhler-Bußmeier, L. Capra, Analysing probabilistic Hornets, in: E. Amparore, L. Mikulski
(Eds.), Application and Theory of Petri Nets and Concurrency (PETRI NETS 2025), volume 15714
of LNCS, Springer, 2025, pp. 287–309. doi:10.1007/978-3-031-94634-9_14.
[15] M. Köhler-Bußmeier, L. Capra, Modelling and simulation of adaptive multi-agent systems with
stochastic nets-within-nets, in: Proceedings of the 16th International Joint Conference on
Computational Intelligence - Volume 1: ECTA, INSTICC, SciTePress, 2024, pp. 313–320.
[16] M. Köhler-Bußmeier, Hornets: Nets within nets combined with net algebra, in: K. Wolf, G.
Franceschinis (Eds.), International Conference on Application and Theory of Petri Nets (ICATPN’2009),
volume 5606 of LNCS, Springer, 2009, pp. 243–262. doi:10.1007/978-3-642-02424-5_15.
[17] M. Gribaudo, M. Iacono, Theory and application of multi-formalism modeling, 2013.
[18] E. Barbierato, M. Gribaudo, M. Iacono, Modeling hybrid systems in SIMTHESys, Electronic Notes
in Theoretical Computer Science 327 (2016) 5 – 25.
[19] V. Vittorini, G. Franceschinis, M. Gribaudo, M. Iacono, N. Mazzocca, DrawNet++: Model Objects
to Support Performance Analysis and Simulation of Complex Systems, in: Proc. of the 12th
Int. Conference on Modelling Tools and Techniques for Computer and Communication System
Performance Evaluation (TOOLS 2002), London, UK, 2002.
[20] F. Moscato, F. Flammini, G. Di Lorenzo, V. Vittorini, S. Marrone, M. Iacono, The software
architecture of the OsMoSys multisolution framework, in: VALUETOOLS 2007 - 2nd International ICST
Conference on Performance Evaluation Methodologies and Tools, 2007.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Clavel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Durán</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Eker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lincoln</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. M.</given-names>
            <surname>Oliet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Talcott</surname>
          </string-name>
          ,
          <string-name>
            <surname>All About Maude - A High-Performance Logical</surname>
          </string-name>
          Framework: How to Specify, Program, and
          <source>Verify Systems in Rewriting Logic, Lecture Notes in Computer Science</source>
          , Springer,
          <year>2007</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -71999-1.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bruni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          ,
          <article-title>Generalized rewrite theories</article-title>
          , in: J.
          <string-name>
            <surname>C. M. Baeten</surname>
            ,
            <given-names>J. K.</given-names>
          </string-name>
          <string-name>
            <surname>Lenstra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Parrow</surname>
            ,
            <given-names>G. J.</given-names>
          </string-name>
          <string-name>
            <surname>Woeginger</surname>
          </string-name>
          (Eds.),
          <source>Automata, Languages and Programming</source>
          , Springer-Verlag, Berlin, Heidelberg,
          <year>2003</year>
          , pp.
          <fpage>252</fpage>
          -
          <lpage>266</lpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-45061-0\_
          <fpage>22</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          ,
          <article-title>Twenty years of rewriting logic</article-title>
          ,
          <source>The Journal of Logic and Algebraic Programming</source>
          <volume>81</volume>
          (
          <year>2012</year>
          )
          <fpage>721</fpage>
          -
          <lpage>781</lpage>
          . Rewriting Logic and its Applications.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Ölveczky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          ,
          <article-title>Specification of real-time and hybrid systems in rewriting logic</article-title>
          ,
          <source>Theoretical Computer Science</source>
          <volume>285</volume>
          (
          <year>2002</year>
          )
          <fpage>359</fpage>
          -
          <lpage>405</lpage>
          . Rewriting Logic and its Applications.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rubio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Martí-Oliet</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Pita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Verdejo</surname>
          </string-name>
          ,
          <article-title>Strategies, model checking and branching-time properties in Maude</article-title>
          ,
          <source>Journal of Logical and Algebraic Methods in Programming</source>
          <volume>123</volume>
          (
          <year>2021</year>
          )
          <fpage>100700</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Agha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sen</surname>
          </string-name>
          , Pmaude:
          <article-title>Rewrite-based specification language for probabilistic object systems</article-title>
          ,
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>153</volume>
          (
          <year>2006</year>
          )
          <fpage>213</fpage>
          -
          <lpage>239</lpage>
          .
          <source>Proceedings of the Third Workshop on Quantitative Aspects of Programming Languages (QAPL</source>
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bruni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Corradini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gadducci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Lluch</given-names>
            <surname>Lafuente</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vandin</surname>
          </string-name>
          ,
          <article-title>Modelling and analyzing adaptive self-assembly strategies with Maude</article-title>
          , in: F. Durán (Ed.),
          <source>Rewriting Logic and Its Applications</source>
          , Springer, Berlin, Heidelberg,
          <year>2012</year>
          , pp.
          <fpage>118</fpage>
          -
          <lpage>138</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rubio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Martí-Oliet</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Pita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Verdejo</surname>
          </string-name>
          , Qmaude:
          <article-title>Quantitative specification and verification in rewriting logic</article-title>
          , in: M.
          <string-name>
            <surname>Chechik</surname>
            ,
            <given-names>J.-P.</given-names>
          </string-name>
          <string-name>
            <surname>Katoen</surname>
          </string-name>
          , M. Leucker (Eds.),
          <source>Formal Methods</source>
          , Springer International Publishing, Cham,
          <year>2023</year>
          , pp.
          <fpage>240</fpage>
          -
          <lpage>259</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>Capra</surname>
          </string-name>
          ,
          <article-title>Associating a Markov process with Maude executable modules</article-title>
          ,
          <source>in: Proceedings of the 15th International Conference on Simulation and Modeling Methodologies, Technologies and Applications</source>
          , SciTePress,
          <year>2025</year>
          , pp.
          <fpage>106</fpage>
          -
          <lpage>116</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>L.</given-names>
            <surname>Capra</surname>
          </string-name>
          ,
          <article-title>Rewriting logic and Petri nets: A natural model for reconfigurable distributed systems</article-title>
          , in: R.
          <string-name>
            <surname>Bapi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Kulkarni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Mohalik</surname>
          </string-name>
          , S. Peri (Eds.),
          <source>Distributed Computing and Intelligent Technology</source>
          , Springer International Pub.,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          ,
          <year>2022</year>
          , pp.
          <fpage>140</fpage>
          -
          <lpage>156</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <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>Modular rewritable Petri nets: An eficient model for dynamic distributed systems</article-title>
          ,
          <source>Theoretical Computer Science</source>
          <volume>990</volume>
          (
          <year>2024</year>
          )
          <fpage>114397</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <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: In Memory of Hartmut Ehrig, Springer, Cham,
          <year>2018</year>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>222</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -75396-6\_
          <fpage>11</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>