<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>SEBD</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Verification of Unary Communicating Datalog Programs (Discussion Paper)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>C. Aiswarya</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Diego Calvanese</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Di Cosmo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Montali</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Chennai Mathematical Institute</institution>
          ,
          <addr-line>Chennai</addr-line>
          ,
          <country country="IN">India</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Free University of Bozen-Bolzano</institution>
          ,
          <addr-line>Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Umeå University</institution>
          ,
          <addr-line>Umeå</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>32</volume>
      <fpage>23</fpage>
      <lpage>26</lpage>
      <abstract>
        <p>We study verification of reachability properties over Communicating Datalog Programs (CDPs), which are networks of relational nodes connected through unordered channels and running Datalog-like computations. Each node manipulates a local state database (DB), depending on incoming messages and additional input DBs from external services. Decidability of verification for CDPs has so far been established only under boundedness assumptions on the state and channel sizes, showing at the same time undecidability of reachability for unbounded states with only two unary relations or unbounded channels with a single binary relation. The goal of this paper is to study the open case of CDPs with bounded states and unbounded channels, under the assumption that channels carry unary relations only. We discuss the significance of the resulting model and prove the decidability of verification of variants of reachability, captured in fragments of first-order CTL. We do so through a novel reduction to coverability problems in a class of high-level Petri Nets that manipulate unordered data identifiers. We study the tightness of our results, showing that minor generalizations of the considered reachability properties yield undecidability of verification, both for CDPs and the corresponding Petri Net model. This paper is an abridged version of a paper published in the Proceedings of the 43rd ACM Symposium on Principles of Database Systems (PODS 2024).</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Formal verification</kwd>
        <kwd>Data-aware processes</kwd>
        <kwd>Communicating Datalog Programs</kwd>
        <kwd>Distributed computation</kwd>
        <kwd>CTL-FO</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Declarative approaches to the specification of distributed data-aware systems have been
extensively studied in many diferent contexts [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5">1, 2, 3, 4, 5</xref>
        ]. These approaches share the general
idea that the overall behavior of the system emerges from the interaction of a number of local
components (hereafter called nodes), mutually connected in a given topology, each running a
declarative program that describes at once the input/output behavior to exchange messages with
the other nodes, and the update of the node internal state. Both the state and the exchanged
messages are relational, thus making the overall system a distributed version of so-called data-aware
processes, extensively studied within the foundations of data management from the modelling
and static analysis point of view [
        <xref ref-type="bibr" rid="ref10 ref6 ref7 ref8 ref9">6, 7, 8, 9, 10</xref>
        ].
      </p>
      <p>
        In this work, we are interested in the static analysis of such distributed declarative
dataaware processes, in the style of [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6, 7, 8</xref>
        ]. We focus in particular on the D2C language originally
introduced in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which employs a suitably extended version of Datalog equipped with
communication primitives and the possibility of referring to the previous and current node state. On
top of the resulting model of what we call Communicating Datalog Programs (CDPs), two aspects
become particularly important in the light of static analysis: (i) the presence of communication
channels with diferent properties on faithfulness and ordering; (ii) the distinction between
closed systems where new data are never created, but only the data present in the initial node
states can be used and exchanged, and interactive systems where new data can be acquired and
exchanged during the computation.
      </p>
      <p>
        Declarative distributed systems with asynchronous communication occurring over multiset
