Skip to main content
Springer logoLink to Springer
. 2017 Jun 6;31(3):187–222. doi: 10.1007/s00446-017-0302-6

Parameterized model checking of rendezvous systems

Benjamin Aminof 1, Tomer Kotek 1, Sasha Rubin 2, Francesco Spegni 3,, Helmut Veith 1
PMCID: PMC6560783  PMID: 31258231

Abstract

Parameterized model checking is the problem of deciding if a given formula holds irrespective of the number of participating processes. A standard approach for solving the parameterized model checking problem is to reduce it to model checking finitely many finite-state systems. This work considers the theoretical power and limitations of this technique. We focus on concurrent systems in which processes communicate via pairwise rendezvous, as well as the special cases of disjunctive guards and token passing; specifications are expressed in indexed temporal logic without the next operator; and the underlying network topologies are generated by suitable formulas and graph operations. First, we settle the exact computational complexity of the parameterized model checking problem for some of our concurrent systems, and establish new decidability results for others. Second, we consider the cases where model checking the parameterized system can be reduced to model checking some fixed number of processes, the number is known as a cutoff. We provide many cases for when such cutoffs can be computed, establish lower bounds on the size of such cutoffs, and identify cases where no cutoff exists. Third, we consider cases for which the parameterized system is equivalent to a single finite-state system (more precisely a Büchi word automaton), and establish tight bounds on the sizes of such automata.

Introduction

Many concurrent systems consist of an arbitrary number of identical processes running in parallel, possibly in the presence of an environment or control process. The parameterized model checking problem (PMCP) for concurrent systems is to decide if a given temporal logic specification holds irrespective of the number of participating processes.

Although the PMCP is undecidable in general (see [28, 52]) it becomes decidable for some combinations of communication primitives, network topologies, and specification languages, e.g., [1, 8, 14, 21, 22, 30, 51]. Often, it is proved decidable by a reduction to model checking finitely many finite-state systems [2, 16, 24, 28, 36]. In many of these cases it is even possible to reduce the problem of whether a parameterized system satisfies a temporal specification for any number of processes to the same problem for systems with at most c processes. In fact, it is usually of interest to find such a number c that works for every specification formula of a given temporal logic [2, 10, 16, 26, 28]. Such a number is known as a cutoff for the given parameterized system.1 In other cases the reduction produces a single finite-state system, often in the form of a fair transition system (such as a Büchi automaton), that represents the set of all execution traces of systems of all sizes. Note that PMCP is at least as hard as ordinary model checking since one can consider a replicated process that does not communicate with any others.

The goal of this paper is to better understand the power and limitations of these techniques, and this is guided by three concrete questions.

Question 1. For which combinations of communication primitives, specification languages, and network topologies is the PMCP decidable? In case of a decidable configuration, what is the computational complexity of the PMCP?

In case a cutoff c exists, the PMCP is decidable by a reduction to model checking c many finite-state systems. The complexity of this procedure depends on the size of the cutoff. Thus we ask:

Question 2. When do cutoffs exist? In case a cutoff exists, can one compute a cutoff? And if so, is the computed cutoff the smallest possible?

The set of execution traces of a parameterized system (for a given process type P) is defined as the projection onto the local states of P of all (infinite) runs of systems of all sizes.2 In case this set is ω-regular, one can reduce the PMCP of certain specifications (including classic ones such as coverability) to the language containment problem for automata (this is the approach taken in [36, Section 4]). Thus we ask:

Question 3. Is the set of executions of the system ω-regular? And if so, how big is a non-deterministic Büchi word automaton recognizing this set?

System model

In order to model and verify a concurrent system we should specify three items: (i) the communication primitive, (ii) the specification language, and (iii) the set of topologies.

  • (i)

    In this work we focus on concurrent systems in which processes have finitely many states and communicate via pairwise rendezvous [36]. Pairwise-rendezvous is like CSP message passing, and can model, for instance, the communication in population protocols [9, 32], vector-addition systems with states (or equivalently, Petri nets) [29], and concurrent Boolean programs with locks or shared variables [12, 42]. We also treat two other communication primitives which are expressible in terms of pairwise rendezvous, namely disjunctive guards [24] and token-passing systems [2, 16, 28]. A much more powerful communication is broadcast [27, 31], which is like Ethernet broadcast and the notifyAll method in Concurrent Java [20]. The relative expressive power of pairwise-rendezvous and various other communication primitives, including disjunctive guards and broadcast, is studied in [7], and decidability of the PMCP with all the mentioned communication primitives, as well as others, is summarised in [14].

  • (ii)

    Specifications of parameterized systems are typically expressed in indexed temporal logic [15] which allows one to quantify over processes. For instance, the formula ij.AG(¬(critical,i)¬(critical,j)) says that no two processes are in their critical sections at the same time. We focus on a fragment of this logic where the process quantifiers only appear at the front of a temporal logic formula—allowing the process quantifiers to appear in the scope of path quantifiers results in undecidability even with no communication between processes [41].

  • (iii)

    The sets of topologies we consider all have either bounded tree-width, or more generally bounded clique-width, and are expressible in one of three ways.3

  1. Using MSO, a powerful and general formalism for describing sets of topologies, which can express e.g., planarity, acyclicity and -connectivity.

  2. As iteratively constructible sets of topologies, an intuitive formalism which creates graph sequences by iterating graph operations [34]; many typical classes of topologies (e.g., all rings, all stars, all cliques) are iteratively constructible.

  3. As homogeneous sets of topologies, which includes, e.g., the set of cliques and the set of stars, but excludes the set of rings.

Iteratively constructible and homogeneous sets of topologies are MSO-definable, the former in the presence of certain auxiliary relations.

Prior work and our contributions

For each communication primitive (rendezvous, disjunctive guards, token passing) and each question (decidability and complexity, cutoffs, equivalent automata) we summarise the known answers and our contributions. Obviously, the breadth of questions along these axes is great, and we had to limit our choices as to what to address. Thus, this article is not meant to be a comprehensive taxonomy of PMCP. That is, it is not a mapping of the imaginary hypercube representing all possible choices along these axes. Instead, we started from the points in this hypercube that represent the most prominent known results and, guided by the three main questions mentioned earlier, have explored the unknown areas in each point’s neighborhood.

Pairwise rendezvous

Decidability and complexity. The PMCP for systems communicating by pairwise rendezvous, on clique topologies, with a controller C,4 for 1-index LTL\X specifications is Expspace-complete [30, 36] (Pspace-complete without a controller [36, Section 4]). We show the PMCP is undecidable if we allow the more general 1-index CTL\X specifications. Thus, for the results on pairwise rendezvous we fix the specification language to be 1-index LTL\X. We prove that the PMCP of 1-index LTL\X remains in Expspace even if one allows homogeneous topologies (Pspace-complete without a controller). We also prove that the program complexity is in Expspace (Ptime without a controller). In contrast, if one allows non-homogeneous topologies, the PMCP is much harder, e.g., it is undecidable for the simple case of unidirectional rings and 1-index safety specifications (this is implied by [28, 52]).

Cutoffs. We show that even for clique topologies there are not always cutoffs.

Equivalent automata. We prove that the set of executions of systems with a controller are not, in general, ω-regular, already for clique topologies. On the other hand, we extend the known result that the set of executions for systems with only user processes U (i.e., without a controller) is ω-regular for clique topologies [36] to homogeneous topologies, and give an effective construction of the corresponding Büchi automaton.

Disjunctive guards

Decidability and complexity. We show that, similar to pairwise-rendezvous systems, the PMCP is undecidable if we allow 1-index CTL\X specifications already for clique topologies, and for 1-index LTL\X specifications already for uni-directional ring topologies. Thus, we restrict our attention to specifications in 1-index LTL\X and homogeneous topologies. We prove that the complexity of the PMCP is Pspace-complete for homogeneous topologies (irrespective of whether or not there is a controller). The program complexity is in Ptime without a controller, and in co-NP with a controller, and is co-NP hard already for the restricted case of a parameterized clique topology.

Cutoffs. It is known that cutoffs exist for disjunctively guarded clique topologies and are of size |U|+2 [24]. We prove that these cutoffs are tight. We then go on and prove a more general cutoff theorem for disjunctively guarded systems in homogeneous parameterized topologies.

Equivalent automaton. We prove that the set of executions is accepted by an effectively constructible Büchi automaton of size O(|C|2×2|U|). It is very interesting to note that this size is smaller than the smallest system size one gets (in the worst-case) from the cutoff result, namely |C|×|U||U|+2. Hence, the PMCP algorithm obtained from the cutoff is less efficient than the one obtained from going directly to a Büchi automaton. As far as we know, this is the first theoretical proof of the existence of the phenomenon that cutoffs may not yield optimal algorithms. We also prove that, in general, our construction is optimal, i.e., that in some cases every automaton for the set of executions must be of size 2Ω(|U|+|C|).

Token passing

In this section we focus on MSO-definable sets of topologies of bounded tree-width or clique-width, as well as on iteratively-constructible sets of topologies.

Decidability and complexity. We prove that the PMCP is decidable for indexed CTL\Xon such topologies. This considerably generalizes the results of [2], where decidability for this logic was shown for a few concrete topologies such as rings and cliques.

Cutoffs. We prove that the PMCPs have computable cutoffs for indexed CTL\X. From [2] we know that there is a (computable) set of topologies and a system template such that there is no algorithm that given an indexed CTL\X formula can compute the associated cutoff (even though a cutoff for the given formula exists). This justifies our search of sets of topologies for which the PMCP for CTL\X has computable cutoffs. We also give a lower bound on cutoffs for iteratively-constructible sets and indexed LTL\X.

Equivalent automaton. Our ability to compute cutoffs for 1-index LTL\X formulas implies that the sets of execution traces are ω-regular, and the construction of Büchi automata which compute these traces is effective.

Definitions and preliminaries

A labeled transition system (LTS) is a tuple (S,R,I,Φ,AP,Σ), where S is the set of states, RS×Σ×S is the transition relation, IS are the initial states, Φ:S2AP is the state-labeling, AP is a set of atomic propositions or atoms, and Σ is the alphabet of transition labels. When AP and Σ are clear from the context we drop them. A finite LTS is an LTS in which S,R,Σ are finite and Φ(s) is finite for every sS. Transitions (s,a,s)R may be written sas. A transition system (TS) (S,R,I,Σ) is an LTS without the labeling function and without the set of atomic propositions.

A path of an LTS is a finite sequence of the form s0a0s1a1sn(SΣ)S or an infinite sequence of the form s0a0s1a1(SΣ)ω such that (si,ai,si+1)R for all i. A state-labeled path of an LTS is the projection s0s1 of a path onto states S. An action-labeled path of an LTS is the projection a0a1 of a path onto transition labels Σ. A run is an infinite path that starts in an initial state. Similarly, a state-labeled run is a state-labeled path that is infinite and starts in an initial state. However when it is clear from the context we will say ‘run’ instead of ‘state-labeled run’ (e.g., LTL formulas are interpreted over runs s0s1). For a path π, write Φ(π) for the induced sequence of labels, i.e., Φ(s0)Φ(s1).

If ρ=f0f1 is a sequence of vectors, i.e., fi:XY (for some fixed sets XY), and xX, define the projection of ρ to x, written projx(ρ), to be the sequence f0(x)f1(x) of elements of Y.

We now introduce notation for automata over infinite and finite strings. For a finite set Σ, write Σω for the set of infinite strings over Σ. Subsets of Σω are called languages. A (nondeterministic) Büchi word-automaton (NBW) A is a tuple (Σ,Q,I,Δ,F) where Σ is a finite input alphabet, Q is a finite set of states, IQ is the set of initial states, ΔQ×Σ×Q is the transition relation, and FQ are the accepting states. A run in A is an infinite path through A that starts in an initial state. The run is successful if a state from F appears infinitely often. The language accepted by the automaton A is the set of all infinite strings αΣω that label successful runs in A. Languages accepted by NBWs are called ω-regular. A nondeterministic word automaton (NFW) is similar, except that runs are finite, and a successful run is one that ends in a state of F. The language of an NFW is thus a subset of Σ, i.e., a set of finite strings over alphabet Σ. Languages accepted by NFWs are called regular.

Undecidability proofs will make use of reductions from two-counter machines, known to be Turing powerful [46]. A 2CM is a finite set of instructions, say I1,,Im, where each instruction is from the following instruction set: HALT (the machine stops when it reaches this instruction), INC(i) (increment counter i by one), DEC(i) (decrement counter i by one), and JZ(i,k) (if counter i is zero then goto instruction Ik). Note that after performing each instruction (except for HALT or a JZ that performs a goto) the 2CM moves from it’s current instruction Ij to the next instruction Ij+1. We assume w.l.o.g. (by guarding every decrement with a test for zero) that the machine never tries to decrement a zero counter.

Process template, topology, pairwise rendezvous system

We define how to (asynchronously) compose processes that communicate via pairwise rendezvous into a single system. We consider discrete time (i.e., not continuous). Processes are not necessarily identical, but we assume there are only a finite number of different process types. Roughly, at every vertex of a topology (a directed graph with vertices labeled by process types) there is a process of the given type running; at every time step, either, and the choice is nondeterministic, exactly one process makes an internal transition, or exactly two processes with an edge between them in the topology perform a synchronizing transition, i.e., they instantaneously synchronize on a message (sometimes called an action) mΣsync. The sender of the message m performs an m! transition, and the receiver an m? transition. In this model processes have no IDs, and thus in particular, the sender can not direct the message to a specific neighbouring process (nor can the receiver choose from where to receive it), but the pair is chosen non-deterministically.5

In the following we fix a countable set of atoms APpr, as well as a finite synchronization alphabet Σsync (that does not include the symbol τ). Define the communication alphabet: Σ={m!,m?|mΣsync}

Process template and system template A pairwise-rendezvous process template is a finite LTS of the form P=(S,R,{ι},Φ,APpr,Σ{τ}). Since APpr and the communication alphabet are typically fixed, we will usually omit them. The pairwise-rendezvous system arity is a natural number rN. It refers to the number of different process types in the system. We call the transitions of a process template local transitions. A pairwise-rendezvous r-ary system template is a tuple of process templates P¯=(P1,,Pr) where r is the system arity. The process template Pi=(Si,Ri,{ιi},Φi) is called the i th process template. We sometimes drop the adjectives “r-ary” and “pairwise-rendezvous”.

Topology An r -topology is a finite structure G=(V,E,T1,,Tr) where EV×V, and the TiV partition V.6 The type of vV denoted type(v) is the unique jr such that vTj. We might write VG,EG and typeG to stress G.

We write [n] to denote the set {1,,n}, for any nN. We sometimes assume that V:=[n] for some nN. For instance the 1-ary ring topology with V={1,,n} has E={(i,j)[n]2|j=i+1modn} and T1=V.

Pairwise-rendezvous system Given a system arity r, a system template P¯=(P1,,Pr) with Pi=(Si,Ri,{ιi},Φi), and an r-topology G=(V,E,T¯), define the system P¯G as the LTS (Q,Δ,Q0,Λ,APpr×V,Σsync{τ}) where

  • The set Q is the set of functions f:VirSi such that f(v)Si iff type(v)=i (for vV,ir). Such functions (sometimes written as vectors) are called configurations.

  • The set Q0 consists of the unique initial configuration fι defined as fι(v)=ιtype(v) (for all vV).

  • The set of global transitions Δ are tuples (f,m,g)Q×(Σsync{τ})×Q where one of the following two conditions hold:
    • m=τ and there exists vV such that f(v)τg(v) is a transition of the process template Ptype(v), and for all wv, f(w)=g(w); this is called an internal transition,
    • mΣsync and there exists vwV with (v,w)E such that f(v)m!g(v) is a transition of Ptype(v) and f(w)m?g(w) is a transition of Ptype(w) and for all z{v,w}, f(z)=g(z); this is called a synchronous transition. We say that the process at v sends the message m and the process at w receives the message m.
  • The labeling function Λ:Q2APpr×V is defined by (p,v)Λ(f)pΦtype(v)(f(v)) (for configurations f, atoms pAPpr and vertices vV).

In words then, a topology of size n specifies n-many processes, which processes have which type, and how the processes are connected. In the internal transition above only the process at vertex v makes a transition, and in the synchronous transition above only the process at vertex v and its neighbour at w make a transition. Let π=f0f1 be a state-labeled path in P¯G. The projection of π to vertex vV, denoted projv(π), is the sequence f0(v)f1(v) of states of Ptype(v). If type(v)=j we say that the vertex v runs (a copy of) the process Pj, or that the process template at v is Pj. We sometimes drop the adjective “pairwise-rendezvous” and simply talk about a system.

Disjunctively-guarded systems and token passing systems

We define disjunctively-guarded systems and token-passing systems as restricted forms of pairwise rendezvous systems. In fact, the restrictions are on the synchronization alphabet, the system template, and in case of token passing systems also on the topology. Write Pi=(Si,Ri,{ιi},Φi,APpr,Σ{τ}).

Disjunctively-guarded system. A disjunctively-guarded system template is a system-template P such that

  • The synchronization alphabet is Σsync is irSi, and the communication-alphabet Σ is {τ}{q!,q?|qSi}.

  • The state sets of the process templates are pairwise disjoint, i.e., SiSj= for 1i<jr.

  • For every state sSi (ir), there is a transition in Si labeled ss?s.

  • For every state sSi (ir), the only transitions in Si labeled s? are of the form ss?s.

Observe that a process can take a transition qs!q iff there is some other process in state s, and that the receiver of a message s stays in state s. We say that the transition qs!q is guarded by the state s. We say that a process in a disjunctively-guarded system that is in a state s opens the gate s.

In the following, given any pair of states q and q, and given some finite set of states Y={y1,,yn}, we usually write qYq instead of writing the multiple transitions qy!q for yY. We usually also forgo writing the τ-label (and thus write qp instead of qτp).

A disjunctively-guarded system is a system formed using disjunctively-guarded system templates. Our definition of disjunctively-guarded systems on a clique topology is a reformulation of the definition of concrete system in [24, Section 2]: there, local transitions of process templates can be guarded by disjunctive boolean formulas that observe the local state of some other process. In our encoding, the observer and the observed processes synchronize: the former does the desired local transition, while the latter self-loops, not changing its local state. For this encoding to work, we require that the transition labels have the same name of the local states of the observed process templates.

Token passing system. In this work we only consider the case of token passing systems (TPS) with a single valueless token [2, 28]. A token passing system template is a system template P such that

  • Σsync={tok}, i.e., the only synchronization operation is passing the token.

  • The system arity r satisfies r2.

  • Every set Si is partitioned into Sitok{tok}×N and Sintok{ntok}×N. We think of Sitok (resp. Sintok) as the states in which the process has (resp. does not have) the token.

  • If (s1,τ,s2)Ri, then s1,s2Sitok or s1,s2Sntok, i.e., internal transitions do not affect whether the process has the token.

  • If (s1,tok!,s2)Ri, then s1Sitok and s2Sintok, i.e., tok! is the action of token sending.

  • If (s1,tok?,s2)Ri, then s1Sintok and s2Sitok. i.e., tok? is the action of token receiving.

  • ι1S1tok and for every i>1, ιiSintok, i.e., a process with template P1 starts with the token.

A token passing system is a system formed using a token passing system template and a topology G such that |T1|=1, i.e., exactly one process can start with the token.

Intuitively, at any time during the computation, exactly one vertex has the token. The token starts with the unique process P1, and later may be passed to processes in P2,,Pr. This means that the token passing systems considered in this work inherently requires topologies with controllers (see Sect. 2.8 for details). At each time step either exactly one process makes an internal transition, or exactly two processes synchronize when one process sends the token to another along an edge of G.

Parameterized topologies

Parameterized topology. An r-ary parameterized topology G is a set of r-topologies such that membership in G is decidable. We may drop the adjective “r-ary”. The following are typical examples of parameterized topologies.

  • The set of all 1-ary ring topologies.

  • The set of all r-ary clique topologies.

  • The set of all 2-ary ring topologies (V,E,T1,T2) such that |T1|=1. In a given topology of this form, the unique process at the vertex of type 1 is called a controller, and the processes at the vertices of type 2 are called users. See Sect. 2.8 for more on controllers and users.

Homogeneous parameterized topology. We now define the homogeneous parameterized topologies which generalize the clique parameterized topologies.

An r-ary parameterized topology G is homogeneous if there is a directed graph H with vertex set VH=[r] and edge set EH and a partition Bsng,Bclq,Bind of [r] such that an r-ary topology G=(V,E,T1,,Tr)G if and only if

  1. For every iBsng there exists a unique vV such that vTi;

  2. For every iBclq and u,vTi: E(uv) and E(vu);

  3. For every iBind and u,vTi: ¬E(u,v) and ¬E(v,u);

  4. For every ijVH and uTi,vTj: E(uv) if and only if EH(i,j).