channels (where multiple copies of the same message may exist, even when the sender and
receiver coincide) were considered in seminal works in the area, but only studied in connection
with static analysis in the presence of external data in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Such systems are infinite-state,
with the consequence that even for very simple reachability properties, static analysis is
undecidable [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Decidable subclasses have been singled out by importing and adapting the
notion of state-boundedness originally introduced in [
        <xref ref-type="bibr" rid="ref12 ref13 ref14">12, 13, 14</xref>
        ], and applied in [
        <xref ref-type="bibr" rid="ref13 ref15 ref16">13, 15, 16</xref>
        ] to
obtain decidability of verification of data-aware processes against rich variants of first-order
branching-time temporal logics. In a state-bounded system, infinitely many objects may be
seen within and across runs of the system, but in each single configuration reached during the
computation, their number remains bounded. In the context of CDPs, this notion has a twofold
efect: it essentially bounds the number of constants that can be simultaneously stored in each
node state, as well as the size of each communication channel. Under such restrictions, it has
been shown that model checking first-order CTL properties is decidable [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        In this work, we start from the observation that bounding communication channels is a severe
restriction, as it cannot be enforced even by suitably controlling how nodes are programmed.
At the same time, [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] has shown that even propositional reachability is undecidable to check
over severely restricted CDPs that employ messages with a binary signature. We consequently
focus on the verification of unary CDPs, i.e., CDPs where the messages range over a signature
of at most unary relational symbols, and while the local memory and interaction with external
services is bounded, the channel capacity is not. This is also interesting to study in the light of
multiset channels, since adopting queues, as in [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ], would immediately yield undecidability
for unary, unbounded channels. We show that the resulting model is still powerful enough
to model real-case scenarios, and engage in a fine-grained study of CDP verification against
variants of reachability, expressed as fragments of first-order CTL. Specifically, we establish an
equivalence between this problem and that of verifying coverability over a variant of Petri nets
with unordered data [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], a property that is decidable to check despite the fact that these nets
are essentially infinite-state. This yields decidability for positive nested reachability queries
over unary CDPs, even in the case where the logic has not only the ability of querying the
states, but also that of inspecting communication channels. We finally investigate the tightness
of our decidability results, showing that minor generalizations fall back into undecidability.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. The CDP Model</title>
      <p>
        In this section, we informally introduce the CDP model by Ma et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. However, for simplicity,
we formalize only the fragment relevant for our study, which is the one over unordered channels,
non-deterministic bounded inputs, and single-node networks.
      </p>
      <p>A CDP is a fixed network of data-centric nodes sharing messages via point-to-point channels.
Each node (1) runs a Datalog-like program, written in the language D2C, (2) updates its internal
state, which is maintained as a state DB over a dedicated state signature, (3) receives information
from the external environment, in the form of an input DB over a dedicated input signature,
and (4) shares messages, i.e., single relational facts over a dedicated transport signature. The
nodes react to incoming messages: when a message  from a node  is delivered to a node ,
the latter gets activated and runs the program on its data-sources. In fact, the program input
consists of the node state DB, the current input DB, the message  itself, and the local structure
of the network at , in the form of a network DB. The output provides a new state DB for 
and a set of outgoing messages, each labeled by its recipient, which, in turn, are sent on the
respective channels (without labels).</p>
      <p>We assume that communication is asynchronous and channels are reliable but unordered,
that is, at each time-step, only one message is delivered (and, thus, only one node gets activated),
no message can be lost, but the reception order is non-deterministic. These assumptions are
useful, e.g., to model communication networks where message loss is ignored but order cannot
be guaranteed (e.g., because of an underlying UDP transport protocol). Since nodes react only to
incoming messages, the communication network has, for each node, a self-loop channel (from
the node to itself), which initially contains a special message dedicated to node activation.</p>
      <p>CDP nodes are exposed to information from the external environment, which represents users
and/or external services. Environment interaction is abstracted away by input policies, i.e., rules
to provide a new input DB. In this paper, we focus on the -bounded interactive input policies,
where  P N: each time a node receives a message, the current input DB is substituted by a
non-deterministically chosen new one with active domain of cardinality at most . This policy
is relevant to model interaction with external users that continuously provide new information,
e.g., text messages for a chat application.</p>
      <p>
        All these information sources are manipulated by a D2C program, i.e., a set of
Dataloglike rules specialized to the interactive and distributed setting of CDPs. The specialization is
achieved by (1) organizing relation symbols in dedicated signatures (state, input, and transport),
(2) using the in-rule flag prev to distinguish queries over the previous state DB and the new
one under computation, and (3) labeling transport literals with terms representing senders or
recipients (see [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for a non-deterministic extension of D2C). However, in this paper, we focus
on a simple D2C fragment, specialized for single-node networks. In fact, while inconvenient
for modelling, single-node CDPs are enough for the technical study of verification of CDPs
employing unordered channels, since each such CDP can be encoded over a single node network.
2.1. Single-node CDPs
We now formalize bounded-interactive, single-node CDPs. With a slight abuse, we refer to this
fragment as, simply, CDPs and ignore all other CDP variants (see [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for the full model).
Definition 2.1. A CDP signature is a tuple Λ “ p, ℐ,  q, where , ℐ, and  are pairwise
disjoint relational signatures, respectively called state, input, and transport. A state, input, or
transport atom (resp., literal) is an atom (resp., literal) over , ℐ, or  , respectively. Ÿ
CDP programs are, syntactically, reminiscent of stratified Datalog with negation and inequality.
Definition 2.2.
      </p>
      <p>A D2C rule over a CDP signature Λ is a formula</p>
      <p>if 1, . . . ,  prev `1, . . . , `, 1, . . . , ℎ.
s.t.: (1)  is a state or transport literal, (2) 1, . . . ,  are state, input, or transport literals,
(3) `1, . . . , ` are state literals, and (4) 1, . . . , ℎ are inequality constraints of the form
1 ‰ 2, where 1 and 2 are terms (constants or variables). The rule head is  and the rule
body is the part following if . The rule scope of prev is `1, . . . , `. The rule is safe if each
variable occurring in the head, in a negated literal, or in an inequality constraint, also occurs in
a positive literal in the rule body. The rule is transport consistent if each variable occurring in a
transport atom in the head also occurs in a positive non-input literal.</p>
      <p>Intuitively, in the scope of prev, state literals query the state DB available immediately before
node activation. Outside the scope of prev, in the body, input literals query the input DB,
transport literals the incoming message, and state literals the new state DB under computation.
In the head, transport atoms deduce the outgoing messages and state atoms the facts in the new
state DB. At the end of the computation, the new state DB substitutes the previous one and the
outgoing messages are sent on the channel. Transport consistency states that data from the
input DB cannot directly flow to the channel. This matches with the assumption that only nodes
have the power to send messages, which have to be preliminarily gathered in an out-bufer that
contributes to the node configuration (state DB, possibly afecting its boundedness, cf. Def. 2.4).
Note that state literals in the scope of prev and transport literals in the body are not involved in
forming recursive dependencies. While this feature appears as a major diference with Datalog,
actually, it is just a matter of making the syntax convenient for the CDP semantics. In fact, one
can provide a Datalog encoding  of a set  of D2C rules where this diference is ironed out.
Definition 2.3. A D2C program  over a CDP signature Λ is a finite set of safe and transport
consistent D2C rules s.t.  is stratified. Given such Λ and , a CDP is a tuple pΛ , , 0, 0q,
where 0 is a state DB denoting the initial state and 0 is an initial message. Ÿ</p>
      <p>The semantics of CDPs is given in terms of configuration graphs, which connect CDP
configurations via transitions. Each configuration p, , q describes a snapshot of the system,
including the state DB , the input DB , and the channel , represented as a multiset. The
configuration is -input, -state, or -channel bounded, for some , ,  P N, if the cardinality of
the active domain of , of the active domain of , or of , is at most , , or , respectively.
Definition 2.4. Given , ,  P N, we call -CDP a CDP  interpreted under the configuration
graph Υ  consisting of all -input bounded configurations of . A -CDP is -state or
channel bounded if all configurations reachable in Υ  from an initial configuration are -state
or -channel bounded, respectively.</p>
    </sec>
    <sec id="sec-3">
      <title>3. The Verification Problem for CDPs</title>
      <p>
        We study the problem of formal verification of CDPs. Previous work [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] showed that
controlstate reachability (that is, whether there is an initial configuration from which the target state
DB is reachable — ignoring the configuration of the channel) is undecidable even for restricted
CDPs that (i) have a single-node network, (ii) use the channel solely to (re)activate the node,
and (iii) employ a unary state signature. Decidability can be gained by imposing boundedness
conditions on the various CDP data sources [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In fact, for state- and channel-bounded CDPs,
decidability holds for temporal model checking againts formulae in CTLCDP, a branching-time
logic mixing CTL operators to analyze the system evolution, and FOL to query the data sources.
      </p>
      <p>
        Unfortunately, boundedness is a semantic property, undecidable to check. In addition, while
there are diferent techniques to enforce state boundedness [
        <xref ref-type="bibr" rid="ref14 ref18">14, 18</xref>
        ], the same does not hold for
channels. Furthermore, as pointed out in the introduction, imposing boundedness is particularly
restrictive for communication channels. Interestingly, while undecidability of control-state
reachability over state-unbounded CDPs already holds for unary signatures, in the case of CDPs
with bounded states and unbounded channels it has been proved only for binary transport
signatures [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. This makes CDPs that are state- and input-bounded, but operate over unbounded
channels carrying unary messages, worth investigating. We call such CDPs unary CDPs (uCDPs).
      </p>
      <p>In the following, we study the problem of model checking variants of uCDPs against selected
fragments of CTLCDP. The base-level fragment we use to express reachability-like properties
called EFp´, , q, essentially, mixes EF CTL temporal operators with closed FO formulas
over the state signature. Specifically, given a CDP  “ pΛ , , 0, 0q, where Λ “ p, ℐ,  q,
the language EFp´, , q over  is defined by the rules
Φ :: “  | EF | Φ ^ Φ | Φ _ Φ</p>
      <p>
        ::“ 1 “ 2 | ptq | D. |  ^  |  _  | ␣,
where Φ are temporal formulas,  are closed FO formulas over , 1 and 2 are terms, and t is a
tuple (of proper size) of terms. Such formulas are interpreted as follows: ptq queries whether
ptq is in the current state DB; D is an existential quantifier over the active domain of the
state DB and the support of the multiset channel; and EF is interpreted as in standard CTL,
i.e., there exists a path, in the CDP configuration graph, on which  eventually holds [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. For
example, reachability of a state DB containing the fact paq is expressed by the formula EFpaq,
while reachability of the state that contains only that fact by EFppaq ^ ␣D.pq ^ ␣ “ aq.
      </p>
      <p>We study variants of reachability properties starting from EFp´, , q and considering
formulae consisting of (positive boolean combinations of) sentences starting with an EF operator,
tuning them along three dimensions: the available temporal operators beyond EF, the presence
of negations in the FO queries, and which components they inspect (state DB or also channels)1.
We identify such fragments with notation EFpl, △, ˝q, where:
‚ l indicates which temporal operators can be nested; it can be one of:
– ´ (no nesting), as in the grammar above,
– EF` (nesting of multiple EF), obtained by adding to the grammar rule Φ :: “ EFΦ ,
– AG (nesting of a single AG), obtained by adding to the grammar rule Φ :: “ EFAG , or
1Input DBs are disregarded since their evolution is completely non-deterministic and its interaction with the state
DB can be captured by slightly modifying the CDP program so as to include the bounded input DB in the state DB.
– pEF, AXq` (nesting of multiple EF and AX, possibly interleaved), obtained by adding
to the grammar rule Φ :: “ EFΦ | AXΦ ;
‚ △ indicates how negation is supported by FO formulas; it can be either
– , as defined by the grammar above, or
–  (no negation), obtained by dropping from the grammar rule  ::“ ␣ ;
‚ ˝ indicates whether formulas can only query state DBs, or also channels; it can be either:
–  (queries only over node states), as defined by the grammar above, or
– `ℎ (queries also over the support of channel multisets), obtained by adding to the
grammar rule  ::“  ptq, where  is in the transport signature.</p>
      <p>For the formal syntax and semantics of these languages, we refer to the full paper.</p>
      <p>We study the following model-checking problem variants.</p>
      <p>Problem 3.1 (EFrl, △, ˝s-MC). Let l P t´, EF`, AG, pEF, AXq`u, △ P t, u, and
˝ P t, `ℎu. The EFrl, △, ˝s-MC problem is defined as follows:
Input: A  P N,  P N, -state bounded single-node uCDP , initial configuration 0, and
closed formula Φ P EFpl, △, ˝q.</p>
      <p>Output: Whether the configuration graph Υ  satisfies Φ from 0. Ÿ</p>
      <p>Verification w.r.t. all initial configurations reduces to finitely many instances of EFrl, △,
˝sMC. Indeed, due to state and input boundedness, the initial configurations are finitely many up
to isomorphisms, and FO formulas are invariant under isomorphisms that fix the constants in
them. Establishing the decidability status of the diferent variants of this problem is challenging,
due to the subtle interplay of the CDP components, e.g., how the node state is afected by the
content of the multiset channel, whose access is limited by aysnchronous communication. To
attack this problem, we provide a bridge with models and techniques for the verification of
data-aware extensions of PNs, in particular  -PNs. PNs are one of the most widely studied
models for concurrent computations, particularly suited to handle asynchronous threads and
message passing. Specifically,  -PNs lend themselves to be connected to uCDPs. In fact, tokens
carrying single data elements match constants used in unary messages, and places match
unary relation symbols - so that inserting a token carrying constant  in a place  naturally
corresponds to having message Mpcq in the channel. What is not at all clear, instead, is how to
encode in the  -PN the infinitely many input and state DBs that may be encountered along a
computation. Recall, in fact, that even under state-boundedness, a CDP can encounter infinitely
many, genuinely distinct state DBs.</p>
      <p>To address this issue, we represent state and input DBs up to isomorphism. This can be done
by introducing dedicated places for the following purposes: (1) to encode the relation symbols
of messages; (2) to represent the isomorphism types of bounded input and state DBs, over a
ifxed representative bounded domain; (3) to specify a mapping from the representative domain
to the infinite domain of data values used to form input and state DBs; (4) to deal with the
special constants that are distinguished in the CDP program, ensuring that each one of those
forms a singleton isomorphism type. This constitutes the basis for reducing EFrl, △, ˝s-MC
problems over uCDPs, to coverability checks over  -PNs.</p>
      <p>We proceed as follows. We first investigate the decidability status of variants of control-state
reachability for  -PNs (Sec. 4). We then transfer these results to uCDPs, showing reductions
from variants of uCDP model checking to  -PNs control-state reachability (Sec. 5).</p>
    </sec>
    <sec id="sec-4">
      <title>4.  -PN Verification</title>
      <p>We introduce now the language  - CTL to express coverability properties on  -PNs and study
the decidability of the related model-checking problem.  - CTL features the CTL EF temporal
operator, boolean conjunctions and disjunctions, and replaces propositions with markings
interpreted, each on its own, up to isomorphisms.</p>
      <p>Definition 4.1. Given a set  of places,  - CTL is the language of formulas  defined by the
following grammar, where the atomic  - CTL formulas are markings  over the place set  :
 ::“  |  ^  |  _  | EF</p>
      <p>The semantics of  - CTL is defined as for CTL, with the provision that the current marking
 of a  -PN  satisfies an atomic formula  1, if  covers, up to isomorphisms,  1.
Problem 4.2 ( - CTL-MC). The  - CTL-MC problem is defined as follows:
Input: A  -PN  “ p, ,  q, marking 0, and  - CTL formula  .</p>
      <p>Output: Whether  satisfies  from 0, denoted by , 0 |ù  .</p>
      <p>Since atomic formulas perform coverability checks,  - CTL-MC can be reduced to plain
 -PN coverability. This is done by induction on the structure of the  - CTL formula. First,
a given formula  , to be checked on a  -PN  and initial marking 0, is represented as a
syntax tree. Its leafs are the occurrences of atomic formulas and the other nodes are obtained
by applying to the children the corresponding boolean or temporal operator. Second, from
leafs to the root, each node  is mapped to a  -PN   and initial marking  0 where (1) the
net   contains, as sub-nets, the nets   , for each sub-formula  of  , (2)   contains the
places check  and cover  , (3)  0 places at least a distinguished identifier on check  , and
(4) transitions are added so that the place cover  can be marked with a distinguished identifier
if   ,  0 |ù  . The construction for non-leaves take into account the children nets and the
semantics of the respective conjunction, disjunction, or EF operator, where the latter case is the
most involved one. We refer to the full paper for the details.</p>
      <p>From decidability of  -PN coverability we obtain:
Theorem 4.3. For each finite place set  ,  - CTL-MC is decidable.</p>
    </sec>
    <sec id="sec-5">
      <title>5. uCDP Model Checking</title>
      <p>To reduce uCDP model checking to  -PN model checking, we encode an arbitrary -state
bounded -uCDP  “ pΛ , , 0, 0q with Λ “ p, ℐ,  q, into a  -PN  “ p, ,  q.</p>
      <p>1. Configuration encoding. We use identifiers to represent the domain of DBs: ID “ ∆ Y t‚u.
We use places of  (and related markings) to encode configurations of , reorganized in the
following way: (i) channel configuration, (ii) extension, up to isomorphisms, of the state and
input DBs, over a fixed active domain of representative constants, (iii) mapping, via a partial
function, of the representative constants to the represented state and input DB constants.
6. Conclusions
2. Step encoding. We use the transitions of  to encode the steps of , organized as: (i) input
update, and (ii) D2C computation, including message reception, casting, and state DB update.</p>
      <p>3. Formula encoding. We encode a formula  P EFpEF`, , q into  - CTL. In the full
paper, we show that it is enough to handle FO formulas. Since  ranges only over the state
signature, it is satisfied by any configuration p, , q s.t.  |ù . Since  is -state bounded,
up to isomorphism there is only a finite set t1, . . . , u of state DBs satisfying  . Thus,  is
equivalent to the disjunction of markings  encoding the configurations p, H, Hq, for each
 P t1, . . . , u. Similarly, we can encode also formulas  from EFpEF`, , `ℎq. In fact,
since  is positive, it can only assert the existence of a fixed number of tuples in the state or in
the channel. Thus, because of state boundedness, up to isomorphisms and channel inclusion
there is only a finite set tp1, H, 1q, . . . , p, H, qu of configurations satisfying  . Thus, 
is equivalent to the disjunction of markings  encoding the configurations p, H, q, for
each  P t1, . . . , u.</p>
      <p>Theorem 5.1. EFrEF`, , s-MC and EFrEF`, , `ℎs-MC are decidable.</p>
      <p>Theorem 5.1 is essentially tight, as shown by the next result.</p>
      <p>Theorem 5.2. EFrAG, , s-MC, EFrAX2, , s-MC, and EFr´, , `ℎs-MC are
undecidable.</p>
      <p>We recap decidability (D) and undecidability (U) for EFrl, △, ˝s-MC on uCDPs:
´</p>
      <p>D
U</p>
      <p>EF`

D
D</p>
      <p>EF`</p>
      <p>D
U</p>
      <p>AG

U
U</p>
      <p>
        AX2

U
U
The properties refer to branching-time first-order properties verified over CDPs where nodes
asynchronously exchange messages with at most a unary signature, the state of each node
has a bounded size, while communication channels have unbounded capacity. Our results are
obtained by encoding such verification problems into corresponding coverability verification
problems over  -PNs. In spite of the extremely high complexity in the analysis of such nets,
several efective techniques and tools for the (symbolic) exploration of their state space exist
(see, e.g., [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ]). Our work consequently paves the way towards the application of such
techniques to the practical analysis of declarative distributed systems.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This research has been partially supported by the Wallenberg AI, Autonomous Systems and
Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation, by the Province
of Bolzano and DFG through the project D2G2 (DFG grant n. 500249124), and by the HEU project
CyclOps (under GA n. 101135513).
1–10</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Hellerstein</surname>
          </string-name>
          ,
          <article-title>The declarative imperative: Experiences and conjectures in distributed logic</article-title>
          ,
          <source>SIGMOD Record 39</source>
          (
          <year>2010</year>
          )
          <fpage>5</fpage>
          -
          <lpage>19</lpage>
          . doi:
          <volume>10</volume>
          .1145/1860702.1860704.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Alvaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Ameloot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Hellerstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Marczak</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Van den Bussche</surname>
          </string-name>
          , A Declarative Semantics for Dedalus,
          <source>Technical Report UCB/EECS-2011-120</source>
          , EECS Department, University of California, Berkeley,
          <year>2011</year>
          . URL: http://www.eecs.berkeley.edu/Pubs/TechRpts/2011/ EECS-2011-120.html.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Ameloot</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Van den Bussche</surname>
          </string-name>
          ,
          <article-title>Positive Dedalus programs tolerate non-causality</article-title>
          ,
          <source>J. of Computer and System Sciences</source>
          <volume>80</volume>
          (
          <year>2014</year>
          )
          <fpage>1191</fpage>
          -
          <lpage>1213</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jcss.
          <year>2014</year>
          .
          <volume>01</volume>
          . 005.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lobo</surname>
          </string-name>
          ,
          <article-title>Declarative framework for specification, simulation and analysis of distributed applications</article-title>
          ,
          <source>IEEE Trans. on Knowledge and Data Engineering</source>
          <volume>28</volume>
          (
          <year>2016</year>
          )
          <fpage>1489</fpage>
          -
          <lpage>1502</lpage>
          . doi:
          <volume>10</volume>
          .1109/TKDE.
          <year>2016</year>
          .
          <volume>2515604</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          , É. Antoine, G. Miklau,
          <string-name>
            <given-names>J.</given-names>
            <surname>Stoyanovich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Testard</surname>
          </string-name>
          ,
          <article-title>Rule-based application development using Webdamlog</article-title>
          ,
          <source>in: Proc. of the 34th ACM Int. Conf. on Management of Data (SIGMOD)</source>
          , ACM,
          <year>2013</year>
          , pp.
          <fpage>965</fpage>
          -
          <lpage>968</lpage>
          . doi:
          <volume>10</volume>
          .1145/2463676.2465251.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          ,
          <article-title>Automatic verification of database-driven systems: a new frontier</article-title>
          ,
          <source>in: Proc. of the 12th Int. Conf. on Database Theory (ICDT)</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          . doi:
          <volume>10</volume>
          .1145/1514894. 1514896.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <article-title>Foundations of data-aware process analysis: a database theory perspective</article-title>
          ,
          <source>in: Proc. of the 32nd ACM Symp. on Principles of Database Systems (PODS)</source>
          , ACM,
          <year>2013</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1145/2463664.2467796.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          ,
          <article-title>Automatic verification of database-centric systems</article-title>
          ,
          <source>ACM SIGLOG News</source>
          <volume>5</volume>
          (
          <year>2018</year>
          )
          <fpage>37</fpage>
          -
          <lpage>56</lpage>
          . doi:
          <volume>10</volume>
          .1145/3212019.3212025.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Sui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>Verification of communicating data-driven web services</article-title>
          ,
          <source>in: Proc. of the 25th ACM Symp. on Principles of Database Systems (PODS)</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>90</fpage>
          -
          <lpage>99</lpage>
          . doi:
          <volume>10</volume>
          .1145/1142351.1142364.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Sui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          ,
          <article-title>Specification and verification of data-driven web applications</article-title>
          ,
          <source>J. of Computer and System Sciences</source>
          <volume>73</volume>
          (
          <year>2007</year>
          )
          <fpage>442</fpage>
          -
          <lpage>474</lpage>
          . doi:
          <volume>10</volume>
          .1016/J.JCSS.
          <year>2006</year>
          .
          <volume>10</volume>
          . 006.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Di Cosmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lobo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <article-title>Convergence verification of declarative distributed systems</article-title>
          ,
          <source>in: Proc. of the 36th Italian Conf. on Computational Logic (CILC)</source>
          , volume
          <volume>3002</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>62</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          ,
          <article-title>Verification of deployed artifact systems via data abstraction</article-title>
          ,
          <source>in: Proc. of the 9th Int. Joint Conf. on Service Oriented Computing (ICSOC)</source>
          , volume
          <volume>7084</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2011</year>
          , pp.
          <fpage>142</fpage>
          -
          <lpage>156</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -25535-9_
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bagheri Hariri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <article-title>Verification of relational data-centric dynamic systems with external services</article-title>
          ,
          <source>in: Proc. of the 32nd ACM Symp. on Principles of Database Systems (PODS)</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>163</fpage>
          -
          <lpage>174</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 2463664.2465221.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bagheri Hariri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <article-title>State-boundedness in data-aware dynamic systems</article-title>
          ,
          <source>in: Proc. of the 14th Int. Conf. on Principles of Knowledge Representation and Reasoning (KR)</source>
          , AAAI Press,
          <year>2014</year>
          , pp.
          <fpage>458</fpage>
          -
          <lpage>467</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>G. De Giacomo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Lespérance</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Patrizi</surname>
          </string-name>
          , Bounded Situation Calculus action theories,
          <source>Artificial Intelligence</source>
          <volume>237</volume>
          (
          <year>2016</year>
          )
          <fpage>172</fpage>
          -
          <lpage>203</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.artint.
          <year>2016</year>
          .
          <volume>04</volume>
          .006.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          ,
          <article-title>First-order mu-calculus over generic transition systems and applications to the Situation Calculus</article-title>
          ,
          <source>Information and Computation</source>
          <volume>259</volume>
          (
          <year>2018</year>
          )
          <fpage>328</fpage>
          -
          <lpage>347</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.ic.
          <year>2017</year>
          .
          <volume>08</volume>
          .007.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>F.</given-names>
            <surname>Rosa-Velardo</surname>
          </string-name>
          ,
          <article-title>Ordinal recursive complexity of Unordered Data Nets</article-title>
          ,
          <source>Information and Computation</source>
          <volume>254</volume>
          (
          <year>2017</year>
          )
          <fpage>41</fpage>
          -
          <lpage>58</lpage>
          . doi:
          <volume>10</volume>
          .1016/J.IC.
          <year>2017</year>
          .
          <volume>02</volume>
          .002.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>D.</given-names>
            <surname>Solomakhin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tessaris</surname>
          </string-name>
          , R. De Masellis,
          <article-title>Verification of artifact-centric systems: Decidability and modeling issues</article-title>
          ,
          <source>in: Proc. of the 11th Int. Joint Conf. on Service Oriented Computing (ICSOC)</source>
          , volume
          <volume>8274</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2013</year>
          , pp.
          <fpage>252</fpage>
          -
          <lpage>266</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -45005-1_
          <fpage>18</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>C.</given-names>
            <surname>Baier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Katoen</surname>
          </string-name>
          , Principles of Model Checking, The MIT Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Westergaard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Evangelista</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Kristensen</surname>
          </string-name>
          ,
          <article-title>ASAP: an extensible platform for state space analysis</article-title>
          ,
          <source>in: Proc. of the 30th Int. Conf. on Application and Theory of Petri Nets (PETRI NETS)</source>
          , volume
          <volume>5606</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2009</year>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>312</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -02424-5_
          <fpage>18</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghilardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gianola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rivkin</surname>
          </string-name>
          ,
          <article-title>Petri net-based object-centric processes with read-only data</article-title>
          ,
          <source>Information Systems</source>
          <volume>107</volume>
          (
          <year>2022</year>
          )
          <article-title>102011</article-title>
          . doi:
          <volume>10</volume>
          .1016/J.IS.
          <year>2022</year>
          .
          <volume>102011</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>