In other words, G is formed from H by substituting each vertex in Bclq with a clique, each vertex in Bind with an independent set, leaving every vertex in Bsng as a single vertex, and connecting vertices as they were connected in H.

We say that G is generated by H and Bsng,Bclq,Bind. The cardinality of Bsng is the number of controllers in G. In case Bsng= we say that G is controllerless, and otherwise we say that G is controlled. If Bind= and H is a clique, then we say that G is an r -ary clique parameterized topology. If Bind=Bsng= then G is called the r -ary controllerless-clique parameterized topology.

We now give some examples. Fix the 2-topology H with vertex set VH={1,2} and edge set {(1,2),(2,1)} and type(i)=i for i[2].

Example (Cliques) The set of 2-ary cliques in which exactly one index has type 1 is homogeneous generated by the H above, Bclq={2}, Bind= and Bsng={1}.

Example (Stars) The set of stars in which exactly one index has type 1 is homogeneous using H above, Bclq=, Bind={2} and Bsng={1}.

Example (Bipartite graphs) The set of topologies that are complete bipartite graphs is homogeneous using H above, Bind={1,2}, and Bclq=Bsng=.

Example (Rings are not homogeneous) The length of the longest simple path in any member of an homogeneous parameterized topology generated by H is at most the number of vertices in H. Thus the set of rings is not homogeneous (for any H).

Call a homogeneous parameterized topology H non-trivial if there exists iBsng and jBclqBind such that (i,j)EH and (j,i)EH. Informally, a non-trivial homogeneous parameterized topology means that there is bi-directional communication between a controller and arbitrarily many user processes. This notion is used for some of the lower-bounds in Sects. 3 and 4.

Indexed temporal logic

We assume the reader is familiar with the syntax and semantics of CTL and LTL, see e.g., [11]. Indexed temporal logics were introduced by [15] to model specifications of certain distributed systems. They are obtained by adding vertex quantifiers to a given temporal logic over indexed atomic propositions. For example, in a system with two process templates, the formula Inline graphic states that every process of type 1 on all computations at all points of time satisfies the atom good. In a system with one process template, the formula Inline graphic states that it is never the case that two processes both satisfy the atom Inline graphic at the same time.7

Syntax Fix an infinite set Vars={i,j,} of vertex variables (called index variables). A vertex quantifier is an expression of the form x:type(x)=m or x:type(x)=m where mN. An indexed CTL formula over vertex variables Vars and atomic propositions APpr is a formula of the form Q1i1,,Qkik.φ, where each inVars, each Qin is an vertex quantifier, and φ is a CTL state formula over atomic predicates APpr×Vars.

Semantics An indexed CTL formula ϕ is interpreted over a system P¯G=(Q,Δ,{fι},Λ,APpr×V,Σsync{τ}) (for r-ary system template P¯ and r-topology G=(V,E,T¯)). A valuation is a function e:VarsV.

For some state formula ϕ, and valuation e define (P¯G,e,q)ϕ inductively. Path formulas are interpreted similarly, but over (P¯G,e,π), where π is a run of P¯G. The only new cases are the base case and the quantifier case.

Base case:

For (p,i)APpr×Vars define (P¯G,e,q)(p,i) to mean that (p,e(i))Λ(q). In words, the atom p holds at the state of the process at vertex e(i)V.

Quantifier case:

An i-variant of a valuation e is a valuation e with e(j)=e(j) for all jVars with ji. Define Inline graphic to mean that for all i-variants e of e, if typeG(e(i))=m then (P¯G,e,q)ϕ. The semantics of the quantifiers Inline graphic are defined similarly.

Finally, define P¯Gϕ if it holds (P¯G,fι)ϕ for the initial state fι of P¯G.

Notation

In the rest of the paper we will apply the following conventions, for the sake of readability.

  • An atom (p,j)APpr×Vars is sometimes also written as pj.

  • A formula Inline graphic is called a sentence if for every atom (p,j)APpr×Vars that occurs in the formula, there is a quantifier that binds j, that is, j{i1,,ik}.

  • The formula is called universal (resp. existential) if all the vertex quantifiers Q1i1,,Qkik are universal (resp. existential).

  • For k>1 we allow more general quantification such as ij. The semantics are defined in the natural way, see the full version of [2].

  • In case of 1-ary systems, we may write x instead of x:type(x)=1.

  • In the syntax of indexed formulas we sometimes write type(x)=Pm instead of type(x)=m.

  • Write i-CTL for the set of all indexed CTL sentences, and k-CTL for the set of all k-indexed formulas in i-CTL, i.e., formulas with k many quantifiers. Write CTLd for the fragment of CTL with path-quantifier nesting-depth at most d [49]. We similarly define indexed versions of the various natural fragments of CTL, e.g., i-LTL, k-LTL\X and k-CTLd\X.

  • Say that P¯G is k-CTLd\X-equivalent to P¯G, written P¯Gk-CTLd\XP¯G, if they agree on all k-CTLd\X formulas: for every k-CTLd\X formula ϕ it holds that P¯Gϕ iff P¯Gϕ.

Note. The index variables are bound outside of all the temporal path quantifiers (A and E). In particular, for an existentially quantified LTL formula to be satisfied there must exist a valuation of the index variables such that ϕ holds for all runs (and not one valuation for each run). Thus this logic is sometimes called prenex indexed temporal logic. Note that if one allows vertex quantifiers inside the scope of temporal path quantifiers then one quickly reaches undecidability even for systems with no communication [41].

For the remainder of this paper specifications only come from i-CTL\X, i.e., without the next-time operator X. It is usual in the context of parameterized systems to consider specification logics without the next-time operator. The reason is that since we discretize time, when a process makes an internal transition time proceeds by one step. However, a formula that talks about one processes should usually not be able to (as X allows) refer to the time advance caused by other processes making internal moves.

The parameterized model checking problem

Fix an r-ary parameterized topology G, a set of r-ary system templates P, and a set of indexed temporal logic sentences F. The parameterized model checking problem (PMCP), written PMCPG(P,F), is to decide, given a formula φF and a system template P¯P, whether for all GG, P¯Gφ. The complexity of the PMCPG(P,F), where the formula φF is fixed and only the system template is given as an input, is called the program complexity.

Process executions

In this section we define process executions, and show in Lemma 2 how to reduce reasoning about Indexed Temporal Logic over homogeneous parameterized topologies to reasoning about process executions. In Corollary 1 we show how to apply the automata-theoretic approach to reasoning about the PMCP, and in Lemma 3 we show how to reduce homogeneous systems to clique systems.

First we define the destuttering of a word, which roughly means that one removes identical consecutive letters. The destuttering of a word αΣωΣ is the word αδΣωΣ, also denoted destutter(α), defined by replacing every maximal finite consecutive sequence of repeated symbols in α by one copy of that symbol. Note that if α is infinite, then αδ is also infinite. Thus, the destuttering of (aaba)ω is (ab)ω; the destuttering of aabω is abω; and the destuttering of (aaba)k is (ab)ka. The destuttering of the set LΣω, written Lδ, is the set {αδ|αL}. The stuttering closure of L, written Lδc, is the set {α|αδLδ}.

Lemma 1

If LΣω is ω-regular then so are the sets Lδc and Lδ. Moreover, let Q be the set of states of the Büchi automaton for L, then Lδ and Lδc are recognized by a Büchi automaton in time O(|Q|×|Σ|).

Proof

Given a Büchi automaton A recognizing L with states Q, we first obtain an automaton A (with states Q×Σ) also recognizing L by refining the states of A to remember the last symbol read. We can obtain an automaton B for the stuttering closure Lδc by adding transitions to A: for every state (qa) of A add the transition (q,a)a(q,a); and for every transition of A of the form (q,a)a(q,a) add the epsilon-transition (q,a)ϵ(q,a). To obtain an automaton for the destuttering Lδ, intersect B with an automaton for those strings βΣω such that if βi=βi+1 then βi=βj for all j>i.

It is known that LTL\X cannot distinguish between a word and its destuttering (this follows, e.g., from [49]), which is the main motivation for the next definition.

Process executions. Fix an r-ary parameterized topology G and an r-ary system template P¯=(P1,,Pr). Define the set of (process) executions associated with a r-topology GG and vertex vVG:

EXECG(P¯,v):={destutter(projv(π))|πis a state-labelled run ofP¯G}.

For tr, define the t-process executions in G to be the union of all process executions associated with vertices of type t:

T-EXECG(P¯):={EXECG(P¯,v)|vVG,type(v)=t}.

Finally, define the set of t-process executions of the parameterized topology G:

T-EXECG(P¯):=GGT-EXECG(P¯).

Intuitively, T-EXECG(P¯) contains all sequences of Pt states visited by some instance of Pt along some run. When G or P¯ are clear from the context we may omit them.

The following lemma says that we can reduce PMCP of 1-index LTL\X to model checking an ordinary LTL\X formula over the set T-EXECG(P¯). Although we state it for pairwise-rendezvous system templates, its proof only uses symmetry (i.e., on a homogeneous topology G, we have that T-EXECG(P¯) is equal to the set of executions EXECG(P¯,v) of any single process v of type t), and the fact that LTL\X can not distinguish between a word and its destuttering.

Lemma 2

Fix an r-ary homogeneous parameterized topology G, pairwise-rendezvous system template P¯, and 1-index LTL\X sentence of the form ψ=Qx:type(x)=t.ϕ (for Q{,} and tr). Let ϕ be the LTL\X formula in which every atom in ϕ of the form (ax) has been replaced by the atom aAPpr. The following are equivalent:

  1. πT-EXECG(P¯) we have that πϕ,

  2. For all GG and all vVG of type t in G, and all πEXECG(P¯,v), we have that πϕ.

  3. GG,P¯Gx:type(x)=t.ϕ

  4. GG,P¯Gx:type(x)=t.ϕ

Proof

It is easy to see that, for the case of a clique topology G, the truth value of a 1-indexed LTL\X sentence of the form x:type(x)=t.ϕ depends only on the set T-EXECG(P¯). Observe that, on a homogeneous topology G, due to symmetry, we have that T-EXECG(P¯) is equal to the set of executions EXECG(P¯,v) of any single process v of type t. Indeed, if v,v are both of type t, then for every run π of P¯G, there is a run π of P¯G, such that projv(π)=projv(π). The run π is obtained by simply replacing the roles of v and v on π (i.e., by replacing any local transition of v with one of v, and vice-versa). This is possible since, being of the same type t, the vertices v,v have exactly the same neighbouring vertices.

In the automata-theoretic approach to model checking [53], one reduces the question of whether every execution of a system satisfies an LTL formula ϕ to the emptiness of the intersection of A and A¬ϕ, where A is a non-deterministic Büchi word automaton (NBW) accepting the set of executions of the system and A¬ϕ is an NBW accepting the set of words for which ¬ϕ holds. Together with Lemma 2, this gives us the following corollary:

Corollary 1

Assume the hypotheses of Lemma 2. Then [GG·P¯Gψ] if and only if the intersection of A and A¬ϕ is empty, where A is an NBW for the language {Φ(α):αT-EXECG(P¯)} (and Φ is the state-labeling of the process template with type t).

From homogeneous to clique. We show a general reduction from homogeneous systems to clique systems. Moreover, if the homogeneous system is controllerless then so is the clique-system. Recall that homogeneous parameterized topologies are generated by an r-ary topology H (where each vertex has a unique type) and a partition Bind,Bclq,Bsng of [r].

Lemma 3

Let G be an r-ary homogeneous parameterized topology, and let P¯=(P1,,Pr) be a pairwise-rendezvous r-ary system template.

  1. If G is controllerless, then there exists a pairwise-rendezvous template P¯ such that 1-EXECG(P¯)={I-EXECG(P¯):iBclqBind}, where G is the 1-ary controllerless-clique parameterized topology. Also, |P¯|=i|Pi|.

  2. If G is controlled, then there exists a pairwise-rendezvous 2-ary system template P¯=(P1,P2) and a 2-ary controlled-clique parameterized topology G, such that 1-EXECG(P¯) is equal to {I-EXECG(P¯):iBclqBind}, and for every iBsng,
    I-EXECG(P¯)=destutter(proji(2-EXECG(P¯))).
    Moreover, |P1| is equal to iBclqBind|Pi| and |P2| is equal to iBsng|Pi|.
  3. If P¯ is a disjunctively-guarded system template, then also the system template P¯ in items 1 and 2 above can be taken to be disjunctively-guarded.

Proof

We prove the controlled case (the controllerless case is simpler). Given an r-ary system template P¯, let the controlled homogeneous parameterized topology G be generated by H=(VH,EH) and some partition Bsng, Bclq, Bind of VH.

The basic idea behind the reduction is that the process template P1 is the disjoint union of the Pi with iBclqBind, and the process template P2 is the product of the Pi with iBsng. Thus, every process running P1 can nondeterministically decide (by starting in the corresponding component) which of the Pis to simulate, and the single process running P2 simulates all of the Pis with iBsng. Note that (by definition of homogeneous) every GG is formed from some function SG:VHN such that every vertex i in H is replaced with a clique (if iBclq) or an independent set (if iBind), of size SG(i). In this case let G be the 2-ary clique of size 1+Σi=1rSG(i) (i.e., it has one vertex of type 1, and the rest are of type 2). Let G be the set of all such G and note that G is a 2-ary controlled clique parameterized topology. We can simulate every computation of P¯G by a corresponding computation of P¯G, and vice versa, in which, for every iBclqBind, exactly SG(i) processes make the nondeterministic choice to use the portion of P1 that is Pi. Observe that, in G, a process associated with a vertex iVH can send a message m to another process, which is associated with a vertex j of H, if and only if either (i,j)EH, or, iBclq and i=j. We mirror this restriction in P¯G as follows: in P1, every state that is in the Pi-component attaches i to every message that it sends, and for every jBclqBind, a state that is in the Pj-component can receive a message (m,i) if and only if either (i,j)EH, or, i=j and jBclq. Similarly, in P2, the ith co-ordinate (for iBsng) attaches i to the messages it sends, and for every jBsng, the jth co-ordinate of P2 can receive message (m,i) if and only if (i,j)EH.

Formally, suppose (for iVH) that Pi is the ith template in P¯, say with state set Si. Assume w.l.o.g. that SiSj= for all ij, and that Σ={m!,m?|mΣsync}. Define the state set of P1 to be the disjoint union of the Sis for iBclqBind. Thus P1 has multiple initial states.8 Define the state set of P2 to be the product of the Sis for iBsng. Formally, the states are functions t:BsngiBsngSi such that t(i)Si. The initial state of P2 is the function ι2 assigning to each iBsng the initial state of Pi.

The communication alphabet is the set Σ:={(m,i)!,(m,i)?|mΣsync,iVH}. The transitions of P¯G are simulated by P¯G below. In the following, transitions sending a message from i to j are simulated according to the sets Bind,Bclq,Bsnd to which i and j belong: transitions from iBsng to jBsng are simulated in items (A) and (D); transitions from iBsng to jBsng are simulated in items (B) and (C); transitions from iBsng to jBsng are simulated in items (A) and (C); and transitions from iBsng to jBsng are simulated in item (E). Internal transitions are simulated in items (F) and (G). The transitions from the dummy initial state of P1 to the initial states of iBsng are given in item (H).

  • (A)

    If iBindBclq, and sm!s is a transition of Pi, then s(m,i)!s is a transition of P1;

  • (B)

    If iBsng, and sm!s is a transition of Pi, then t(m,i)!t is a transition of P2 where t(i)=s,t(i)=s and t(l)=t(l) for li;

  • (C)

    if i=jBclq, or (i,j)EH for iVH,jBindBclq, and sm?s is a transition of Pj, then s(m,i)?s is a transition of P1;

  • (D)

    if (i,j)EH, iBindBclq, jBsng, and sm?s is a transition of Pj, then t(m,i)?t is a transition of P2 where t(j)=s,t(j)=s and t(l)=t(l) for lj;

  • (E)

    If ijBsng, and sm!s is a transition of Pi, and rm?r is a transition of Pj, then tτt is a transition of P2 where t(i)=s,t(i)=s, t(j)=r,t(j)=r, and t(l)=t(l) for l{i,j};

  • (F)

    If iBindBclq, and sτs is a transition of Pi, then sτs is a transition of P1;

  • (G)

    If iBsng, and sτs is a transition of Pi, then tτt is a transition of P2 where t(i)=s,t(i)=s and t(l)=t(l) for li;

  • (H)

    If iBindBclq and ιi is the initial state of Pi then ι1τιi is a transition of P1.

It is straightforward to check that we can indeed simulate every computation of P¯G by a corresponding computation of (P1,P2)G, and vice versa, which takes care of items 1 and 2 in the statement.

For item 3, observe that the communication primitive used by P¯ is the same as the one used in P¯.

Cutoffs and decidability

Cutoff

A cutoff for PMCPG(P,F) is a natural number c such that for every P¯P and φF, the following are equivalent:

  • (i)

    P¯Gφ for all GG with |VG|c;

  • (ii)

    P¯Gφ for all GG.

Observe that the model checking problem P¯Gφ (for φ an indexed CTL\X formula) is decidable since P¯G is a finite structure and φ can be replaced by a Boolean combination of CTL\X formulas, e.g., x.ϕ becomes xGϕ.

Proposition 1

Let F be a set of indexed-CTL\X formulas. If PMCPG(P,F) has a cutoff then PMCPG(P,F) is decidable.

Proof

If c is a cutoff, let G1,,Gn be all topologies G in G such that |VG|c. The algorithm that solves PMCP takes P¯,φ as input and checks whether or not P¯Giφ for all 1in.

We remark that the previous proposition is not constructive. It simply says that from the existence of a cutoff one can deduce the existence of an algorithm.

The following theorem says that if there is a cutoff for the set of 1-indexed LTL\X formulas then the set of executions is ω-regular. Although it is stated for pairwise-rendezvous system templates, the proof is generic.

Theorem 1

Fix an r-ary parameterized topology G, let P¯ be a pairwise-rendezvous r-ary system template such that the set of atomic propositions APpr contains all the states of process templates in P¯,9 and let F be the set of 1-index LTL\X formulas over APpr. If PMCPG({P¯},F) has a cutoff, then for every tr the set of executions T-EXECG(P¯) is ω-regular.

Proof

Let c be a cutoff, and let G~={GG|VG|c} be the set of the topologies in G below the cutoff. Observe that it is enough to prove that T-EXECG(P¯)=T-EXECG~(P¯). Indeed, it is not hard to see that given GG~, and a vertex vVG, we can easily modify P¯G to an NBW that recognizes the language EXECG(P¯,v). Thus, by taking the disjoint union of all these NBW for every GG~ and every vertex vVG of type t, we can obtain an NBW accepting T-EXECG~(P¯) (the finiteness of G~ ensures that we indeed get a finite state automaton).

We now show that T-EXECG(P¯)=T-EXECG~(P¯). The fact that T-EXECG~(P¯)T-EXECG(P¯) is obvious. For the other direction, fix some GG, and consider some wT-EXECG(P¯). We claim that every prefix u of w is also the prefix of some word wT-EXECG~(P¯). The claim implies that wT-EXECG~(P¯) (and thus completes the proof) as follows. For every GG~, consider the tree of words in T-EXECG(P¯) that are prefixes of w. Observe that, by the claim above, all (the infinitely many) prefixes of w appear in one of these trees, and recall that G~ is finite. Hence, by Kőnig’s lemma, there is an infinite path in one of these trees that contains infinitely many such prefixes, and thus all such prefixes. It follows that wT-EXECG~(P¯).

It remains to prove the claim. Let u:=u1u2uk be a prefix of wT-EXECG(P¯), and let ψu=x:type(x)=t.A¬ϕ where

ϕ=(u1,x)U((u2,x)U((u3,x)U(U(uk,x))).

Intuitively, this formula says that no t-execution starts with u. Note that ψu is a 1-indexed LTL\X formula over APpr (by our assumption on APpr). Observe that since u is a prefix of w, there exists GG such that P¯Gψu. Thus, since c is a cutoff, it is also the case that P¯Gψu for some GG~, i.e., u is also a prefix of some word in T-EXECG~(P¯).

Two prominent kinds of pairwise rendezvous systems

The parameterized verification literature often distinguishes between two kinds of concurrent systems: those with identical processes, and those in which there is a single process that acts as a controller or environment.

Identical processes. Concurrent systems in which all processes are identical are modeled with system arity r=1. In this case there is a single process template P, and the topology is G=(V,E,T1) with T1=V.

Identical processes with a controller. Concurrent systems in which all processes are identical except for one process (typically called a controller, or the environment) can be modeled with system arity r=2, and system templates of the form (P1,P2), and we restrict the topologies so that exactly one vertex has type 1 (i.e., runs the controller). We call such topologies controlled. We often write (CU) instead of (P1,P2). We write CONTROLLER-EXECG(C,U) for the set of executions of the controller process, i.e., 1-EXECG((C,U)). We write USER-EXECG(C,U) for the set of executions of the user processes in this 2-ary system, i.e., 2-EXECG((C,U)). When the parameterized topology G is clear from the context, we omit it.

Let us emphasize that the token passing systems with valueless tokens considered in this work are meaningful only for controlled topologies, since by definition (see Sect. 2.2) there exists exactly one copy of process template P1; this copy is the unique process where the token is at the start of the run.

Pairwise rendezvous systems

The known decidability results for model checking parameterized pairwise rendezvous systems are for clique topologies and specifications from 1-indexed LTL\X [36]. Thus, we might hope to generalize these results in two directions: more general specification languages and more general topologies. Unfortunately, as the following theorems show, we can not go too far in these directions. In Theorem 2 we show that one can reduce the non-halting problem of two-counter machines (2CMs), known to be undecidable, to the PMCP of 1-indexed CTL2\X formulas, i.e., 1-indexed formulas with at most 2 nestings of path quantifiers. Thus, allowing quite limited branching time specifications results in undecidability (already for cliques). This leads to the conclusion that we should restrict the specification logic if we want decidability (e.g., to LTL which has just 1 path quantifier), and try instead to look at topologies other than cliques. Unfortunately, as Theorem 3 shows, we also can not go too far in this direction.

Theorem 2

PMCPG(P,F) is undecidable where F is the set of 1-indexed CTL2\X formulas, G is the set of 1-ary clique parameterized topologies, and P is the set of pairwise-rendezvous 1-ary system templates.

Proof

We first prove the claim for systems with a controller. Thus, P consists of system templates of the form (CU) and G is the set of 2-ary clique topologies with a single vertex, say vertex 1, that runs the controller C.

We reduce the non-halting problem of two-counter machines (2CMs) [46], which is known to be undecidable, to the PMCP. See the preliminaries (Sect. 2) for the definition of 2CM.

The basic idea, based on the reduction in [28], is that the controller simulates the control flow of the 2CM, and the other processes (called memory processes) are each holding one bit of each of the two counters, and collectively storing the counter values using a unary encoding (see Fig. 1). The formula ψ to be model-checked is used to specify that the simulated computation of the 2CM halts, as well as to enforce correct simulation of JZ instructions. Due to the unary encoding we employ, a clique of n+1 vertices can simulate the 2CM with counter values up to n. Since the 2CM halts if and only if it halts with some bound n on the counter values, we can reduce the non-halting problem of the 2CM to the PMCP.

Fig. 1.

Fig. 1

Process template of memory processes for the proof of Theorem 2

Using pairwise rendezvous, simulating INC(i) and DEC(i) is straightforward. For example, INC(2) can be simulated by a synchronous transition using the message INC(2), where the process at vertex v that is running the controller sends INC(2) and updates it’s state from Ij to Ij+1 (simulating the 2CM move to the next instruction), and some vertex w running a memory process with a 0-valued counter 2 bit receiving INC(2) and updating this bit to 1. Simulating a JZ instruction is slightly more involved since there is no direct way for the controller to query all memory processes for their bit values. However, if all the bits of counter i in all memory processes are 0, then none of these processes is in a state with an outgoing local transition labeled by DEC(i)? and thus, even if the controller is willing to perform a synchronized transition on the message DEC(i), it will not be able to. In order to make use of this observation, for every instruction of the form Ij=JZ(i,k), the controller process C has the following 3 outgoing transitions: IjτIj+1,IjτIk,IjDEC(i)!NZ, where NZ is a special sink state labeled by the atomic proposition nz. Thus (assuming that for 1lm we label the state Il of C by the atomic proposition l), the formula ψ1=G((jUj+1)E(jUnz)) specifies that the move from Ij to Ij+1 is taken only when the counter i is not zero, and the formula ψ2=G((jUk)¬E(jUnz)) specifies that the move from Ij to Ik is taken only when counter i is zero. The full specification formula is thus x:type(x)=C.A¬ψ1¬ψ2¬F(halt,x) where halt is an atomic proposition that holds in states corresponding to HALT instructions and, for i{1,2}, ψi is the formula ψi in which every atomic proposition aAPpr is replaced by the atomic proposition (ax).

We now consider the case of 1-ary clique topology and a single process template P, without controller. In this case, P is simply the union of the controller and memory process templates CU used in the 2-ary clique case above, with an extra initial state q0 that has two outgoing transitions q0τI1,q0τ(0,0) one to each of the initial states of C and U. Thus, each process can nondeterministically decide to play the role of a controller or that of memory. Enforcing that exactly one process plays the controller is done as follows. We introduce a new state labeled by the atomic proposition conflict, and add the transitions I1problem!,sproblem?s, where s ranges over all states of P except for (0, 0). Hence, the formula ψ3=1¬E(1Uconflict) is satisfied in a computation of the system exactly at a point where one process (playing the controller) is at state I1 (recall that the label 1 holds only in the state I1), and the rest (playing memory) are at state (0, 0). The full formula to be model-checked is thus x·¬ψ1¬ψ2¬Fψ3¬F(halt,x) where ψ3 is ψ3 but with every atom aAPpr replaced by the indexed atom (a,x)APpr×Vars.

Second, pairwise rendezvous systems can easily simulate systems communicating using tokens with values. Thus, the fact that PMCP on token passing systems and parameterized ring topologies and safety property (for the controller) is undecidable (see [28, 52]) implies the same for pairwise rendezvous systems.

Theorem 3

PMCPG(P,F) is undecidable where F is the set of 1-indexed LTL formulas, G is the 2-ary controlled ring parameterized topology, and P is the set of pairwise-rendezvous 2-ary system templates.

Thus, in the rest of this section, we focus on linear logics and homogeneous parameterized topologies.

Cutoffs

Unlike systems using disjunctive guards or a valueless token for communication, systems using pairwise rendezvous do not always have a cutoff for 1-index LTL\X formulas.

Theorem 4

Let G be the 1-ary controllerless clique parameterized topology, and let F be the set of 1-index LTL\X formulas. There exists a pairwise-rendezvous process template U such that PMCPG({U},F) has no cutoff.

Proof

Define process template U=(S,R,I,Φ) as in Fig. 2, where Φ(qi)={qi}. In a system with n+1 such processes, one possible behaviour is, up to stuttering, (q1q2)nq1ω. This run does not appear in any system with at most n processes. Thus we can define a formula:

ϕm=q1(q1UU(q1(q1U(q2(q2Uq1))))2malternations).

Intuitively, ϕm states that in the system some process (and thus any process) is able to alternatively visit states q1 and q2 m times, building the desired prefix (q1q2)mq1. For a parameterized system with template U, every number cN0, fails to be a cutoff, since nc·Unϕc but Uc+1ϕc.

Fig. 2.

Fig. 2

Process template U, used to prove Theorem 4

Theorem 4 can easily be adapted to controlled topologies by assigning the controller with the same process template U as the users:

Theorem 5

Let G be a controlled 2-ary clique parameterized topology and let F be the set of 1-index LTL\X formulas. There exist pairwise-rendezvous process templates C and U such that PMCPG({(C,U)},F) has no cutoff.

Equivalence to finite-state systems

We first recall the main result in [36, Section 4] (stated as comments after [36, Theorem 4.8]), restated using our notation:

Theorem 6

([36]) Let G be the 1-ary controllerless clique parameterized topology. For every pairwise-rendezvous system template P there is an NBW (of linear size and computable in Ptime from P) that recognizes the set 1-EXECG(P).

We now show that a similar result holds for controllerless homogeneous parameterized topologies. Using Lemma 3, we get:

Theorem 7

For every r-ary controllerless homogeneous parameterized topology G, every pairwise-rendezvous r-ary system template P¯, and every ir, there is a linearly sized NBW (computable in Ptime) that recognizes the set I-EXECG(P¯).

Proof

We reduce the case of controllerless homogeneous parameterized topology to 1-ary clique parameterized topology using Lemma 3: given the theorem assumptions, there exists a process template P and a controllerless clique parameterized topology G such that 1-EXECG(P)=i[r]I-EXECG(P¯). By Theorem 6, there is a linearly sized NBW for 1-EXECG(P), and thus, by intersecting it with the constant size NBW that accepts all strings that start with the label of ιi, we obtain the theorem (we assume without loss of generality—simply by adding new atomic propositions if needed, and then projecting them out of the final NBW—that if ij then Φi(ιi)Φj(ιj)).

Recall that by Theorem 1, if there is a cutoff for the set of 1-indexed LTL\X formulas then the set of executions is ω-regular for any r-ary parameterized topology. However, by Theorem 5, 2-ary controlled clique parameterized topologies (and pairwise rendezvous communication) do not always have a cutoff. Furthermore, by constructing an appropriate system template, and using a pumping argument, we are able to show that the set of executions of systems with a controller is not, in general, ω-regular:

Theorem 8

Let G be the 2-ary controlled clique parameterized topology. There exists a pairwise-rendezvous system template (CU) for which CONTROLLER-EXEC(C,U) is not ω-regular, and a pairwise-rendezvous system template (CU) for which USER-EXEC(C,U) is not ω-regular.

Proof

We first show a system template for which CONTROLLER-EXEC(C,U) is not ω-regular. Consider the process templates in Figs. 3 and 4, assuming states are labeled by their names. It is not hard to see that CONTROLLER-EXEC(C,U)={a(xaa)n(xbb)mcω:0<mn}. The following standard pumping argument shows that CONTROLLER-EXEC(C,U) is not ω-regular. Assume by way of contradiction that it is, and let k>1 be the number of states of an NBW A accepting CONTROLLER-EXEC(C,U). Consider an accepting run of A on the word w=a(xaa)k(xbb)kcω, and let q1,,qk+1 be the first k+1 states that A visits after reading the first b. Note that when reaching qk+1, the automaton has not read any c yet. By the pigeonhole principle, there are 1i<jk+1 such that qi=qj and thus, by pumping the loop qiqj, one can get accepting runs of A on words which are not in CONTROLLER-EXEC(C,U), which is a contradiction.

Fig. 3.

Fig. 3

Controller process template

Fig. 4.

Fig. 4

User process template

We now show how to obtain U,C such that the language USER-EXEC(C,U) is not ω-regular. The idea is simply to have the controller switch places with some user process as follows. Have both C and U contain two disjoint copies of C and U (as defined above), and add new initial states a,u1 to C and U (respectively), with the following transitions: aswitch!u1, u1switch?a, and u1τu1. Thus, when the new controller sends the message switch, it starts behaving like a U process, and the receiving new user process starts behaving like a C process. All other user processes can now only take the transition u1τu1, and start behaving like U processes. Hence, the language USER-EXEC(C,U) is the union of L:=u1CONTROLLER-EXEC(C,U) and L:=u1u1u2u3ω. Note that L is ω-regular, that L=USER-EXEC(C,U)¬L, and that L is not ω-regular. Hence, since ω-regular languages are closed under negations and intersection, it must be that the language USER-EXEC(C,U) is not ω-regular.

Complexity of PMCP

The complexity of PMCP for clique parameterized topologies is studied in [36]:

Theorem 9

([36]) Fix an r-ary controlled clique parameterized topology G, let F be the set of 1-index LTL\X formulas, and P the set of pairwise-rendezvous r-ary system templates. Then PMCPG(P,F) (as well as its program complexity) are Expspace-complete.

Recall that the PMCP program complexity is the complexity when the size of the specification formulas is ignored. The lower bound (for PMCP and its program complexity) follows from the fact that PMCP is Expspace-hard already for clique topologies and the coverability problem [30]. The upper bound for PMCP (and thus also for its program complexity) is proved in [36, Theorem 3.6].

Combing this with Lemma 3 we immediately get:

Theorem 10

Fix an r-ary controlled homogeneous parameterized topology G, let F be the set of 1-index LTL\X formulas, and P the set of pairwise-rendezvous r-ary system templates. Then PMCPG(P,F) (as well as its program complexity) are in Expspace.

The following theorem shows that for controllerless homogeneous parameterized topologies (i.e., ones with Bsng=) the complexity of PMCP is better.

Theorem 11

Fix an r-ary controllerless homogeneous parameterized topology G, let F be the set of 1-index LTL\X formulas, and P the set of pairwise-rendezvous r-ary system templates. Then PMCPG(P,F) is Pspace-complete, and its program complexity is in Ptime.

Proof

The lower bound for the PMCP follows from the fact that LTL\X model checking a single finite state system P, with no communication, is Pspace-hard [50]. For the upper bound, take some system template P¯P and a specification formula ψ:=Qx:type(x)=t.ϕ. By Lemma 2, it is enough to check that πT-EXECG(P¯) we have that πϕ. The theorem follows by noting that this can be done by checking for the non-emptiness of the product of an NBW for ¬ϕ (obtained using [53]), and the NBW for T-EXECG(P¯) (obtained from Theorem 7).

Disjunctive guards

In this section we consider disjunctively-guarded systems (see Sect. 2.2) arranged in parameterized homogeneous topologies.

It is known that disjunctively-guarded systems are strictly less expressive than pairwise rendezvous ones [7]. Nonetheless, the following theorem states that also for disjunctive guards the PMCP of 1-indexed CTL2\X formulas is undecidable. The proof uses a reduction from the non-halting problem of 2CMs, and follows a similar line to the one used to prove Theorem 2. The main complication here is that, unlike the case of pairwise rendezvous, mutual exclusion is not easily obtainable using disjunctive guards, and thus more complicated gadgets are needed to ensure that the counter operations are simulated correctly.

Theorem 12

PMCPG(P,F) is undecidable where F is the set of 1-indexed CTL2\X formulas, G is the 1-ary clique parameterized topology, and P is the set of disjunctively-guarded 1-ary system templates.

Proof

We adapt the proof of the similar statement (Theorem 2) for pairwise rendezvous. Recall that the proof of that theorem proceeded by building, given a 2CM, a process template P and a specification formula ψ, such that the 2CM does not halt iff P¯Gψ for every 1-ary clique G. Here, we show how to adapt the process template P from that proof to use disjunctive guards instead of pairwise rendezvous (consequently, ψ also changes).

At first glance, it may look like all we have to do is replace every transition of the form sa!s (resp. sa?s) with the transition sgs, where the guard g is the set of all states that have an outgoing transition labeled by a? (resp. a!). Unfortunately, this introduces the following problem: once the controller is in a state Ij, associated with an increment or a decrement instruction, it opens the gate for any number of memory components to update their bits, instead of just one. Hence, we have to work harder.

What we do is to replace every transition of the form sa!s (resp. sa?s) in the controller (resp. memory) component of P, with a series of guarded moves, for every a{INC(1),DEC(1),INC(2),DEC(2)}. The key point is that if more than one memory component enters the second stage of such a bit update sequence then it opens up the possibility for a computation segment that is impossible if only one memory component enters this stage, and the presence of such a segment can be detected by the specification formula.

We illustrate these sequences by considering the representative case of INC(2). Figure 5a shows the corresponding gadget used by the controller component, i.e., the sequence replacing a transition (IjINC(2)!Ij+1); and Fig. 5b shows the corresponding gadgets—one per j for which Ij is an INC(2) instruction—used by the memory component, i.e., the sequences replacing the transitions (0,0)INC(2)?(0,1), and (1,0)INC(2)?(1,1). The formula that guarantees that instruction Ij is simulated by incrementing at most one bit of counter 2 is ϕj:=G(ackj¬E(ackjU(donejUsink))). Similar gadgets and formulas are used for the other increment and decrement transitions. Finally, we replace a transition IjINC(1)!NZ with the transition Ij{(1,0),(1,1)}NZ, and the transition IjINC(2)!NZ with the transition Ij{(0,1),(1,1)}NZ (recall that these transitions are used, for a JZ instruction Ij, to test if a given counter is indeed not zero). We conclude by modifying the specification formula ψ, used in the proof of Theorem 2, as follows. First, we update it to reflect the fact that we now use sequences of transitions to get from a state Ij to Ij+1 in the controller; e.g., we replace jUj+1 with jUreqjUackjUdonejUj+1. Second, we make it disjunctive with j=1m¬ϕj (where m is the number of instructions of the 2CM)

Fig. 5.

Fig. 5

Gadgets used in the proof of Theorem 12

We conclude that we should restrict the specification logic if we want decidability, and in the rest of this section we focus on 1-indexed LTL\X. The following theorem shows that we also have to limit the topologies.

Theorem 13

PMCPG(P,F) is undecidable where F is the set of 1-indexed LTL\X formulas, G is the controlled ring parameterized topology, and P is the set of disjunctively-guarded 2-ary system templates.

Proof

As before, we give a reduction from the non-halting problem of 2CM. It will be useful later to assume w.l.o.g. that the 2CM contains no self-referring goto (i.e., an instruction of the form Ij=JZ(i,j)). Given a 2CM, with instructions I1,Im, we build a system template P¯=(C,U), where C is a controller process template and U is a user process template. The basic encoding is as in the previous undecidability results—the controller simulates the control of the 2CM, and each user process stores one unary bit for each counter. We augment this basic encoding by also storing the currently simulated instruction, as well as a status flag, in each user process. For technical convenience, we also have the constant flag false in each controller state. More formally, each state of U is of the form (j,f,c1,c2), where j{0,m} is a number of an instruction of the 2CM (we consider I0 to be a dummy instruction); f{true,false} is a flag indicating the status of the currently simulated instruction, and will be explained later; and c1,c2{0,1} are the bits of the counters 1 and 2, respectively. The states of C are of the form (jf), with the same meaning as in U, except that f is always false (i.e., the set of states is {0,m}×{false}). The initial state of C is (0,false), and of U is (0,false,0,0).

The transitions in U and C are as follows. For every i{0,,m}, and x{true,false}, let Yi,x be the set of all states in C and U with the instruction number i and the flag x. For every such Yi,x, there is a transition (j,false)Yi,x(j,false) in C iff j=i, and Ij is the instruction that should execute after Ij, i.e., if i=0 then j=1; if Ii is of the form JZ(h,k) then if x=false (indicating that counter i is zero) then j=k, and otherwise j=i+1; and if i>0 and Ii is not a JZ instruction and x=true then j=i+1, however, if x=false (indicating that the instruction could not be simulated, i.e., it was an increment and all bits were already 1) then there is no transition. In U, there is a transition (j,f,c1,c2)Yi,x(j,f,c1,c2) iff ji, j=i and (i): if x=true then f=true, c1=c1, and c2=c2; (ii): if x=false then if the instruction Ii can not be simulated by updating the bits c1 or c2 (e.g., Ii=INC(1) and c1=1) then f=false, c1=c1, and c2=c2, and otherwise f=true, and the relevant counter bit is updated according to Ii (e.g., Ii=INC(1), c1=0, c1=1 and c2=c2). Note that if the instruction Ii is of the form JZ(h,k), then in case (ii) above we have that c1=c1,c2=c2; and if cj=1 then f=true, and otherwise f=false.

We now describe how the simulation works. Let GG be a unidirectional ring with vertices v0,vn arranged in a clockwise fashion, with edges going anti-clockwise (i.e., from vi to vi-1), and assume that v0 is the controller. The simulation of each 2CM instruction takes one “round” with n steps, where at each step 0in process vi moves. Observe that (by the structure of C) v0 can only move when its neighbour vn has the same instruction number as it does, and a user process vi can only move when vi-1 has a different instruction number than it does. Thus, the simulation can only proceed in this rounds’ structure since the following two invariants are maintained: (i) at the beginning of each round all processes have the same instruction number j and; (ii) at the end of every step 0in inside a round, processes v0,,vi store the currently simulated instruction, and processes vi+1,,vn store the previously simulated instruction. Recall that by our assumption, that the 2CM never jumps from an instruction Ij back to itself, these two instruction numbers are always different.

A single round simulating an instruction Ij begins by v0 moving to the state (j,false); then, at each step 1in, the user process vi “looks” at the state of vi-1, copies the instruction number j, and proceeds according to the flag f stored in vi-1: if f=false it means that the counter operation was not yet simulated (or in the case of a JZ instruction, all the relevant bits in v1,,vi-1 were 0), whereas if f=true then the operation was simulated (or in the case of a JZ, one of the previous bits was 1). Thus, in the first case vi tries to simulate the instruction if it can (e.g., if Ij=DEC(2) and c2=1 then it changes c2 to 0), and sets its flag to true if it succeeded, and to false otherwise; whereas in the second case it simply sets its flag to true (without changing the counters’ bits) to propagate the information that the Instruction is done/resolved. At the end of the round, the value of the flag f of vm holds the information needed for the controller to move at the beginning of the next round to the correct succeeding instruction. Namely, if f=true then it means that an increment or a decrement was successful, or that a JZ should not jump since the counter is not zero; and if f=false then it means that an increment command was not simulated since all the counter’s bits are already 1 (this deadlocks the simulation), or that a JZ should jump since the counter is zero.

Let ψ:=x:type(x)=C.A¬Fhalt, where halt is an atomic proposition that holds in states corresponding to HALT instructions. Given GG of size n, it is not hard to see from the description above that P¯G is deterministic, and that it simulates the run of the 2CM as long as both counters stay below n. Thus, the 2CM does not halt iff ψ holds for all GG.

It is worth noting that the proof above can be easily modified to use 1-ary topologies and process templates as long as the symmetry of the rings is broken somehow (e.g., using spoked wheels instead of rings), thus allowing a virtual controller to be designated. We conclude that we should restrict the topologies if we want decidability, and in the rest of this section we focus on homogeneous topologies.

Cutoffs

By [24], for the r-ary clique parameterized topology and universal 2-indexed LTL\X formulas, there is a cutoff of size |U|+2 (where U is the process template). The following theorem extends this to homogeneous topologies (for the case of 1-indexed LTL\X). Our proof (even when restricted to clique topologies) uses different and simpler reasoning than [24]. Note that Theorem 13 implies that an extension to general parameterized topologies is not possible.

First we need the following definitions. Given an r-ary parameterized homogeneous topology G, generated by an r-ary topology H=(VH,EH,T¯) with Bsng, Bclq, Bind, let the controller types IC:={i[r]type-1(i)Bsng} be the types in [r] that are associated with a singleton, and let the user types IU:=[r]\IC be the types associated with a clique or an independent set.

Theorem 14

Let F be the set of 1-index LTL\X formulas, P¯ be a disjunctively-guarded r-ary system template, and G be an r-ary homogeneous parameterized topology. Then the expression 2+|IC|+ΣiIU|Si|, where Si are the states of Pi, is a cutoff for PMCPG({P¯},F).

Proof

Assume w.l.o.g. (by renaming states and updating the guards on the transitions to match) that ijSiSj=. Let SU:=iIUSi be the set of all user states. Let G be generated by an r-ary topology H=(VH,EH,T¯) with Bsng,Bclq,Bind. The cutoff number is c=2+|IC|+|SU|. Let G be the set of topologies of G with at most c vertices. In the following we will show that any trace w of a system with more than c vertices is also present in a system with c vertices. Formally: for every t[r], GG, and wT-EXECG(P¯), we show that wT-EXECG(P¯), for some topology GG; and thus that T-EXECG(P¯)=T-EXECG(P¯). Thus, given a 1-indexed formula ϕ, by using Lemma 2 we get: GG.P¯Gϕ iff πT-EXECG(P¯).πϕ iff πT-EXECG(P¯).πϕ iff GG.P¯Gϕ. This allows us to conclude that c is a cutoff.

Assume any t[r],GG, and wT-EXECG(P¯). Let π be a state-labelled run of P¯G such that w=destutter(projv(π)) for some vVG, and let SπU be the states in SU that are visited along π. We construct a run π in P¯G, of a suitably sized G, that induces w. The intuition is that G simulates every controller process (i.e., a process associated with a vertex in Bsng) exactly; for every sSπU it uses one process to reach the guard s and keep it open forever; and two more processes: a process x of type t whose moves will induce w and, in case that x can induce w only by moving finitely many times, another process y that moves infinitely often on π (to ensure that π is infinite, and thus a run).

Consider the function first:SπUVG that maps a state s to a process that has visited s first in π, i.e., first(s):=v where v is such that there is some j|π| with πj(v)=s, and in the prefix π1,πj-1 no process is in state s. Note that first(s) is uniquely determined except if s is an initial state of a process template (in which case it may be that first(s) can be chosen in more than one way). We first enlarge the topology G to obtain a topology G^ as follows: for every sSU, we add a process Ps to the clique or independent set containing first(s). We say that Ps is a companion of the process first(s). Observe that a process j may have zero, one, or many companion processes, and let J be the set of processes with at least one companion.

Let π^ be a run of P¯G^ that is obtained from π by augmenting every move of a process jJ with a sequence of identical moves of its companion processes, with the restriction that when a process Ps reaches the state s it stays there forever. More formally, we begin by designating all companion processes as active. We then consider the transitions of π in order; a transition in which a process jJ changes states (by taking some internal or synchronizing local transition pαq) is replaced with the following sequence of transitions: if Pq is an active companion of j then have Pq take this local transition and designate it as inactive, then have all the remaining active companions of j, as well as j, take this transition (in some arbitrary order). It is easy to see that π^ is a run of P¯G^. Indeed, since all the companions of j are in the same clique (or independent set) as j, they have exactly the same neighbours as j, and thus see the same open guards—allowing them to mimic j. Furthermore, for every vVG we have that destutter(projv(π))=destutter(projv(π^)), since the process at v made exactly the same moves in both runs—only sometimes waiting longer between moves in π^. Observe that (by the definition of first and by the construction of π^), for every state sSU, the first process on π^ to visit s is the companion process Ps, and that once Ps reaches s it never leaves. It follows that if we take any two processes xy in VG (such that y moves infinitely many times on π), together with all the controller processes and all the companion processes, we can obtain—by simply deleting all transitions in π^ that involve the other processes—a run π in a system G of size at most 2+|IC|+|SπU| in which destutter(projx(π))=destutter(projx(π^)). The theorem follows by recalling that destutter(projx(π))=destutter(projx(π^)) for all xVG, and that destutter(projx(π))=w for some xVG.

The following theorem shows that the cutoff in Theorem 14 is tight for controllerless cliques, up to an additive constant. A similar result has been shown in a slightly more complex scenario (viz. controlled clique topologies with 2-indexed LTL\X) [10].

Theorem 15

Let G be the 1-ary controllerless clique parameterized topology, let F be the set of 1-index LTL\X formulas, and let d>0. There is a disjunctively-guarded system template P of size d such that d+1 is the smallest cutoff for PMCPG({P},F).

Proof

Consider the process template depicted in Fig. 6, where ΦU(si)={si}. It is easy to see, by induction on i, that if a process can take the local transition guarded by si then there must be at least one process in each state sj for all ji. Hence, for a process to take the transition from sd to s1 there must be at least d+1 processes in the system. It follows that the formula ϕd=x·AG((sd,x)G(sd,x)) holds in all systems with at most d processes, but not in a system with more than d processes.

Fig. 6.

Fig. 6

Process U=(SU,RU,IU,ΦU) used to prove Theorem 15

Equivalence to finite-state systems

There are several techniques for solving the PMCP for 1-indexed LTL\X formulas for systems using disjunctive guards. One of these is the automata theoretic approach. The main ingredient we need in order to apply this approach is to find an NBW that accepts the set of all possible executions of the system, for any number of copies of user processes U. We begin by showing that, in general, such an automaton is necessarily big, i.e., exponential in the size of the process templates. We show this by suitably encoding the language of palindromes.

Theorem 16

Let G be the 2-ary controlled clique parameterized topology. For every l>0, there exist a disjunctively-guarded system template (CU), where the sizes of C and U are Θ(l), such that the smallest NBW whose language is CONTROLLER-EXEC(C,U) has size at least 2Ω(l).

Proof

Fix lN, and consider the Boolean formula ϕl:=i[l][xix2l-i+1]. Observe that ϕl is equivalent to i[l](¬xix2l-i+1)(xi¬x2l-i+1), and let CU be defined as in Figs. 7 and 8 (see also the description in the proof of Theorem 20) with respect to ϕl. Note that the sizes of C and U are linear in l. Let L be the language of finite words of the form p1a1p2a2p2la2l where each ai{xi,xi¯} (1i2l), and ai=xi if and only if a2l-i+1=x2l-i+1 (1il).

Fig. 7.

Fig. 7

Process C in the proofs of Theorems 16 and 20

Fig. 8.

Fig. 8

Process U in the proofs of Theorems 16 and 20

Observe that CONTROLLER-EXEC(C,U) is exactly the ω-regular language L·c1c2cm·(done)ω. By projecting out the letters p1,,pn,c1,,cm, and replacing all transitions on x1,,xn with transitions on 0, and all transitions on x1¯,,xn¯ with transitions on 1, one obtains (with no blowup) a nondeterministic finite automaton for the language of palindromes in the set {0,1}2l. It is well known that every NFW for this language requires at least 2l states [37, Theorem 1, Example 2], thus concluding the proof.

Given P¯=(C,U), the proof in [24] of a |U|+2 cutoff for 1-indexed LTL\X actually shows the following stronger result: the set CONTROLLER-EXEC(C,U), of controller executions of controlled cliques of all sizes, is equal to the set of controller executions of P¯G, where G is a clique of size |U|+2. Observe that it is easy to modify P¯G to obtain, with no blowup, an NBW accepting its set of controller executions. Thus, we get that CONTROLLER-EXEC(C,U) is recognizable by an NBW of size |C|×|U|Ω(|U|). Since (by Theorem 16) this cutoff is tight, there is no hope of obtaining a smaller NBW using this technique.

In the following we prove that, surprisingly, disjunctively-guarded systems in homogeneous parameterized topologies can be model checked using a smaller NBW, of size roughly O(NC2×2NU), where NC is the product of the sizes of controller process templates and NU is the sum of the sizes of all the user process templates. This result is given in two steps, first showing that this property holds for controlled clique parameterized topologies, and next generalizing it to the case of homogeneous parameterized topologies.

Theorem 17

Let G be the 2-ary controlled clique parameterized topology. For every disjunctively-guarded system template (CU) there is an NBW K(CU) of size O(|C|2×2|U|) recognizing CONTROLLER-EXEC(C,U). The same is true for USER-EXEC(C,U).

Before we prove the theorem we note that it is sufficient to prove the theorem for CONTROLLER-EXEC(C,U). Indeed, reduce the case of USER-EXEC(C,U) by forming a new controller C that simulates C and U using a product construction. Furthermore, an automaton for USER-EXEC(C,U) can be obtained with a linear blowup from an automaton for CONTROLLER-EXEC(C,U) by projecting on the user component of C and destuttering. Thus, in the following we focus on CONTROLLER-EXEC(C,U).

We now give the intuition of the proof. Given CU we build a transition system T with states of the form (c,Y)SC×2SU. The idea is that T simulates C, and records in Y all the user states that could have been reached in a finite number of steps in systems of arbitrary size. We identify certain states (cY) of T as good, i.e., either, in C there is a self loop from c to c with a guard in Y, or in U there is a cycle with guards from Y{c}. We define a run of T as good if it is not eventually constant or from some point on it only sees good states. The idea is that a run that is ultimately constant, say with state (cY), is called good if the controller stays in c forever. We prove that αCONTROLLER-EXEC(C,U) if and only if α is the destuttering of a good run of T.

We now give the proof.

Proof of Theorem 17

Fix C=(SC,RC,{ιC},ΦC) and U=(SU,RU,{ιU},ΦU). For non-empty YSU and cSC define

next(c,Y):={sSU|yY,γY{c,τ},yγs},

and define Reach(cY) inductively:

  • Reach1(c,Y):=Y,

  • Reachn+1(c,Y):=Reachn(c,Y)

    next(c,Reachn(c,Y)), and

  • Reach(c,Y):=i1Reachi(c,Y).

Observe that Reachi(c,Y) is non-decreasing in i, and contained in SU. Thus for every Yc there exists k|SU| such that Reach(c,Y)=Reachk(c,Y).

Lemma 4

Fix non-empty YSU and cSC. For all LN, and every configuration (c,u¯) for which every yY appears in u¯ at least L|SU| times, there is a finite path of a DG system starting with configuration (c,u¯) such that the first co-ordinate of every configuration in the path is c, and the path ends with some configuration (c,v¯) such that every yReach(c,Y) appears in v¯ at least L times.

Proof of Lemma

Fix YcL and u¯ so that every yY appears in u¯ at least L|SU| times. Say Reach(c,Y)\Y={s1,,sK} and order this set according to the earliest stage in which an element appears in this set in the construction of Reach(cY), say s1<s2<<sK (in case that more than one element appears in a given stage, break ties arbitrarily). Build a state-labeled path (c,u¯0)(c,u¯1) starting with u¯0:=u¯ such that, for each si in turn, moves L many processes from a state in Y into state si. Note that this can be done because: (i) for each si there exists a state y in Y and a sequence of enabled moves from y to si (indeed, in this construction, once a guard is enabled it is never disabled), and (ii) there are enough processes in y (indeed, each si uses L processes from y, and there are at most |SU|-1 many si to take care of, thus we are safe if initially there are at least L(|SU|-1) processes in state y). Also note that at the end of this process, for every yReach(c,Y) there are at least L processes in state y (indeed, if yY then at least L processes in Y did not move, and if yReach(c,Y)\Y then the construction moved at least L processes into state y). This completes the proof of the Lemma.

Define a transition system T=(ST,RT,IT,ΣT) whose labels are the states of the controller, as follows:

  • ST:=(SC×2SU){ι} where ι is a new symbol,

  • IT={ι},

  • ΣT=SC,

  • RT=RLOOPRPROGRINIT,

where

  • RLOOP consists of transitions (c,Y)c(c,Y) where (c,Y)ST;

  • RPROG consists of transitions (c,Y)c(c,Y) for which Y=Reach(c,Y) and there exists γY{τ} such that (c,γ,c)RC;

  • RINIT={ιιCReach(ιC,{ιU})}.

Definition 1

A state (cY) of T is called GOOD iff it satisfies the following property: if there is no γY{τ} such that (c,γ,c)RC, then there exists a cycle in U, starting and ending in an element of Y, and each transition of it is guarded by an element of Y{c,τ}.

An infinite word w is eventually constant if there exists iN such that wi=wj for all ji. In this case, we can call wi the constant symbol in w. A run s0a0s1a1 of T is good if the state-labeled run s0s1 satisfies the following property: if it is eventually constant then its constant symbol (which is a state of T) is good.

Definition 2

Define LT(SC)ω to be the following language:

LT=ξ(SC)ω|ξis thesequence oflabels ofsomeGOODrun ofT.

Note that LT is ω-regular and can be recognized by an NBW W of size O(|ST|) that simulates T and stores in its second component whether or not the last simulated transition changed the state of T; a run is accepting if either there are infinitely many changes or some good state is seen infinitely often. Formally, define the NBW W=(ΣW,QW,IW,ΔWIΔW0ΔW1,FW):

  • ΣW=ΣT,

  • QW=ST×{0,1},

  • IW={(ι,0)},

  • ΔWI consists of transitions (ι,0)ιC(s,i) if and only if (ι,ιC,s)RT, where i{0,1},

  • ΔW0 consists of transitions (s,i)c(s,0) if and only if (s,c,s)RT,s=(c,Y),i{0,1}.

  • ΔW1 consists of transitions (s,i)c(t,1) if and only if (s,c,t)RT,st,t=(c,Y),i{0,1},

  • FW={(s,0):sisGOOD}{(s,1):sST}.

Thus, by Lemma 1, (LT)δ is recognized by an NBW K(CU) whose size is linear in |ST|×|ΣT|, i.e., O(|C|2×2|U|).

To complete the proof of the theorem we show that CONTROLLER-EXEC(C,U)=(LT)δ.

Notation

For a tuple u¯=(u1,,uj) write set(u¯) for the set {u1,,uj}.

Claim A

CONTROLLER-EXEC(C,U)(LT)δ.

Proof of Claim A

Fix w=c0c1 from language CONTROLLER-EXEC(C,U). Let π be a state-labeled run in some DG system, say with N user processes, that generates w, i.e., w=projv(π) where v is the vertex of the controller. Partition π:=ρ0ρ1ρ2 into segments so that if (c,u¯) is in ρi then c=ci (pick any partition if there is more than one, which happens if there are successive configurations of π with the same controller components). Define sets Yi as follows: Y0:=Reach(c0,{ιU}) and Yi+1:=Reach(ci+1,Yi). It is enough to show that α:=ιc0(c0,Y0)c1(c1,Y1) is a good run of T since its sequence of actions is exactly w.

Note. If (c,u¯) occurs in ρi and sset(u¯) then sYi. This can easily be proved by induction on i (use the fact that yReach(c,Y) if there exists MN and a finite path in a DG system with M user processes starting with a configuration (c,u¯)SC×YM with two properties: (i) the first co-ordinate of every configuration in the path is c, and ii) the path ends in a configuration (c,v¯) such that vj=y for some jM).

By the Note, the transition (in C) from the end of ρi to the beginning of ρi+1 is guarded, if at all, by a state in Yi. Thus, by the definition of RT, α is a run of T. We now prove that α is good. To this end, suppose that the state-labelled run induced by α, i.e., ι(c0,Y0)(c1,Y1), is eventually constant, say with constant symbol (cY), and that there is no γY{τ} such that (c,γ,c)RC (otherwise there is nothing to do). Thus, there exists mN such that for all im, πi{c}×2SU, and each transition from πi to πi+1 is due to some user process taking a transition. Since there are only finitely many processes (i.e., N), some user process, say the Kth, must make be responsible for infinitely many transitions. However, since the process template U is finite, the Kth user process must eventually trace a cycle in U. By the Note, the cycle can be chosen to start and end at some element of Y, and every guard on the cycle is in Y{c,τ}. Thus, (cY) is good. This completes the proof Claim A.

Claim B

(LT)δCONTROLLER-EXEC(C,U).

Proof of Claim B

Fix w(LT)δ, say w=c0c1. In order to prove the claim, we will build a run π in a system with one control process and 2NN+1 user processes, where N:=|U|, so that w is the destuttering of the projection of π onto C.

Let α be any run in T such that w is the destuttering of the actions in α, say α=ιd0(d0,Y0)d1(d1,Y1). Note that there exists mN0 such that Ym=Yj for all jm (this is because the sequence {Yn}n0 is monotone and contained in the finite set SU).

Intuitively, in order to build π so that controller traces a path whose destuttering is w, we will ensure that the π reaches a configuration in which at least two processes are in every state of Ym: we need at least one process in every state of Ym to enable all the guards that may be used in the future; but we may also need an additional process in a state y in case we need to make one process perform a cycle starting and ending with y (this case occurs if w is eventually constant, say with constant symbol (cY), and there is no self-loop in RC of the form (c,γ,c) for γY{τ}). In order to reach such a configuration we will repeatedly apply Lemma 4, starting with L=2, for (at most) N steps. In particular, we may require 2NN user processes to start with.

We first need some definitions. Define XN0 to be the set of indices iN0 such that either i=0 or |Yi||Yi-1|. Since Y0 is non-empty, |X|N. List the elements of X as x0=0<x1<x2<<x|X|m. For iN write β(i) for the largest integer j|X| such that xji. For i[0,N+1], define Γi:=2NN-i. Note that NΓi+1=Γi, and ΓN=2, and Γ0=2NN.

We now describe how to build π by iterating over the transitions of α. After step im (i.e., after considering the transition with target (di,Yi)) we will have built a path that ends in a state whose first co-ordinate is di, say (di,v¯), with the following invariant: every yYi appears in v¯ at least Γβ(i) times.

We begin with the transition ι(d0,Y0). Apply Lemma 4 with L:=Γ0 and initial configuration (ιC,u¯) where set(u¯)={ιU} and |u¯|=LN, to get a path starting with (ιC,u¯) and ending with a configuration (ιC,v¯) where set(v¯)=Reach(ιC,{ιU}) and each element in this set appears in v¯ at least Γ0 times (thus maintaining the invariant).

Suppose we have processed the transition with target (di-1,Yi-1) and, thus, the path built so far, say π, ends with (di-1,v¯) and satisfies the invariant, i.e., every yYi-1 appears in v¯ at least Γβ(i-1) times. Consider the transition (di-1,Yi-1)di(di,Yi) in π. There are two cases.

  1. Case iX. Since, in this case, YiYi-1, the transition must be in RPROG, i.e., there is some γ{τ}Yi-1 such that (di-1,γ,di)RC. By the invariant, Yi-1set(v¯). Conclude that (di-1,v¯)(di,v¯) is a transition of the DG system. Thus, first extend π by the state (di,v¯). Second, since iX we have that i=xk for some k, and thus β(i)=k; also, xk-1i-1<xk, and thus β(i-1)=k-1. Conclude that Γβ(i-1)=NΓβ(i). By the invariant we can apply Lemma 4 with L:=Γβ(i) and configuration (di,v¯). This results in a path p that starts with (di,v¯) and ends with configuration of the form (di+1,w¯) where every state in Yi+1=Reach(di+1,Yi) appears in w¯ at least Γβ(i) times. Now extend π by p. Note that the invariant is maintained.

  2. Case iX. Thus, in this case, Y:=Yi=Yi-1. There are two subcases.
    • Subcase di-1di. In this subcase, the transition must be in RPROG. As in the first half of the case iX, the DG systems has a transition (di-1,v¯)(di,v¯). Extend π by the state (di,v¯) and note that the invariant is maintained since no user process moved.
    • Subcase d:=di-1=di. This subcase can be ignored, i.e., do not extend π. Again, the invariant is maintained since no user process moved.

At this point we have constructed a finite path π that mimics the first m steps of α. Recall that Ym=Yj for all jm. To finish, we identify two cases. If α is not eventually constant, then repeatedly apply the reasoning in case 2 above. On the other hand, if α is eventually constant, say with constant symbol (dn,Yn) (for some nm), then extend π to mimic the transitions between m and n (as in Case 2 above), and then proceed as follows. Since (dn,Yn) is GOOD there are two subcases. If there is a self-loop (dn,γ,dn) in RC for some γ{τ}Yn, then extend π by the infinite path (dn,Yn)ω. Otherwise, by the definition of GOOD, there is a cycle in U starting and ending in some yYn such that each transition is guarded by an element of Yn{dn,τ}; thus we can extend π by transitions in which a process at yn repeatedly makes this cycle (note that this is possible since up till now we guaranteed that there are at least 2 processes in every state of Yn). This completes the proof Claim B.

To summarise, we have shown that CONTROLLER-EXEC(C,U)=(LT)δ and that there is an NBW of size O(|SC|2×2|SU|) recognizing (LT)δ.

Now we can generalize the previous result, showing that model checking disjunctively-guarded systems in homogeneous parameterized topologies can be done with an NBW that is exponential in the size of the input models.

Theorem 18

Let G be the r-ary homogeneous parameterized topology. Let Ctr=Bsng and Usr=BindBclq. For every disjunctively-guarded system template P¯=(P1,,Pn), for each iCtr (resp. iUsr) there is an NBW K(P¯) of size O(c2×2u) recognizing I-EXECG(P¯), where c=ΠiCtr|Pi| and u=1+ΣiUsr|Pi|.

Proof

By Lemma 3, we can reduce P¯ to two templates: C is the product of the controllers, and U is the union of the user process. Next, we can apply Theorem 17 to produce an NBW K(CU) of size O(|C|2×2|U|) recognizing the executions of C (and similarly, an NBW for the executions of U). In case iCtr, form an NBW from K(CU) by projecting onto the i-th component of the state, and thus isolate only the executions of the i-th controller of the original system. In case iUsr, form an NBW from K(CU) by intersecting with an automaton whose language is all runs through process Pi. In both cases, the produced NBW is linear in the size of K(CU), concluding the proof.

Complexity of PMCP

The following theorem states the complexity of PMCP for homogeneous parameterized topologies. It derives the complexity upper bound from the automata theoretic approach and constructing the NBW in Theorem 17 “on the fly”.

Theorem 19

Let G be an r-ary homogeneous parameterized topology (controlled or controllerless). Let F be the set of 1-index LTL\X formulas, and let P be the set of disjunctively-guarded r-ary system templates. The complexity of PMCPG(P,F) is Pspace-complete.

Proof

We begin with the lower bound. Pspace hardness follows from the fact that LTL\X model checking of a Kripke structures is Pspace-hard [50] and the observation that this problem is a special case of PMCP. Indeed, given a Kripke structure, one can think of it as a process template all of whose transitions are silent (i.e., there is no communication). Since there is no communication, the topology plays no role, and the execution traces of all the processes of the same type (be it user or controller) running at any node are exactly the same. Hence, in all cases, the PMCP degenerates to model checking of Kripke structures.

We now address the upper bound. First, observe that the controllerless case can be immediately reduced to the controlled case simply by having a controller that runs the same process template as the other processes (i.e., by having C=U). Second, by Lemma 3, it is enough to consider the case of a 2-ary controlled clique parameterized topology.

Given process templates CU, by Theorem 17 there is an NBW K(CU), whose language is

CONTROLLER-EXEC(C,U) or USER-EXEC(C,U), as we wish. Given a 1-index LTL\X specification formula ψ, we can decide, by Corollary 1, the PMCP for ψ by checking for the non-emptiness of the product of A¬ϕ and K(C,U): ϕ is the maximal LTL\X subformula of ψ such that every atom of the form (ax) has been replaced by the atom a; K(C,U) is the same NBW as K(CU) except that every transition label cSC is replaced by ΦC(c)2AP. Furthermore, by [53], this non-emptiness problem can be solved in Pspace as long as storing a state of K(CU), as well as checking membership in the transition relation of K(CU), can be done in polynomial space. Since it is not hard to see that this is indeed the case, the required upper bound follows.

The next theorem states the program complexity of PMCP for clique parameterized topologies. For controllerless systems we inherit the Ptime program complexity from the NBW used to recognize the executions of a process in homogeneous topologies with pairwise rendezvous (see Theorem 7). With a controller, the co-NP  upper bound results from a fine analysis of the construction in the proof of Theorem 17, and the co-NPhardness by coding of propositional unsatisfiability: the user processes store an assignment, and the controller verifies it is not satisfying.

Theorem 20

Fix F to be the set of 1-index LTL\X formulas. If P is the set of disjunctively-guarded 1-ary system templates, and G is the 1-ary clique parameterized topology, then the program complexity of PMCPG(P,F) is in Ptime. If P is the set of disjunctively-guarded 2-ary system templates, and G is the 2-ary controlled clique parameterized topology, then the program complexity of PMCPG(P,F) is co-NP-complete.

Proof

Without a controller, membership in P follows from [36, Section 4]. With a controller, membership in co-NPcan be derived using a more careful analysis of the complexity of the PMCP performed in the proof of Theorem 19, as follows.

In that proof it has been shown that deciding whether GG,P¯Gψ can be done by checking for the non-emptiness of the product NBW A=A¬ϕ×K(C,U), for a suitable formula ϕ (from which the NBW A¬ϕ is derived) and NBW K(C,U). We recall from that proof that ϕ is the maximal LTL\X subformula of the 1-indexed LTL\X original formula ψ, whose atoms with form (ax) are replaced by atom a. The NBW K(C,U), instead, is derived from K(CU) (see Theorem 17) where transition label cSC are replaced by ΦC(c)2AP.

Checking for the non-emptiness of an NBW amounts to finding a lasso in it. I.e., to finding a state s, and two simple paths: one from the initial state to s, and the other from s back to itself. Observe that a lasso in the product automaton A induces lassos xy in A¬ϕ and K(C,U), respectively. Hence, checking that A is not empty can be done by guessing the lassos xy and checking that their product is indeed a lasso in A.10 Looking at the proof of Theorem 17, one can see that (except for one state) all the states of the LTS T are of the form (cY), where c is some state of C, and Y is a subset of the states of U. Furthermore, there is a transition between two such states (c,Y),(c,Y) only if YY. It follows that the longest simple path of T is of length at most |C|×|U|. Thus, since K(C,U) is formed by taking the product of T with an automaton of size O(|C|),11 the length of the longest simple path, and thus also of the longest lasso, of K(C,U) is of length O(|C|2×|U|). Overall, since we also have that querying the transition relation of K(C,U) is cheap, we conclude that one can guess any lasso in K(C,U) in time polynomial in |C|×|U|.

Recall that when analyzing program complexity, we consider the formula ψ to be constant. Thus, we get that one can, in nondeterministic polynomial time, guess any pair of lassos xy in A¬ϕ and K(C,U). It is not hard to see that given xy, checking that their product is indeed a lasso in A can be done in time polynomial in the size of these lassos. It follows that one can guess and verify in nondeterministic polynomial time that the automaton A is not empty, and thus, that it is not the case that GG,P¯Gψ, which gives the desired membership of PMCP in co-NP.

For the lower bound, we reduce the unsatisfiability problem of a 3-SAT formula to the PMCP. Given a 3-SAT formula i=1m(ci1ci2ci3) over the Boolean variables x1,,xn, we build the two process templates CU given in Figs. 7 and 8, and consider computations in which the controller C reaches the state done. Note that, for every 1in, the way to the state done goes either through xi or through xi, and that one can transition out of these states only if at least one user process U enables the corresponding guard (xi or xi¯). Also note that (): the guards on the transitions of U ensure that if the controller entered xi (resp. xi), then no user process can be (anywhere along the computation) in state xi¯ (resp. xi).

It follows that if the controller reaches state c1 then there were at least n user processes, and that the user processes store an assignment to each variable xi, 1in, as follows: xi is true if there is some user process in state xi, and it is false if there is some user process in state xi¯ (note that, by , these two options are mutually exclusive). Observe that the controller can reach the state done if and only if this assignment satisfies the 3-SAT formula. Indeed, for every 1jm, the guard on the outgoing transition from state cj ensures that this transition can be taken if and only if the stored assignment satisfies clause cj. It follows that the 3-SAT formula is unsatisfiable if and only if the PMCP for the 1-ary clique topology with process templates (CU), and the fixed formula ψ=G¬done, has a positive answer.

Combining Theorem 20 and Lemma 3 we get the following corollary, extending the complexity analysis to homogeneous parameterized topologies:

Corollary 2

Let G be an r-ary homogeneous parameterized topology, let F be the set of 1-index LTL\X formulas, and let P be the set of disjunctively-guarded r-ary system templates. If G is controllerless then the program complexity of PMCPG(P,F) is in Ptime, and otherwise (i.e., if G is controlled) it is in co-NP.

Token passing systems

In this section we show that PMCPG(P,i-CTL\X) is decidable, where P is the set of all process templates, and G is either (1) MSO-definable and of bounded clique-width or (2) iteratively constructible. We encode a characterization of the CTLd\X-indistinguishability equivalence relation from [6] in MSO and utilize the composition property of CTLd\X proved there. We prove the existence of decidable cutoffs for the PMCP problem in this setting and show a lower bound on the cutoffs of iteratively-constructible parameterized topologies for indexed LTL\X.

The section is organized as follows. Section 5.1 introduces the necessary background with regards to CTLd\X on token-passing systems. Section 5.2 gives preliminaries regarding topologies of bounded clique-width and the Monadic Second Order Logic of topologies. Section 5.3 proves the decidability of the PMCP problem and the existence of computable cutoffs. Section 5.4 discusses sizes of the cutoffs.

In this section we will have a running example which we will revisited several times in Running Examples 1234, and 5, and Figs. 9 and 10.

Fig. 9.

Fig. 9

Running example: the topology Gre and the graph LTS Gre|g¯ for g¯=(b,d). The 2-topology Gre with T1={a} and T2={b,c,d} is depicted to the left. The graph LTS Gre|g¯ is depicted to the right. Gre|g¯ has atomic propositions AP={p1,p2}, initial state initGre=a, and state-labeling function Λ(a)=Λ(c)=, Λ(b)={p1} and Λ(d)={p2}. All of the transitions of Gre|g¯ are labelled tok

Fig. 10.

Fig. 10

Running example: the token-passing system P¯Gre and the projection LTS P¯Gre|g¯. This figure depicts the token-passing system with topology Gre and process templates P¯=(Ptok,Pntok). We represent the configurations of (Ptok,Pntok)Gre as 4-vectors (sa,sb,sc,sd) containing the states of the processes at a, b, c, and d respectively. As shorthand we write for the most common state (ntok,1). We omit unreachable configurations, such as those in which no process has the token or two processes have the token. The dashed transitions are internal transitions. The solid transitions are synchronous transitions (i.e., transitions where the token passes from one process to another). The configuration ((tok,1),,,) is the initial configuration. The labeling function Λ assigns to any configuration containing (tok,1). Otherwise it assigns a singleton set {CSX} for the corresponding X{a,b,c,d}. The projection LTS P¯Gre|g¯ for g¯=(b,d) is obtained from this figure by removing the Λ labellings CSa and CSc

Running Example 1

Let Gre=(Vre,Ere,T1,T2) be the 2-topology depicted in Fig. 9.

We define P1=Ptok to be the process template with:

  • state set S={(ntok,1),(tok,1),(tok,2)},

  • atomic propositions set APpr={CS},

  • state labeling Φ((ntok,1))=Φ((tok,1))= and Φ((tok,2))={CS},

  • synchronization alphabet Σsync={tok},

  • transition relation
    R={((ntok,1),tok?,(tok,1)),((tok,1),tok!,(ntok,1)),((tok,1),τ,(tok,2)),((tok,2),τ,(tok,1))},
    and
  • initial state ιtok=(tok,1).

The process template P2=Pntok is obtained from Ptok by setting the initial state to ιntok=(ntok,1). Let P¯=(Ptok,Pntok). The token-passing system P¯Gre is depicted in Fig. 10.

Preliminaries I: CTLd\X and token-passing systems

Two abstractions of a token-passing system

We now define for a given TPS P¯G two abstractions used in the above-mentioned characterization [6]. The first abstraction simulates P¯G, keeping track only of the local states of processes indexed by g¯. We call it the projection of P¯G onto g¯. The second abstraction only simulates the movement of the token in G, restricted to g¯. We call it the graph LTS of G and g¯.

Notation. For topologies G and G, let g¯ denote a tuple (g1,,gk) of vertices of G, and g¯ a k-tuple of distinct vertices of G. Write vg¯ if v=gi for some i.

The projection P¯G|g¯

Informally, the projection of P¯G onto a tuple of process indices g¯ is the LTS P¯G and a new labeling that removes all indexed atoms pj for jg¯.

More precisely, fix a system template P¯, a topology G, and a k-tuple g¯ over VG. Say P¯G=(Q,Δ,Q0,Λ). Define the projection of P¯G onto g¯, written P¯G|g¯ as the LTS (Q,Δ,Q0,L) where for all qQ the labeling L(q) is defined as L(q):=Λ(q){pgipAPpr,i[k]}.

The graph LTS G|g¯

Informally, G|g¯ is an LTS where the states are the vertices of the r-topology G, and the transitions are the edges of G. The graph LTS simulates the passing of the token between the vertices of G, beginning with the token at the unique vertex initGV belonging to T1. The vertices g1,,gk are assigned the atomic propositions p1,,pk, respectively.

The precise definition of the graph LTS is as follows. Let G=(V,E,T1,,Tr) be an r-topology such that |T1|=1, and let g¯=(g1,,gk) be a k-tuple of G vertices. The graph LTS G|g¯ is the LTS (V,Δ,V0,Λ,AP,Σ) in which:

  • the set of states is V,

  • the alphabet Σ of transition labels is {tok},

  • the set of atomic propositions AP is {p1,,pk},

  • the transition relation Δ is
    {(u,tok,v)(u,v)E}
  • the set of initial states V0 is T1={initG}, and

  • the state-labeling function Λ of vV is Λ(v)={piv=gi}.

CTLd\X-equivalence and CTLd\X-character

Recall that CTLd is the fragment of CTL with at most d path quantifiers. For two LTSs LTS1 and LTS2, we write that LTS1 and LTS2 are CTLd\X-equivalent if they agree on all CTLd\X formulas: for every CTLd\X formula ϕ it holds that LTS1ϕ iff LTS2ϕ. We denote that LTS1 and LTS2 are CTLd\X-equivalent by LTS1CTLd\XLTS2. Note that the definition of CTLd\X -equivalence applies in particular to our two abstractions, the projection LTS of P¯G onto g¯ and the graph LTS of G and g¯.

The composition property

The composition theorem says that the CTLd\X-equivalence of projections P¯G|g¯ and P¯H|h¯ can be reduced to the CTLd\X-equivalence of their graph LTSs G|g¯ and H|h¯. The composition property says that if two graph LTSs are indistinguishable, then so are their corresponding projections.

Theorem 21

(The composition Theorem [6]) For every k,dN, system template P¯P, topologies GH, and k-tuples g¯ and h¯ of vertices of G and H respectively:

G|g¯CTLd\XH|h¯impliesP¯G|g¯CTLd\XP¯H|h¯

The CTLd\X-equivalence class of a graph LTS is uniquely determined by a (k+1)-vector which is called the CTLd\X -character. This vector consists of pairs of labellings Λ and markings Ξdk.

Fix k,dN, topology G=(V,E,T¯), and k-tuple g¯ over V. Let G|g¯=(V,Δ,V0,Λ) be the graph LTS of G and g¯. We will recursively define below a marking function Ξdk that associates with each vertex vV a (k+1)-dimensional vector Ξdk(v) whose ith coordinate Ξdk(v)[i] is a set of strings over the alphabet

{Ξd-1k(u):uV}.

The CTLd\X -character of G|g¯ is the (k+1)-tuple:

Λ(initG),Ξdk(initG),Λ(g1),Ξdk(g1),,Λ(gk),Ξdk(gk).

The crucial properties of the CTLd\X-character are:

  • The CTLd\X-character determines whether G|g¯φ for every formula φCTLd\X.

  • The number of CTLd\X-characters for any fixed d and k is finite and computable. We discuss the set Υdk containing all CTLd\X-characters for k and d below.

The marking Ξdk

For every vertex vV, let v be the set of maximal paths in G starting in v that have no intermediate vertices in g¯, i.e.:

  1. an infinite path π=v1,v2, is in v iff v1=v and vig¯ for all i>1;

  2. a finite path π=v1,v2,,vs is in v iff v1=v, s>1, vsg¯ and vig¯ for all 1<i<s.

We write v0 for the set of infinite paths in v. For every j[k], we write vj for the set of v paths which end in gj.

Running Example 2

We write L(Reg) for the language of the regular expression Reg. For Gre|g¯ with g¯=(g1,g2), g1=b, and g2=d, we have:

a0={(ac)ω}a1=L((ac)ab)a2=b0={b(ac)ω}b1=L(b(ac)ab)b2={bd}c0={c(ac)ω}c1=L(c(ac)ab)c2=d0=d1={db}d2=

For a (finite or infinite) path π=v1,v2, we denote by Ξdk(π) the concatenation of the d markings of the vertices of π, i.e., Ξdk(π)=Ξdk(v1)Ξdk(v2). We define the marking Ξdk of a vertex inductively (on d) as follows:

  • Ξ0k(v)=Λ(v), for every vV;

  • For d>0, Ξdk(v) is the (k+1)-vector
    (Ξdk(v)[0],,Ξdk(v)[k])
    where
    Ξdk(v)[0]=πv0{destutter(Ξd-1k(π))}Ξdk(v)[i]=π=(π0,vs)viπ0=(v1,v2,,vs-1){destutter(Ξd-1k(π0))}
    for every i[k]. The union in Ξdk(v)[i] ranges over paths π=(v1,,vs).

That is, for d=0 the marking Ξ0k(v) is the label Λ(v). For d>0 the marking Ξdk is a vector of sets of strings, where the ith coordinate of the vector contains the set of strings obtained by de-stuttering the Ξd-1k markings of the vertices of paths in v, excluding the last vertex of those paths which are finite. For every 0ik and d>0, the marking Ξdk(v)[i] is a set of strings over the alphabet {Ξd-1k(u):uV}, and all strings in Ξdk(v)[i] start with the letter Ξd-1k(v). Note that for an infinite path π, destutter(Ξd-1k(π)) is a finite string by Lemma 5 below.

We have:

Theorem 22

([6]) For every k,dN, topologies G,G, and k-tuples g¯,g¯: If G|g¯ and G|g¯ have the same CTLd\X-character, then G|g¯CTLd\XG|g¯.

Running Example 3

For every v{a,b,c,d}, Ξ0k(v) is a member of the power set 2{p1,p2} of {p1,p2}, and Ξ1k(v) is a set of strings over the alphabet Σ1=2{p1,p2}. For readability of the values of Ξ1k(v), we underline the letters of Σ1 (e.g., we write {p1}_ rather than {p1}).

Ξ02(a)=Ξ12(b)[0]={{p1}__}Ξ02(b)={p1}Ξ12(b)[1]={{p1}__}Ξ02(c)=Ξ12(b)[2]={{p1}_}Ξ02(d)={p2}Ξ12(a)[0]={_}Ξ12(c)[0]={_}Ξ12(d)[0]=Ξ12(a)[1]={_}Ξ12(c)[1]={_}Ξ12(d)[1]={{p2}_}Ξ12(a)[2]=Ξ12(c)[2]=Ξ12(d)[2]=

The CTL1\X-character of Gre|g¯ is the 3-tuple:

Λ(a),Ξ12(a),Λ(b),Ξ12(b),Λ(d),Ξ12(d)=,{_},{_},,{p1},{{p1}__},{{p1}__},{{p1}_},{p2},,{{p2}_},

The set Υdk and the set of characters Charkd

The marking Ξdk(v) belong to a finite poset Υdk which does not depend on v or G. We state the properties of Υdk that needed in this paper in Lemma 5. We do not define Υdk explicitly, since the definition is quite involved. We denote

Charkd=(2{p1,,pk}×Υdk)k+1

and we have:

Lemma 5

([6])

  1. Υ0k=2{p1,,pk}.

  2. For every k,dN, d>0, there is a partial order dk such that (Υdk,dk) is a finite poset.

  3. For every path π in G, destutter(Ξdk(π)) is a strictly decreasing chain in the poset (Υd-1k,d-1k).

  4. For every k,dN, d>0, each member of Υdk is a set of (k+1)-vectors of sets of strictly decreasing chains in (Υd-1k,d-1k).

  5. The CTLd\X-character of every graph LTS G|g¯ with |g¯|=k belongs to Charkd.

Preliminaries II: Monadic Second Order Logic and clique-width

Monadic Second Order Logic

We assume the reader is familiar with First Order Logic, see, e.g., [23]. Monadic Second Order Logic (or MSO) is a powerful logic for graphs and graph-like structures. It is the extension of First Order Logic with set quantification. MSO can define classic graph-theoretic concepts such as planarity, connectivity, c-regularity and c-colorability. An excellent introduction to MSO is Courcelle and Engelfriet’s book [17], but here we introduce some of the core notions of MSO.

Let η be a vocabulary consisting of unary relation symbols Ri, a binary relation symbol E and constant symbols ci.

Syntax

We define the logic MSO(η) inductively. We have two types of variables: first order variables, xi (iN) and unary second order variables Ui (iN). Atomic formulas are of the form ti=tj, E(ti,tj), Ri(tj), Ui(tj) where ti,tj are first order variables or constant symbols. The logical formulas of MSO are built inductively by using the Boolean connectives , , ¬ and , and the quantifiers xi, xi, Ui, Ui.

A variable xi, Ui is free if it is not in the scope of an appropriate quantifier. The quantifier rank qr(φ) of φMSO is the maximum number of nested quantifiers.

Semantics

Let M be a structure with universe M such that the interpretation of a symbol R in M is RM. Let m be a mapping of the free variables to their values: m(xi) ranges over M and m(Ui) ranges over subsets of M. We extend m to ci by setting m(ci)=ciM. For the atomic formulas φ1=(ti=tj), φ2=E(ti,tj), φ3=Ti(tj), M,mφj, j=1,2,3, is defined as in First Order Logic. M,mUi(tj) is defined as m(tj)m(Ui). The semantics of the Boolean connectives , , ¬ and , and the quantifiers xi is defined as in First Order Logic. We define M,mUiφ if there exists XM such that M,mXφ, where mX is obtained from m by setting m(Ui)=X.

Given two η-structures M1 and M, we say M1 and M2 are MSOq -equivalent, and write M1qMSOM2, if M1 and M2 agree on all MSO sentences of quantifier rank at most q.

An (rw)-topology G is a finite structure over the vocabulary E,T1,,Tr,C1,,Cw in which the Ti and Ci are unary, and E is binary. An r-topology G is a finite structure over the vocabulary E,T1,,Tr. The definition of MSOq-equivalence therefore applies to (rw)-topologies and r-topologies. Note that using the same notation E, Ti and Ci for the symbols appearing in the vocabulary and formulas and for their interpretations in structures ((rw)-topologies) is an abuse of notation. However, it should be clear from the context whether we means the symbols or the interpretations.

Clique-width

Clique-width is a graph parameter which generalizes the more familiar tree-width. The class of graphs of clique-width at most w is defined inductively.

An (rw)-topology is an expansion (V,E,T1,,Tr,C1,,Cw) of (V,E,T1,,Tr) by a partition (C1,,Cw) of V. For every uV, if uCi then we say u has color i. We define the w-terms inductively. ϵ is a w-term. If xy are w-terms, then addi,t(x), recoli,j(x), edgei,j(x) and xy are w-terms for i,j[w], t[r]. Every w-term x has an associated (rw)-topology [[x]]:

  • [[ϵ]] has V=E= and empty labeling.

  • [[addi,t(x)]] is formed by adding a new vertex of color i and type t to [[x]].

  • [[recoli,j(x)]] is formed by recoloring every vertex with color i of [[x]] by j.

  • [[edgei,j(x)]] is formed from [[x]] by adding an edge from every vertex of color i to every vertex of color j.

  • [[xy]] is the disjoint union of x and y and the union of the labeling.

An r-topology G has clique-width at most w if there is a w-term ρ such that G is isomorphic to [[ρ(ϵ)]] (forgetting the coloring C1,,Cw). Every topology of size n has clique-width at most n. A class of topologies G has bounded clique-width if there exists w such that every graph in G has clique-width at most w.

Running Example 4

The topology Gre has clique-width at most 3. For (i,t){(1,1),(3,2)}, let

ρi,t=edge2,i(edgei,2(addi,t(add2,2(ϵ)))ρca=ρ1,1ρbd=ρ3,2ρcabd=edge1,3(edge3,1(ρcaρbd)).

ρca creates two vertices uc and ua such that ua has color 1 and type 1 and uc has color 2 and type 2, and adds the edges (ua,ub) and (ub,ua). ρbd creates two vertices ub and ud such that ub has color 3, ud has color 2, and both vertices have type 2, and adds the edges (ud,ub) and (ub,ud). ρcabd adds the edges (ua,ub) and (ub,ua). [[ρabcd]] is isomorphic to Gre when forgetting the colors.

Example 1

(Cliques) Let Kn be the 1-topology G=(V,E,T1) such that V=T1=[n] and

E={(i,j)i,j[n],ij}.

Let ρ0clq=ϵ, and

ρnclq=recol1,2(edge1,2(edge2,1(add1,1(ρn-1clq)))).

We have that [[ρnclq]] is isomorphic to Kn when ignoring the coloring C1,C2. Hence, the cliques all have clique-width at most 2. Note that all the elements of [[ρnclq]] have color 2.

Example 2

(Unidirectional lines) Let Ln be the 1-topology G=(V,E,T1) such that V=T1=[n] and

E={(i,i+1)1in-1}.

Let θ0=ϵ, and

θn=recol1,2(recol2,3(edge1,2(add1,1(θn-1)))).

We have that [[θn]] is isomorphic to Ln when ignoring the coloring. Hence, the unidirectional lines all have clique-width at most 3. Note that all the elements of [[θn]] have color 3, except for n which has color 2.

We assume the reader is familiar with tree-width, otherwise see [17] for an introduction to tree-width. The following theorem presents some properties of clique-width (see [17, Propositions 2.106 and 2.114]):

Theorem 23
  1. All undirected cycles with least four vertices have clique-width 4 and tree-width 2.

  2. All cliques with at least two vertices have clique-width 2. On the other hand, the class of cliques has unbounded tree-width.

  3. The class of undirected grids has unbounded tree-width and unbounded clique-width.

  4. If a class of topologies has bounded tree-width then it has bounded clique-width.

Monadic Second Order Logic and clique-width

A parameterized topology G is MSO-definable if there exists an MSO-formula Φ such that GG iff GΦ. For instance, the set of bipartite graphs is defined as:

U.x,y.(E(x,y)(U(x)¬U(y)))
Theorem 24

(Courcelle’s Theorem, see [17]) Let w1.

  1. The MSO theory of r-topologies of clique-width at most w is decidable. I.e., on input φMSO, the problem “is there an r-topology of clique-width at most w which satisfies φ” is decidable.

  2. For every q, the number of equivalence classes in qMSO is finite.

  3. There is a computable function f:N2N such that, for every ψ, ψ is satisfiable by an r-topology of clique-width at most w iff it is satisfiable by such a structure of size at most f(w,qr(ψ)). Moreover, f(w,qr(ψ)) can be taken to be a tower of exponents in w+qr(ψ) of height O(w+qr(ψ)).

Remark 1

(Tree-width) Tree-width is a well-known graph parameter similar in spirit to clique-width [18, 19]. Every parameterized topology of bounded tree-width also has bounded clique-width, but the converse is not true. If we restrict ourselves to parameterized topologies of bounded tree-width, we may extend MSO by allowing quantification on sets of edges while keeping the decidability.

Definition 3

(MSO smoothness, [45]) A unary operation on (rw)-topologies is called MSO -smooth, if for all qN whenever GqMSOH, (G)qMSO(H).

Theorem 25

([18]) For any fixed i,t,jN, the operations addi,t, recoli,j and edgei,j are MSO-smooth.

Indeed, any operation which can be defined as a quantifier-free transduction is MSO-smooth (see [45]). Smoothness is also defined for binary operations (e.g., the disjoint union is MSO-smooth) but we do not use this generality here.

Iteratively constructible parameterized topologies

We now introduce a user-friendly and expressive formalism that can be used to generate natural parameterized topologies. A parameterized topology is iteratively constructible if it can be built from an initial labeled graph by means of repeating a fixed succession of elementary operations involving addition of vertices and edges, deletion of edges, and relabeling. More precisely, an r-ary parameterized topology G is iteratively-constructible if there are w-terms ρ(x),σ(x) with one variable x and no use of disjoint union, and a w-graph H0 such that (i) GG iff G=σ(ρn(H0)) for some nN, where ρ0(H)=H, (ii) exactly one vertex of H0 has type 1, and (iii) no vertex of type 1 is added in ρ or σ. For terms ρ(·) and ρ(·) we write ρ::ρ instead of ρ(ρ(·)). Intuitively, ρ “builds up” the topology, and σ puts on the “finishing touch” (see examples below). The unique vertex of type 1 acts as the initial token position in TPSs. By definition, any parameterized topology has bounded clique-width.

Example 3

(Cliques and rings) The set of cliques (irreflexive) is iteratively constructible: let H0 consist of a single vertex v of color 1 and type 1, let ρ(x) be edge1,1::add1,2(x), and σ(x) be the identity.

The set of uni-directional rings is iteratively constructible: let H0 consist of two vertices, one of color 1 and type 1 and one of color 2 and type 2 with an edge from 1 to 2. Let ρ(x) be recol4,2::recol2,3::edge2,4::add4,2 and σ(x)=edge2,1.

Homogeneous parameterized topologies revisited

All homogeneous parameterized topologies have bounded clique-width and are definable in MSO.

Proposition 2

Let H be a directed graph with vertex set VH=[r] and edge set EH and let Bsng,Bclq,Bind be a partition of [r]. Let G be the homogeneous parameterized topology defined by H and Bsng,Bclq,Bind. Then:

  1. G has clique-width at most r+|Bsng|.

  2. G is MSO-definable.

Proof

First, lets assume for simplicity that we have 2r colors. For every function size:[r]N such that size(i)=1 if iBsng, there is a unique topology Gsize in G such that |Ti|=size(i) for all i. Conversely, for every topology G in G there is size such that G=Gsize.

For every i[r], let ν0[i]=ϵ. For all iBindBsng and nN, let νn[i]=addi,i(νn-1[i]). For all iBclq and nN, let νn[i]=recoli,r+i(edgei,r+i(addi,i(νn-1[i]))). Let ν[i]=νsize(i)[i].

Observe that (1) [[ν[i]]] is a singleton if iBsng, (2) [[ν[i]]] is an edgeless graph with size(i) vertices if iBind, and (3) [[ν[i]]] is a clique with size(i) vertices if iBclq (see also Example 1).

Let θ0=i[r]ν[i]. The topology [[θ0]] is the disjoint union of of singletons, independent sets (i.e., edgeless sets), and cliques, whose numbers and sizes are determined by Bsng,Bclq,Bind and size. We denote θ0size=θ0 when we would like to make size explicit in the notation. It remains to add the edges between the vertices in different Ti’s. Let EH={e1,,em}. For every en=(i,j)EH, let θn=edgei,j(θn-1). We have that [[θm]] is isomorphic to Gsize.

Finally we note that a color r+i>r was only used if iBclq. Hence, only r+|Bsng| colors are really used, and Gsize has clique-width at most r+|Bsng|.

Now we turn to MSO-definability. We need a few auxiliary sentences:

indi=x,y.((Ti(x)Ti(y))(¬E(x,y)))clqi=x,y.((Ti(x)Ti(y))((ij)E(x,y)))sngi=(x.Ti(x))(x,y.((Ti(x)Ti(y))(x=y)))

A topology G satisfies indi iff Ti induces an edgeless graph, G satisfies clqi iff Ti induces a clique, and G satisfies sngi iff Ti is a singleton. For every i[r], let ϕi=indi, ϕi=clqi, and ϕi=sngi if, respectively, iBind, iBclq, or iBsng. For every i,j[r], ij, let

ψ(i,j)=x,y.((Ti(x)Tj(y))MaybeEdgei,j(x,y))

where MaybeEdgei,j(x,y)=E(x,y) if (i,j)EH, and otherwise MaybeEdgei,j(x,y)=¬E(x,y). Hence G satisfies the following sentence ϕH iff there is size such that G is isomorphic to Gsize:

ϕH=i[r]ϕii,j[r],ijψ(i,j).

Decidability of PMCP

MSO-definable topologies of bounded clique-width

The purpose of this subsection is to prove the following theorem.

Theorem 26

Let P be the set of token-passing system templates. Let G be a parameterized topology that is MSO-definable and contains only topologies of clique-width at most wN. Then

  1. The problem PMCPG(P,i-CTL\X) is decidable;

  2. There is an algorithm that given k and d produces a cutoff F(G,k,d) for PMCPG(P,k-CTLd\X).

We give an outline of the proof before diving into the details:

  • (I)

    We give an alternative definition of the marking function Ξ with simple (i.e., cycle-free) paths rather than any paths.

  • (II)

    We show that the k-CTLd\X-character of the graph LTS G|g¯ is MSO-definable. That is, for every member C of Chardk, we construct an MSO-formula chrC such that G|g¯ has k-CTLd\X-character C if and only if G, g¯, and initG satisfy chrC. To do so, we use the alternative definition of Ξ with simple paths.

  • (III)

    We show how to compute a mapping repd,wk assigning to every k-CTLd\X-character CChardk a representative H|h¯. The representative H|h¯ is a graph LTS such that H has clique-width at most w. To do so, we use the MSO-definability of k-CTLd\X-characters and the decidability of MSO on topologies of bounded clique-width.

  • (IV)

    We show how to reduce the problem of whether a token-passing system with topology G satisfies a k-CTLd\X-sentence to the problem of whether G satisfies an MSO-sentence. To do so, we use the composition theorem, Theorem 21, as well as the mapping of k-CTLd\X-characters to representatives, and the MSO-definability of k-CTLd\X-characters.

  • (V)

    Finally, using the reduction from the previous item and the MSO-definability of G, we express the PMCP as a satisfiability problem of a certain MSO-sentence. We use that G has bounded clique-width and that deciding MSO-satisfiability over bounded clique-width is decidable. The cutoff is then obtained from the bound on the size of the minimal satisfying model of an MSO-sentence.

(I) Defining markings using simple paths

Let G|g¯=(V,Δ,V0,Λ) be a graph LTS for an r-topology G=(V,E,T¯). First, we can move to finite paths instead of infinite paths:

Lemma 6

Let π=(v1,v2,) be an infinite path. Let jN be such that vj=vi for infinitely many iN. Let π0=(v1,v2,,vj) be the path obtained from π by cutting the path π at vj. For every d,kN, Ξdk(π)=Ξdk(π0).

Proof

For every i such that vj=vi, Ξdk(vj)=Ξdk(vi). By Lemma 5, destutter(Ξdk(π)) is strictly decreasing in the poset (Υd-1k,d-1k). This implies that Ξdk(π) is non-increasing, and, using that there are infinitely many i such that vj=vi, for every >j, Ξdk(vj)=Ξdk(v). Hence, destutter(Ξdk(vj,vj+1,))=destutter(Ξdk(vj)).

Second, we can move to simple finite paths instead of finite paths (by repeated application of the following lemma):

Lemma 7

Let π=(v1,v2,) be a (finite or infinite) path with a cycle, i.e., there are i<j such that vi=vj. Let π1 be the path obtained from π by removing the subpath (vi+1,,vj) from π. For every d,kN, Ξdk(π)=Ξdk(π1).

Proof

Since vi=vj we have that Ξdk(vj)=Ξdk(vi). By Lemma 5, destutter(Ξdk(π)) is strictly decreasing in the poset (Υd-1k,d-1k), implying that Ξdk(π) is non-increasing. Hence, for every ij, Ξdk(v)=Ξdk(vj), implying that: destutter(Ξdk(vi,,vj))=destutter(Ξdk(vi)).

For every j{0,,k}, and every vertex vV, let vj be the set of simple finite paths π in G which start at v, have no vertices in g¯, and whose last vertex u has an edge to gj if j>0, or to some vertex in π if j=0. Lemmas 6 and 7, we have:

Lemma 8

Let k,dN with d>0. Let G|g¯ be a graph LTS. For every j{0,,k}, we have:

Ξdk(v)[j]=πvj{destutter(Ξd-1k(π))} 1
Running Example 5

For Gre|g¯ with g¯=(g1,g2), g1=b, and g2=d, we have:

a0={ac}a1={a}a2=b0={bac}b1={ba}b2={b}c0={ca}c1={ca}c2=d0=d1={d}d2=

The reader can verify that applying Equation (1) of Lemma 8 gives the same values of Ξdk(v)[j] as those computed in Running Example 3.

(II) k-CTLd\X -character is MSO -definable

Proposition 3

(The marking Ξdk of a graph LTS is MSO-definable) Let d,kN and aΥdk. There is an MSO-formula marka with k+1 free first-order variables such that, for every r-topology G=(V,E,T¯) and v,g1,gkV, Gmarka(v,g¯) iff Ξdk(v)=a, where Ξdk is the marking of G|g¯.

Proof

We will prove this proposition by induction on d.

Let d=0. By Lemma 5, Υ0k consists of subsets of {p1,,pk}. The desired marka(x,w1,,wk) is:

marka(x)=i:pia(x=wi)i:pia¬(x=wi)

since: Gmarka(v,g¯) iff {iv=gi}={ipia} iff Λ(v)=a iff Ξ0k(v)=Λ(v).

Let d>0 and aΥdk. For every bΥd-1k, let markb be the MSO-formula guaranteed by the induction hypothesis for b.

Let chainsd-1k denote the set of strictly decreasing chains of elements in (Υd-1k,d-1k). By Lemma 5, a=(A0,,Ak), where each Aichainsd-1k.

We will use the definition of Ξdk in Lemma 8 to define marka. The formula marka(x,w1,,wk) is the conjunction i=0kmark-coordi, where mark-coordi will be defined below to guarantee that the ith coordinate Ai of the vector a follows the definition of Ξdk[i] in Lemma 8.

By the definition of Ξdk[j] in Lemma 8, Ξdk consists of the set of chainsd-1k elements ch for which there exists a path π in vj such that destutter(Ξdk(π))=ch. For every chchainsd-1k, we will define below θch to express that there exists a path π in vj such that destutter(Ξdk(π))=ch. Using the θch, we can define mark-coordj as follows:

mark-coordj=chAjθchchchainsd-1k\Aj¬θch

To define θch, observe that for a path π=v1,,vr and a chain ch=ch1,,chs in chainsd-1k, the following are equivalent:

  • (i)

    destutter(Ξdk(π))=ch.

  • (ii)

    There are 1=f0f1<<fs=r such that Ξdk(vj)=chi for all fi-1jfi.

Hence, for a chain ch=ch1,,chs in chainsd-1k, the following are equivalent:

  • (i)

    There is π in vj such that destutter(Ξdk(π))=ch.

  • (ii)

    There are simple finite paths π1,,πs which are consecutive (i.e., the last vertex of πi is adjacent to the first vertex of πi+1 for all i) such that if vπi then Ξd-1k(v)=chi. Let the last vertex of πs be u. If j>0 then u has an edge to u=gj. If j=0 then u has an edge to some u in one of π1,πs.

For every bΥd-1k, reachb(y,y) below expresses that there is a path z1,,zt, tN, starting from z1=y and ending at zt=y such that Ξd-1k(zi)=b for all i:

reachb(y,y)=Z.z.(Z(z)markb(z))reach(Z,y,y)reach(Z,y,y)=Y.((subset(Y,Z)Y(y)¬Y(y))(z1.z2.Y(z1)¬Y(z2)E(z1,z2)))subset(Y,Z)=y.(Y(y)Z(y))

where reach(Z,y,y) expresses that there is a path between y and y in the subgraph induced by Z similarly to the classical definition of connectivity in MSO e.g., in [44, Proposition 7.14].

Finally, θch is given by

y1.y1ys.ys.lastji=1sreachchi(yi,yi)i=1s-1E(yi,yi+1)

where lastj expresses that the last vertex ys of πs has an edge to gj if j>0, or to some vertex of π1,πs if j=0:

last0(y¯,y¯)=p{y1,y1,,ys,ys}E(ys,p)lastj(ys,wj)=E(ys,wj)

for j[k].

Proposition 4

(The CTLd\X-character of a graph LTS is MSO-definable) Let d,kN and CCharkd. There is an MSO-formula chrC with k free first-order variables such that, for every r-topology G=(V,E,T¯) with T1={init} and g1,gkV, GchrC(init,g¯) iff the CTLd\X-character of G|g¯ is C.

Proof

Let init be the unique vertex in T1. Let C=(ainit,binit,a1,b1,,ak,bk). By the definition of CTLd\X-character, the graph LTS G|g¯ has character C iff for every v of init,g1,,gk, Ξ0k(v)=av and Ξdk(v)=bv. We use here that Ξ0k(v)=Λ(v). Using the formulas of the form marka guaranteed in Proposition 3, G|g¯ has CTLd\X-character C iff GchrC, where chrC(w¯) is

x.(T1(x)markainit(x,w¯)markbinit(x,w¯))i=1kmarkai(wi,w¯)markbi(wi,w¯)

and w¯=(w1,,wk) is a tuple of first-order variables. Observe that we quantify over x to obtain the vertex init which starts with the token; init is the unique vertex belonging to T1.

(III) The representative mapping

Lemma 9

(Computable representatives) Assume k,d,wN. There is a computable function rep=repd,wk which maps every CChardk either to a graph LTS H|h¯ or to . If rep(C)=H|h¯, then H has clique-width at most w and the CTLd\X-character of H|h¯ is C. If rep(C)=, then there is no H|h¯ such that H has clique-width as most w and whose CTLd\X-character is C.

Proof

Let CChardk. By Proposition 4, there does not exist a graph LTS G|g¯ whose CTLd\X-character is C iff the sentence

unfeasibleC=¬w1wk.chrC(w1,,wk)

belongs to the MSO theory of topologies of clique-width at most w. By Theorem 24, the MSO theory of topologies of clique-width at most w is decidable. If unfeasibleC is valid for topologies of clique-width at most k, then rep(C)=. Otherwise, we search for H|h¯ whose character is C by iteratively checking all graphs H=[[t]] and k-tuples of their elements h¯, where in the ith stage of the iteration, t iterates over all w-terms t of size at most i. When we find H|h¯ whose CTLd\X-character is C, as is guaranteed to occur, we set rep(C) to H|h¯ and end the search.

(IV) Reduction from k-CTLd\X on token-passing systems to MSO on topologies

Consider a k-CTLd\X-formula ψ for which we want to verify that, for every GG, P¯Gψ. We show in Lemma 10 that there is an MSO-sentence αψ such that αψ is satisfied by GG iff the system P¯G satisfies ψ. The formula ψ is of the form Q1x1Qkxk.φ(x¯), where φ is a CTLd\X-formula. We construct αψ to have the form αψ=Q1x1Qkxk.βψ, where βψ is an MSO-formula. To build βψ we use the composition property of k-CTLd\X from Theorem 21. Coupled with Theorem 22, the composition property says that the token-passing systems P¯G|g¯ and P¯H|h¯ have the same CTLd\X-character if their graph LTSs have the same CTLd\X-character.

Lemma 10

For every formula

ψ=Q1x1Qkxk.φ(x¯)k-CTLd\X,

there exists a computable αψMSO such that for every G with clique-width at most w,

P¯GψifandonlyifGαψ.
Proof

Let GG be a topology and P¯P be a system template.

P¯GQ1x1Qkxk.φ

Q1g1VGQkgkVG:P¯Gφ[pxjpgj]

Q1g1VGQkgkVG:P¯G|g¯φ[pxjpgj]

Q1g1VGQkgkVG:forallCCharkdand

repd,wk(C)=H|h¯,iftheCTLd\X-characterofG|g¯

isC,thenP¯H|h¯φ[pxjpgj]

Gαψ, where αψ is

Q1x1QkxkCChardk:repd,wk(C)=H|h¯andP¯H|h¯φ[pxjpgj]chrC.

The disjunction in the last formula is over all elements C of Chardk which are the CTLd\X-characters of some H|h¯ such that P¯H|h¯φ[pxjpgj]. Here we denote by φ[pxjpgj] the formula that results from replacing every atom in φ of the form pxj by the atom pgj, for pAPpr and 1jk. The first equivalence is by the definition of semantics of indexed temporal logic; the second is by the definition of PG|g¯; the third is by Theorem 21 and by the definition of repd,wk in Lemma 9; the fourth is by Proposition 4.

The formula αψ is computable because repd,wk is computable (Lemma 9), chrC is computable, for each C in Chardk (Proposition 4), and model checking whether PH|h¯ψ[pxjpgj] is computable.

(V) Decidability of PMCP

Proof

(Theorem 26) Let Φ be the MSO formula defining G. By Lemma 10, there is GG such that P¯Gψifandonlyif there is GG such that GΦ¬αψ. By Theorem 24, there is GG such that GΦ¬αψ iff there exists such G of size at most f(w,|φ|), so f(w,|φ|) is a cutoff for the problem.

Remark 2

(Fairness) The conference version of this paper [3] assumed that token-passing systems satisfy a fairness condition, namely that the token visits every process infinitely often. In contrast, the presentation in this paper does not require this fairness condition to hold. Elimination of the fairness condition is the reason that we replaced the treatment of CTLd\X equivalence classes using contractions based on [2] in [3] with a treatment using CTLd\X-characters and markings based on [6] in the current paper.

Combining Theorem 26 with Proposition 1 we get:

Corollary 3

Let G be a parameterized topology that is MSO-definable and contains only topologies of clique-width at most wN. Let F be the set of 1-index LTL\X formulas, and let P¯ be an r-ary system template. Then the set of executions 1-EXECG(P¯) is ω-regular.

Using Theorem 26 and Proposition 2 we have:

Corollary 4

Let P be the set of token-passing system templates. Let G be a homogeneous parameterized topology. Then

  1. The problem PMCPG(P,i-CTL\X) is decidable;

  2. There is an algorithm that given k and d produces a cutoff F(G,k,d) for PMCPG(P,k-CTLd\X).

Iteratively-constructible parameterized topologies

The decidability of the PMCP problem for iteratively-constructible parameterized topologies can be reduced to decidability of MSO in the presence of an auxiliary order relation (see for instance the discussion of the iteratively constructible class EQCLIQUE of graphs consisting of two cliques of equal size in [33, Example 1(ix)]). However, another approach to the decidability of the PMCP problem of iteratively-constructible parameterized topologies via MSO will be easier.

Theorem 27

Let P be the set of token-passing system templates. For every iteratively-constructible G,

  1. PMCPG(P,i-CTL\X) is decidable;

  2. There is an algorithm that given k and d produces a cutoff for k-CTLd\X.

Proof

Let ψi-CTL\X. Let σ(x) and ρ(x) be w-terms and Gn=[[σ(ρn(ϵ))]]. Since there are finitely many equivalence classes of qMSO, there are n1<n2N such that [[ρn1(ϵ)]]qMSO[[ρn2(ϵ)]]. By Theorem 25, applying the same sequence of clique-width operations on qMSO-equivalent topologies leads again to qMSO-equivalent topologies, i.e., [[σ(ρn1+e(ϵ))]]qMSO[[σ(ρn2+e(ϵ))]] for every eN. Therefore, for every φMSO, Gnφ for every n iff Gnφ for every n<n2. Let αψMSO be the formula guaranteed by Lemma 10 such that for every GG, P¯GψifandonlyifGαψ and αψ is computable. We get that for every GG, P¯Gψ iff Gnαψ for every n<n2.

Cutoffs

The algorithms obtained from the proofs of Theorem 26 and Theorem 27 give non-elementary upper bounds on the cutoffs due to the number of equivalence classes in qMSO. It is well-known that the latter also has a non-elementary lower bound (this is true already for first order logic, see [35, Lemma 10.21]). Therefore, in order to find low cutoffs, one must look at formalisms which are inherently simpler than MSO such as iteratively-constructible parameterized topologies. We believe that a more direct proof of decidability of PMCP for iteratively-constructible parameterized topologies will give rise to elementary cutoffs close to the following lower bound:

Theorem 28

There exists a 2-ary system template P¯, and, for every kN, an iteratively constructible parameterized 2-topology G of clique-width at most k and a k-indexed LTL\X formula12 φ such that the smallest cutoff for PMCPG({P¯},{φ}) is 2Ω(k).

Proof

The templates P¯ Let W be a process template whose state set consists of one state s, and whose transitions are (s,tok!,s) and (s,tok?,s). The state-labeling of s is {p}. Let P¯=(W,W). For any topology G=(V,E,T1,T2) with |T1|=1, P¯G behaves similarly to the graph LTS: the token moves freely between the processes on along the edges of G.

We now describe the parameterized topology G={Gnn>0}. See also Fig. 11. Let pri:iN be the sequence of prime numbers arranged according to size. Let t,kN be the maximal integers such that

k3k+1k:=itpri

Let R={(i,j)j[pri]}. For every nN, let Rn={(i,j,n)(i,j)R}. Let H0 be a star Sk with k leaves whose center is denoted start. Let Hn+1 be obtained from Hn by adding the vertices of Rn+1 and, for every (i,j)R, adding an edge between (ijn) and (i,j+1,n+1), where j+1 is taken modulo pri. Let G0=H0 and let Gn be obtained from Hn by adding, for every (i,j)R, an edge between (ij, 1) and (ijn). Note that G0 is not in G.

Fig. 11.

Fig. 11

The figure depicts G1 and G6 for k in the range 3(pr1+pr2)+1=16k<3(pr1+pr2+pr3)+1=31 (where pr1=2,pr2=3,pr3=5). For such k, we have t=2, k=pr1+pr2=5. The white vertices of Gn are {1}×[pr1]×{0,,n}. The black vertices of Gn are {2}×[pr2]×{0,,n}. The clique-width of Gn is at most 3k+1=16. The black vertices of G6 induce three disjoint cycles and G6φ=¬α, whilst the black vertices of G1 induce one cycle. We have Gnφ=¬α for all n<itpri=2·3=6

There is a (3k+1)-expression ρ(x) such that Hn=ρn-1(H1). The colors of the vertices of Hn are as follows:

  • the k neighbors of start have distinct colors from 2k+1,,3k;

  • the vertices in Rn have distinct colors from 1,,k.

  • all other vertices (including start) have color 3k+1;

The (3k+1)-expression ρ(x) adds k new vertices with distinct colors from k+1,,2k, connects them appropriately with the vertices of Rn colored 1,,k, recolors all vertices with colors 1,,k to color 3k+1, and recolors every vertex of color c=k+1,,2k to c-k. The (3k+1)-expression σ(x) adds an edge between the vertices colored c and c+2k for every c in 1,,k. We have Gn=σ(ρn-1(H1)). We get that G is an iteratively constructible 2-topology with width 3k+1k.

The crucial property of G is as follows. Let nN. The set

Xi=(i,j,)j[pri],[n]

induces a single undirected cycle in Gn iff pri does not divide n, for all i; Xi induces pri undirected cycles in Gn iff pri divides n. Hence, for every 1<nitpri, Gn contains less than k cycles iff nitpri. Let α=x1xk+2β where

β=AG(1abk+1(¬pxa¬pxb)2abk+1(¬pxaUpx1)(¬pxbUpx1))

So, α says there exists g1,,gk+1 such that (1) g1,,gk+1 are all distinct vertices, which in particular implies that n2, and (2) all paths between ga and gb, ab, pass through g1. Hence, P¯Gnα for any n<itpri. On the other hand, P¯Gnα for n=itpri with g1 at start, and g2,,gk+1 on pairwise distinct cycles. Hence itpri is the smallest cutoff for PMCPG({P¯},{¬α}).

From well-known properties of primes, t=Θ(k), prt+1=θ(tlogt) and itpri=Θ(et) (see e.g., [39]). By the maximality of t and k, k-(3k+1)<3prt+1, implying that k=Θ(k). Hence, and itpi=2Θ(k).

Since the parameterized topology in Theorem 28 is MSO-definable and has bounded clique-width, we have:

Theorem 29

There exists a 2-ary system template P¯, and, for every kN, an MSO-definable 2-topology G of clique-width at most k and a k-indexed LTL\X formula φ such that the smallest cutoff for PMCPG({P¯},{φ}) is 2Ω(k).

Discussion and related work

The applicability of the reduction of the PMCP to finitely many classical model checking problems as a technique for solving the PMCP depends on the communication primitive, the specification language, and the set of topologies of the system. The wide-ranging nature of our work along these axes gives us some insights which may be pertinent to system models different from our own:

Decidability but no cutoffs. Theorems 4 and 10 show that, for certain sets of specifications formula, cutoffs do not exist yet the PMCP problem is decidable.

Cutoffs may not be optimal. Theorem 15 and Theorem 17 imply that even in cases that cutoffs exist and are computable, they may not yield optimal algorithms for solving the PMCP.

Formalisms for topologies are useful. Many results in Sects. 3 and 5 show that decidability and complexity of PMCP can be extended from concrete examples of sets of topologies such as rings and cliques to infinite classes of topologies given as user-friendly yet powerful formalisms. The formalisms we study may be useful for other system models; for instance, in the context of model-checking multi-agent systems in unknown parameterized environments [4, 5, 47].

In the context of cutoffs, it is worth noting that we considered cutoffs with respect to sets of formulas and process templates. As Theorem 4 shows, there is a parameterized topology G, and a pairwise-rendezvous system template P¯, for which no cutoff exists for the set of 1-indexed LTL\X formulas. Note, however, that if the set of formulas F being considered is finite, then a cutoff always exists. Indeed, given G,P¯,φF, let Gφ be a smallest topology G for which P¯Gφ, and if none exists, then let Gφ be a smallest topology in G. Then maxφF|VGφ| is a (minimal) cutoff for PMCPG({P¯},F) in case F is finite.

Let us underline that the cutoffs we compute are linear in the number of states in the case of disjunctively-guarded systems, and exponential in the case of token-passing systems. We have shown that such cutoffs are already useful for establishing the decidability of the parameterized model checking problem. On the other hand, some experimental results on PMCP from real-world case studies (e.g., [25, 42] or [38, Sec. 6.2]) suggest that templates in such systems usually have tens or hundreds of states, suggesting that small cutoffs are desirable if one is to use them to solve the PMCP in practice. Interestingly, case studies have found that sometimes very small cutoffs do exist. For instance, [42] provide experimental results for checking reachability properties on Boolean programs and Petri nets. Note that both Boolean programs and Petri nets can be modeled by pairwise-rendezvous systems in controlled-clique topologies. Moreover, since there are only finitely many reachability properties, cutoffs are guaranteed to exist. They provide a dynamic approach to detecting cutoffs, i.e., they do a reachability analysis on systems with an increasing number of processes, until a certain stopping criterion is reached, producing a cutoff. To the best of our knowledge, it is an open research question whether a notion of dynamic cutoff exists for doing PMCP of pairwise-rendezvous systems against indexed LTL\X specifications in practice.

As previously discussed, this work draws on and generalizes the work in [36] on pairwise rendezvous on cliques, the work in [24] on disjunctive guards on cliques, and the work in [2, 16, 28] on token-passing systems. There are very few published complexity lower-bounds for PMCP (notable exceptions are [30, 48]), and to the best of our knowledge, our lower bounds on the sizes of cutoffs are the first proven non-trivial lower bounds for these types of systems.

In Tables 13 and 4 we summarized the answers given to the aforementioned problems earlier for controlled topologies. In Table 2 we collect answers to the complexity problems for the case of controllerless topologies. Such answers and questions, collected together, give an idea of the several combinations of process templates, synchronization mechanisms, process topologies and specification language that have been considered in this and previous works. We hope that analyzing such combinations as a “problem space” as well as the differences among the provided answers, will be helpful to further understanding the role played by every item in such space. Finally, question marks appearing in the tables represent combinations that have not been explored in the research area of parameterized model checking of rendezvous-systems and we hope they might represent good starting points for further research.

Table 1.

Complexity of PMCP for different controlled topologies

PR DG TPS
Ring
1-LTL\X Undecidable (Theorem 13) Undecidable (Theorem 13) Pspace-complete [16, 28]a
1-CTL\X Undecidable (Theorem 13) Undecidable (Theorem 13) Pspace-complete [28]b
Homogeneous
1-LTL\X ExPACE-completec (Theorem 10) Pspace-complete (Theorem 19) Decidable (Corollary 4)
1-CTL\X Undecidable (Theorem 2) Undecidable (Theorem 12) Decidable (Corollary 4)
MSO-definable and bounded clique-width
1-LTL\X Undecidable [28, 52] Undecidable (Theorem 13) Decidable (Theorem 26)
1-CTL\X Undecidable ([28, 52], Theorem 2) Undecidable (Theorem 12) Decidable (Theorem 26)

a The cited papers show that a cutoff exists and is independent from the input; Sistla and Clarke [50] showed that model checking LTL\X is already Pspace-complete

b Same as for 1-LTL\X

c The hardness result holds for controlled clique parameterized topologies

Table 3.

Regularity for the set of executions on homogeneous topologies. Sizes of NBW are given where appropriate

PR DGa TPS
Controlled
controller non ω-regular (Theorem 8) O(C2·2U) (Theorem 18) ω-regular (Corollary 3)
user non ω-regular (Theorem 8) O(C2·2U) (Theorem 18) ω-regular (Corollary 3)
Controllerless
user O(|U|) (Theorem 7) O(2U) (Theorem 18) b

a Here C is the product of sizes of controller templates, U is the sum of sizes of user templates

b Our definition of TPS requires the presence of a controller, thus this combination does not represent a meaningful question

Table 4.

Cutoffs for PMCP on different logics and controlled and controllerless parameterized topologies

PR DG TPSa
Ring
1-LTL\X Does not exist (Theorem 13) Does not exist (Theorem 13) 2 or 3 [16, 28]
1-CTL\X Does not exist (Theorem 13) Does not exist (Theorem 13) 2 or 3 [28]
Homogeneous
1-LTL\X Does not exist (Theorem 5) 2+nc+Σi|Ui| (Theorem 14)b 2 [2]
1-CTL\X Does not exist (Theorem 5, Theorem 2) Does not exist (Theorem 12) 2 [2]
MSO   and bounded clique-width
k-LTL\X Does not exist (Theorem 5) ? F(G,k,1) (Theorem 26) 2Ω(k) (Theorem 29)
k-CTL\X Does not exist (Theorem 2) Does not exist (Theorem 12) F(G,k,d) (Theorem 26) 2Ω(k) (Theorem 29)

a In this column we answer the question whether there are cutoffs which are computable given parameterized topology G. F(G,k,d) is some computable function of G, k, and d defined in the respective theorems, where d is the number of nested path quantifiers

b Here nc denotes the number of controller templates, |Ui| denotes the size of the i-th user template

Table 2.

Complexity of PMCP of 1-indexed formula for different controllerless topologies (the TPS column is missing, since our definition of TPS requires a controlled topology)

PR DG
Ring
LTL\X ? ?
CTL2\X ? ?
Homogeneous (complexity/program complexity)
LTL\X Pspace-complete/Ptime (Theorem 11) Pspace-complete/Ptime (Theorem 19, Corollary 2)
CTL2\X Undecidable (Theorem 2) Undecidable (Theorem 12)
MSO and bounded clique-width
LTL\X ? ?
CTL2\X Undecidable (Theorem 2) Undecidable (Theorem 12)

In this context, it is worth noting that all the upper-bounds presented in this paper concerning 1-indexed LTL\X can be easily extended to the existential or universal fragments of k-indexed LTL\X (for kN), i.e., to the case of many process quantifiers of the same type (all existential or all universal). Furthermore, this is also the case if one allows enhanced versions of these quantifiers that specify that the processes quantified are different, and/or are neighbours (or not) in the topology (see [2] for a definition of these enhanced quantifiers). This allows one, for example, to express mutual-exclusion: ij.G(¬(critical,i)¬(critical,j)). For the case of full k-indexed LTL\X  where alternation of universal and existential quantifiers is allowed, many of the corresponding upper bounds are still unknown, and represent another direction for future work.

We now briefly describe what needs to be done to get this extension. All the upper bounds concerning 1-indexed LTL\X were stated with respect to homogeneous parameterized topologies.13 Lemma 3 shows that, for 1-indexed LTL\X, such systems can be simulated by cliques. However, looking at the proof of the lemma, it is not hard to see that this simulation actually works irrespective of the specification logic. Indeed, in the controllerless case we actually get that the set of runs of the cliques is exactly equal to the set of runs of the homogeneous topologies; and in the controlled case this is also true except for a slight technical mismatch between the structure of global configurations in these two types of systems—due to the fact that the single controller of a controlled clique simulates (using a product process template) all the controllers specified by the homogeneous parameterised topology skeleton. However, this technical mismatch is syntactic in nature, and is easily overcome by mapping each coordinate in the state of the unique clique controller to the corresponding controller vertex in the homogeneous topology. Also note that runs of a given topology G in the homogeneous parameterized topology are simulated by runs of a clique topology G of the same size or smaller; conversely, all runs of a simulating clique topology G correspond to runs of topologies in the parameterized homogeneous topology that are larger by at most a constant factor (namely, the number of controllers in the skeleton of the homogeneous topology minus 1).

Armed with the above observations, extending our upper-bounds from 1-indexed LTL\X to the universal and existential fragments of k-indexed LTL\X now requires the following. First, we can easily extend the construction in the proof of Lemma 3 to have the controller of the clique simulate not only the controllers of the homogeneous topology, but also any other k nodes of k different types. Combining this with the observation made in Lemma 2 that, due to symmetry, in a homogeneous system the executions of all processes of a given type are exactly the same, we reach the following conclusion: we can replace reasoning about properties of the set of all runs of a homogeneous parameterised system projected onto processes of k different types with reasoning about the 1-executions of the unique controller of a parameterized clique topology, projected onto the relevant k simulated nodes of interest. Moreover, this reduction incurs only a constant blowup (assuming k and the communication alphabet are fixed). Observe that in case we started with a homogeneous parameterized topology with no controllers (and k types of interest), we do not have to simulate it with a controlled clique-topology. Instead, we can simulate it with a clique topology with two types: one type that is the disjoint union of all the process templates (as in the basic construction in Lemma 3), and one which is the product of the k process templates of interest (similar to the controller case—but not designated as a controller, i.e., allowing one to have many nodes of this product type). Thus, in all cases we can reduce questions about universal and existential k-indexed LTL\X formulas with respect to a homogeneous parameterized topology to a question about a 1-indexed LTL\X formula with respect to a clique topology of the same type (controlled or uncontrolled), with a constant blowup.

As a final remark, observe that when the given existential k-indexed LTL\X formula does not specify that two quantified vertices xy should be different, we can replace it with the disjunction (conjunction for a universal formula) of two formulas: one specifying that xy, and one with one quantifier less and replacing every occurrence of y with x. For a fixed k, performing this for every possible pair of variables, incurs a constant blowup.

Acknowledgements

Open access funding provided by Austrian Science Fund (FWF).

Footnotes

1

Cutoffs are also useful for parameterized synthesis, see e.g., [13, 40, 43].

2

Actually, the set of executions is defined to be the destuttering of this set of projections, as explained in Sect. 2.6.

3

In the body of the paper, sets of topologies are called “parameterized topologies”.

4

A controller refers to a process-template that is not duplicated, i.e., it occurs exactly once.

5

We remark that allowing processes to send in certain directions, e.g., send left and send right in a bi-directional ring, quickly makes the PMCP undecidable [2].

6

In this paper, the sets in a partition may be empty.

7

The definition we give in this paper for indexed temporal logic uses a longhand notation. Thus, in a system with a single process template, instead of writing i,j we write i:type(i)=1j:type(j)=1. Also, for the sake of simplicity, we only consider the basic universal and existential quantifiers, ignoring quantifiers of the form ij that require that the process assigned to i is different than the one assigned to j (see for example [2] for a definition that allows such enhanced quantifiers). All the results in this paper also hold for the case where the enhanced quantifiers as defined in [2] are used, with the natural changes applied to the proofs.

8

These multiple initial states can be removed by introducing a dummy initial state ι1; in this case the statement of the Lemma needs to be slightly amended to remove the first state of each execution in 1-EXECG(P¯).

9

Note that it is very common to assume that the atomic propositions are equal to the states.

10

Note that not all such products are legal paths in A, since A contains a transition from (pq) to (p,q) only if A¬ϕ has a transition from p to p while reading the atomic propositions that are true in q.

11

To see this, note that K(C,U) is the destuttering of an automaton with O(|T|) many states and input alphabet of size |C|, and apply Lemma 1.

12

φ is also a CTL\X formula.

13

With the exception of Theorem 1. However, the construction in this Theorem can be easily extended without requiring any new ideas.

B. Aminof, T. Kotek, S. Rubin, and H. Veith were supported by the Austrian National Research Network S11403-N23 (RiSE) of the Austrian Science Fund (FWF) and by the Vienna Science and Technology Fund (WWTF) through Grants PROSEED, ICT12-059, and VRG11-005. S. Rubin was supported by a Marie Curie fellowship of the Istituto Nazionale di Alta Matematica. F. Spegni is supported by UnivPM through Grant RSA-A 2014. A preliminary version of this work already appeared at the CONCUR 2014 Conference [3]. Here we extend it with more results, and full detailed proofs.

The tragic death of Helmut Veith prevented him from approving the final version. All faults and inaccuracies belong to his co-authors.

References

  • 1.Abdulla, P.A., Atig, M.F., Rezine, O.: Verification of directed acyclic ad hoc networks. In: Beyer, D., Boreale, M. (eds) Formal Techniques for Distributed Systems: Joint IFIP WG 6.1 International Conference, FMOODS/FORTE 2013, Held as Part of the 8th International Federated Conference on Distributed Computing Techniques, DisCoTec 2013, Florence, Italy, 3-5 June 2013, Proceedings, pp. 193–208, Springer, Berlin, Heidelberg (2013). doi:10.1007/978-3-642-38592-6_14
  • 2.Aminof, B., Jacobs, S., Khalimov, A., Rubin, S.: Parameterized model checking of token-passing systems. In: McMillan, K.L., Rival, X. (eds.) Verification, Model Checking, and Abstract Interpretation—15th International Conference, VMCAI 2014, San Diego, CA, USA, January 19–21, 2014, Proceedings, Volume 8318 of Lecture Notes in Computer Science, pp. 262–281. Springer (2014)
  • 3.Aminof, B., Kotek, T., Rubin, S., Spegni, F., Veith, H.: Parameterized model checking of rendezvous systems. In: Baldan, P., Gorla, D. (eds.) CONCUR 2014—Concurrency Theory—25th International Conference, CONCUR 2014, Rome, Italy, September 2–5, 2014. Proceedings, Volume 8704 of Lecture Notes in Computer Science, pp. 109–124. Springer (2014)
  • 4.Aminof, B., Murano, A., Rubin, S., Zuleger, F.: Verification of asynchronous mobile-robots in partially-known environments. In: PRIMA 2015: Principles and Practice of Multi-agent Systems—18th International Conference, Bertinoro, Italy, October 26–30, 2015, Proceedings, pp. 185–200 (2015)
  • 5.Aminof, B., Murano, A., Rubin, S., Zuleger, F.: Automatic verification of multi-agent systems in parameterised grid-environments. In: Proceedings of the 2016 International Conference on Autonomous Agents & Multiagent Systems, Singapore, May 9–13, 2016, pp. 1190–1199 (2016)
  • 6.Aminof, B., Rubin, S.: Model checking parameterised multi-token systems via the composition method. In: Olivetti, N., Tiwari, A. (eds.) Automated Reasoning—8th International Joint Conference, IJCAR 2016, Coimbra, Portugal, June 27–July 2, 2016, Proceedings, Volume 9706 of Lecture Notes in Computer Science, pp. 499–515. Springer (2016)
  • 7.Aminof, B., Rubin, S., Zuleger, F.: On the expressive power of communication primitives in parameterised systems. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) Logic for Programming, Artificial Intelligence, and Reasoning—20th International Conference, LPAR-20 2015, Suva, Fiji, November 24–28, 2015, Proceedings, Volume 9450 of Lecture Notes in Computer Science, pp. 313–328. Springer (2015)
  • 8.Aminof, B., Rubin, S., Zuleger, F., Spegni, F.: Liveness of parameterized timed networks. In: Halldórsson, M.M., Iwama, K., Kobayashi, N., Speckmann, B. (eds.) Automata, Languages, and Programming—42nd International Colloquium, ICALP 2015, Kyoto, Japan, July 6–10, 2015, Proceedings, Part II, Volume 9135 of Lecture Notes in Computer Science, pp. 375–387. Springer (2015)
  • 9.Angluin D, Aspnes J, Eisenstat D, Ruppert E. The computational power of population protocols. Distrib. Comput. 2007;20(4):279–304. doi: 10.1007/s00446-007-0040-2. [DOI] [Google Scholar]
  • 10.Außerlechner, S., Jacobs, S., Khalimov, A.: Tight cutoffs for guarded protocols with fairness. In: Jobstmann, B., Leino, K.R.M. (eds.) Verification, Model Checking, and Abstract Interpretation—17th International Conference, VMCAI 2016, St. Petersburg, FL, USA, January 17–19, 2016. Proceedings, Volume 9583 of Lecture Notes in Computer Science, pp. 476–494. Springer (2016)
  • 11.Baier C, Katoen J-P. Principles of Model Checking. Cambridge: MIT Press; 2008. [Google Scholar]
  • 12.Ball, T., Bounimova, E., Cook, B., Levin, V., Lichtenberg, J., McGarvey, C., Ondrusek, B., Rajamani, S.K., Ustuner, A.: Thorough static analysis of device drivers. In: Berbers, Y., Zwaenepoel, W. (eds.) Proceedings of the 2006 EuroSys Conference, Leuven, Belgium, April 18–21, 2006, pp. 73–85. ACM (2006)
  • 13.Bloem, R., Jacobs, S., Khalimov, A.: Parameterized synthesis case study: AMBA AHB. In: Proceedings 3rd Workshop on Synthesis, SYNT 2014, Volume 157 of EPTCS (2014)
  • 14.Bloem R, Jacobs S, Khalimov A, Konnov I, Rubin S, Veith H, Widder J. Decidability of parameterized verification. Synth Lect. Distrib. Comput. Theory. 2015;6(1):1–170. doi: 10.2200/S00658ED1V01Y201508DCT013. [DOI] [Google Scholar]
  • 15.Browne MC, Clarke EM, Grumberg O. Reasoning about networks with many identical finite state processes. Inf. Comput. 1989;81:13–31. doi: 10.1016/0890-5401(89)90026-6. [DOI] [Google Scholar]
  • 16.Clarke, E.M., Talupur, M., Touili, T., Veith, H.: Verification by network decomposition. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004—Concurrency Theory, 15th International Conference, London, UK, August 31–September 3, 2004, Proceedings, Volume 3170 of Lecture Notes in Computer Science, pp. 276–291. Springer (2004)
  • 17.Courcelle B, Engelfriet J. Graph Structure and Monadic Second-Order Logic—A Language-Theoretic Approach, Volume 138 of Encyclopedia of Mathematics and its Applications. Cambridge: Cambridge University Press; 2012. [Google Scholar]
  • 18.Courcelle B, Makowsky JA, Rotics U. Linear time solvable optimization problems on graphs of bounded clique-width. Theory Comput. Syst. 2000;33(2):125–150. doi: 10.1007/s002249910009. [DOI] [Google Scholar]
  • 19.Courcelle B, Olariu S. Upper bounds to the clique width of graphs. Discrete Appl. Math. 2000;101(1):77–114. doi: 10.1016/S0166-218X(99)00184-5. [DOI] [Google Scholar]
  • 20.Delzanno, G., Raskin, J.-F., Van Begin, L.: Towards the automated verification of multithreaded java programs. In: Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS ’02. Springer (2002)
  • 21.Delzanno, G., Sangnier, A., Traverso, R.: Parameterized verification of broadcast networks of register automata. In: Proceedings of the 7th International Workshop on Reachability Problems (RP’13), Volume 8169 of Lecture Notes in Computer Science. Springer (2013)
  • 22.Delzanno, G., Traverso, R.: Decidability and complexity results for verification of asynchronous broadcast networks. In: Dediu, A-H., Martín-Vide, C., Truthe, B. (eds.) Language and Automata Theory and Applications: 7th International Conference, LATA 2013, Bilbao, Spain, 2-5 April 2013, Proceedings, pp. 239–249, Springer, Berlin, Heidelberg (2013). doi:10.1007/978-3-642-37064-9_22
  • 23.Ebbinghaus H-D, Flum J. Finite Model Theory. Berlin: Springer; 2005. [Google Scholar]
  • 24.Emerson, E.A., Kahlon, V.: Reducing model checking of the many to the few. In: CADE. Springer (2000)
  • 25.Emerson, E.A., Kahlon, V.: Exact and efficient verification of parameterized cache coherence protocols. In: Geist, D., Tronci, E. (eds.) Correct Hardware Design and Verification Methods, 12th IFIP WG 10.5 Advanced Research Working Conference, CHARME 2003, L’Aquila, Italy, October 21–24, 2003, Proceedings, Volume 2860 of Lecture Notes in Computer Science, pp. 247–262. Springer (2003)
  • 26.Emerson, E. A., Kahlon, V.: Parameterized model checking of ring-based message passing systems. In: Marcinkowski, J., Tarlecki, A. (eds.) Computer Science Logic, 18th International Workshop, CSL 2004, 13th Annual Conference of the EACSL, Karpacz, Poland, September 20–24, 2004, Proceedings, Volume 3210 of Lecture Notes in Computer Science, pp. 325–339. Springer (2004)
  • 27.Emerson, E.A., Namjoshi, K.S.: On model checking for non-deterministic infinite-state systems. In: Thirteenth Annual IEEE Symposium on Logic in Computer Science, Indianapolis, Indiana, USA, June 21–24, 1998, pp. 70–80. IEEE Computer Society (1998)
  • 28.Emerson EA, Namjoshi KS. On reasoning about rings. Int. J. Found. Comput. Sci. 2003;14(4):527–549. doi: 10.1142/S0129054103001881. [DOI] [Google Scholar]
  • 29.Esparza, J.: Decidability and complexity of petri net problems—an introduction. In: Reisig, W., Rozenberg, G. (eds.) Lectures on Petri Nets I: Basic Models: Advances in Petri Nets, pp. 374–428, Springer, Berlin, Heidelberg. doi:10.1007/3-540-65306-6_20
  • 30.Esparza, J.: Keeping a crowd safe: on the complexity of parameterized verification (invited talk). In: Mayr, E.W., Portier, N. (eds.) 31st International Symposium on Theoretical Aspects of Computer Science (STACS 2014), STACS 2014, March 5–8, 2014, Lyon, France, Volume 25 of LIPIcs, pp. 1–10. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2014)
  • 31.Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: 14th Annual IEEE Symposium on Logic in Computer Science, Trento, Italy, July 2–5, 1999, pp. 352–359. IEEE Computer Society (1999)
  • 32.Esparza, J., Ganty, P., Leroux, J., Majumdar, R.: Verification of population protocols. In: 26th International Conference on Concurrency Theory, CONCUR 2015, Volume 42 of LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2015)
  • 33.Fischer, E., Makowsky, J.A.: The Specker-Blatter theorem revisited. In: Computing and Combinatorics, 9th Annual International Conference, COCOON 2003, Proceedings (2003)
  • 34.Fischer, E., Makowsky, J.A.: Linear recurrence relations for graph polynomials. In: In: Avron, A., Dershowitz, N., Rabinovich, A. (eds.) Pillars of Computer Science: Essays Dedicated to Boris (Boaz) Trakhtenbrot on the Occasion of His 85th Birthday, pp. 266–279, Springer, Berlin, Heidelberg (2008). doi:10.1007/978-3-540-78127-1_15
  • 35.Flum J, Grohe M. Parameterized Complexity Theory (Texts in Theoretical Computer Science. An EATCS Series) Berlin: Springer; 2006. [Google Scholar]
  • 36.German SM, Sistla AP. Reasoning about systems with many processes. J. ACM. 1992;39(3):675–735. doi: 10.1145/146637.146681. [DOI] [Google Scholar]
  • 37.Glaister I, Shallit J. A lower bound technique for the size of nondeterministic finite automata. Inf. Process. Lett. 1996;59(2):75–77. doi: 10.1016/0020-0190(96)00095-6. [DOI] [Google Scholar]
  • 38.Gmeiner, A., Konnov, I., Schmid, U., Veith, H., Widder, J.: Tutorial on parameterized model checking of fault-tolerant distributed algorithms. In: Formal Methods for Executable Software Models—14th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2014, Bertinoro, Italy, June 16–20, 2014, Advanced Lectures, pp. 122–171 (2014)
  • 39.Graham, R.L., Knuth, D.E., Patashnik, O.: Concrete Mathematics: A Foundation for Computer Science, 2nd edn. Addison-Wesley, Reading (1994)
  • 40.Jacobs, S., Bloem, R.: Parameterized synthesis. Log. Methods Comput. Sci. 10(1), 362–376 (2014)
  • 41.John, A., Konnov, I., Schmid, U., Veith, H., Widder, J.: Counter attack on byzantine generals: parameterized model checking of fault-tolerant distributed algorithms. CoRR, abs/1210.3846 (2012)
  • 42.Kaiser, A., Kroening, D., Wahl, T.: Dynamic cutoff detection in parameterized concurrent programs. In: Touili, T., Cook, B., Jackson, P.B. (eds.) Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15–19, 2010. Proceedings, Volume 6174 of Lecture Notes in Computer Science, pp. 645–659. Springer (2010)
  • 43.Khalimov, A., Jacobs, S., Bloem, R.: PARTY parameterized synthesis of token rings. In: Computer Aided Verification—25th International Conference, CAV 2013, Proceedings, Volume 8044 of Lecture Notes in Computer Science. Springer (2013)
  • 44.Libkin, L.: Elements of Finite Model Theory. In: Brauer, W., Rozenburg, G., Salomaa, A. (eds.) Texts in Theoretical Computer Science. An EATCS Series. Springer Berlin, Heidelberg (2004)
  • 45.Makowsky JA. Algorithmic uses of the Feferman–Vaught theorem. Ann. Pure Appl. Log. 2004;126:159–213. doi: 10.1016/j.apal.2003.11.002. [DOI] [Google Scholar]
  • 46.Minsky ML. Computation: Finite and Infinite Machines. Englewood Cliffs: Prentice-Hall, Inc.; 1967. [Google Scholar]
  • 47.Rubin, S.: Parameterised verification of autonomous mobile-agents in static but unknown environments. In: Proceedings of the 2015 International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2015, pp. 199–208 (2015)
  • 48.Schmitz, S., Schnoebelen, P.: The power of well-structured systems. In: D’Argenio, P.R., Melgratti, H.C. (eds.) CONCUR 2013—Concurrency Theory—24th International Conference, CONCUR 2013, Buenos Aires, Argentina, August 27-30, 2013. Proceedings, Volume 8052 of Lecture Notes in Computer Science, pp. 5–24. Springer (2013)
  • 49.Shamir S, Kupferman O, Shamir E. Branching-depth hierarchies. Electron. Notes Theor. Comput. Sci. 2003;39(1):65–78. doi: 10.1016/S1571-0661(05)82504-6. [DOI] [Google Scholar]
  • 50.Sistla AP, Clarke EM. The complexity of propositional linear temporal logics. J. ACM (JACM) 1985;32(3):733–749. doi: 10.1145/3828.3837. [DOI] [Google Scholar]
  • 51.Spalazzi, L., Spegni, F.: Parameterized model-checking of timed systems with conjunctive guards. In: Verified Software: Theories, Tools and Experiments—6th International Conference, VSTTE 2014, Volume 8471 of Lecture Notes in Computer Science. Springer (2014)
  • 52.Suzuki I. Proving properties of a ring of finite-state machines. Inf. Process. Lett. 1988;28(4):213–214. doi: 10.1016/0020-0190(88)90211-6. [DOI] [Google Scholar]
  • 53.Vardi M, Wolper P. Automata-theoretic techniques for modal logics of programs. J. Comput. Syst. Sci. 1986;32(2):183–221. doi: 10.1016/0022-0000(86)90026-7. [DOI] [Google Scholar]

Articles from Distributed Computing are provided here courtesy of Springer

RESOURCES