Towards a Regular Theory of Parameterized Concurrent Systems - - PowerPoint PPT Presentation

towards a regular theory of parameterized concurrent
SMART_READER_LITE
LIVE PREVIEW

Towards a Regular Theory of Parameterized Concurrent Systems - - PowerPoint PPT Presentation

Towards a Regular Theory of Parameterized Concurrent Systems Benedikt Bollig Laboratoire Spcification et Vrification ENS Cachan & CNRS, France Reports on joint works with Paul Gastin, Akshay Kumar, and Jana Schubert. ACTS


slide-1
SLIDE 1

Towards a Regular Theory of Parameterized Concurrent Systems

Benedikt Bollig

  • Laboratoire Spécification et Vérification

ENS Cachan & CNRS, France

Reports on joint works with Paul Gastin, Akshay Kumar, and Jana Schubert.

ACTS 2015 Chennai Mathematical Institute

slide-2
SLIDE 2

The verification problem for parmeterized systems:

«Is a system correct independently of the number of processes / the way they are arranged?»

Talks by Arnaud Sangnier and Pierre Ganty. 2

slide-3
SLIDE 3

The verification problem for parmeterized systems:

«Is a system correct independently of the number of processes / the way they are arranged?»

Talks by Arnaud Sangnier and Pierre Ganty. 2

In this talk, we study language-theoretic questions / expressiveness:

  • We are looking for «robust» models of parameterized systems.

Complementation Equivalent characterization in terms of MSO logic Nonemptiness

slide-4
SLIDE 4

The verification problem for parmeterized systems:

«Is a system correct independently of the number of processes / the way they are arranged?»

Talks by Arnaud Sangnier and Pierre Ganty. 2

In this talk, we study language-theoretic questions / expressiveness:

  • We are looking for «robust» models of parameterized systems.

Complementation Equivalent characterization in terms of MSO logic Nonemptiness

There have been robust models for fixed process architectures:

Thomas: On logical definability of trace languages. ASMICS 1990. Henriksen-Mukund-Narayan Kumar-Sohoni-Thiagarajan: A Theory of Regular MSC Languages. I&C 2005. Genest-Kuske-Muscholl: A Kleene theorem and model checking algorithms for existentially bounded communicating

  • automata. I&C 2006.
slide-5
SLIDE 5

Finite Automata

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b

3

b

slide-6
SLIDE 6

Finite Automata

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

3

b

slide-7
SLIDE 7

Finite Automata

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

complementation

s2 s3 s4 s1 s0 b s5 a b a a b s6

3

b

∅ ∅

slide-8
SLIDE 8

Finite Automata

∀x(a(x) → ∃y(succ(x, y) ∧ b(y)))

Theorem [Büchi-Elgot-Trakhtenbrot 1960s]: Finite Automata = MSO

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

complementation

s2 s3 s4 s1 s0 b s5 a b a a b s6

3

b

∅ ∅

slide-9
SLIDE 9

Finite Automata

∀x(a(x) → ∃y(succ(x, y) ∧ b(y)))

Theorem [Büchi-Elgot-Trakhtenbrot 1960s]: Finite Automata = MSO

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

complementation

s2 s3 s4 s1 s0 b s5 a b a a b s6

3

b

∅ ∅

Proof: free variables extended alphabet

slide-10
SLIDE 10

Finite Automata

∀x(a(x) → ∃y(succ(x, y) ∧ b(y)))

Theorem [Büchi-Elgot-Trakhtenbrot 1960s]: Finite Automata = MSO

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

complementation

s2 s3 s4 s1 s0 b s5 a b a a b s6

3

b

∅ ∅

Proof: free variables extended alphabet existential quantification projection

slide-11
SLIDE 11

Finite Automata

∀x(a(x) → ∃y(succ(x, y) ∧ b(y)))

Theorem [Büchi-Elgot-Trakhtenbrot 1960s]: Finite Automata = MSO

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

complementation

s2 s3 s4 s1 s0 b s5 a b a a b s6

3

b

∅ ∅

Proof: free variables extended alphabet existential quantification projection negation complementation

slide-12
SLIDE 12

Finite Automata

∀x(a(x) → ∃y(succ(x, y) ∧ b(y)))

Theorem [Büchi-Elgot-Trakhtenbrot 1960s]: Finite Automata = MSO

finite automaton

s2 s3 s4 s1 s0 s5 s6 a a a b b b s2 s3 s4 s1 s0 b s5

determinization

a b a a b s6

complementation

s2 s3 s4 s1 s0 b s5 a b a a b s6

Outline

3

b

∅ ∅

Proof: free variables extended alphabet existential quantification projection negation complementation

slide-13
SLIDE 13

s2 s3 s4 s1 s0 s5 s6 a a a b b b a

4

Parameterized Communicating Automata (PCA) over Rings

slide-14
SLIDE 14

s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a

4

Parameterized Communicating Automata (PCA) over Rings

slide-15
SLIDE 15

s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a

4

Parameterized Communicating Automata (PCA) over Rings

slide-16
SLIDE 16

s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a

4

Parameterized Communicating Automata (PCA) over Rings

slide-17
SLIDE 17

s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a

4

Parameterized Communicating Automata (PCA) over Rings

non-fixed & unbounded

| {z }

slide-18
SLIDE 18

l r l r l r l r s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a s2 s3 s4 s1 s0 s5 s6 a a a b b b a

4

Parameterized Communicating Automata (PCA) over Rings

non-fixed & unbounded

| {z }

slide-19
SLIDE 19

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

A PCA is given by: finite automaton over (here: ) acceptance condition

{l, r} × {!, ?} × Msg Msg = {0, 1}

slide-20
SLIDE 20

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

A PCA is given by: finite automaton over (here: ) acceptance condition

{l, r} × {!, ?} × Msg Msg = {0, 1}

slide-21
SLIDE 21

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

A PCA is given by: finite automaton over (here: ) acceptance condition

{l, r} × {!, ?} × Msg Msg = {0, 1}

slide-22
SLIDE 22

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

A PCA is given by: finite automaton over (here: ) acceptance condition

{l, r} × {!, ?} × Msg Msg = {0, 1}

slide-23
SLIDE 23

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

rendez-vous

A PCA is given by: finite automaton over (here: ) acceptance condition

{l, r} × {!, ?} × Msg Msg = {0, 1}

slide-24
SLIDE 24

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

rendez-vous

slide-25
SLIDE 25

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

Remark: Behavior abstracts away message contents from (like states, or stack symbols in pushdown automata).

Msg = {0, 1}

rendez-vous

slide-26
SLIDE 26

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-27
SLIDE 27

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-28
SLIDE 28

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-29
SLIDE 29

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-30
SLIDE 30

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-31
SLIDE 31

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-32
SLIDE 32

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-33
SLIDE 33

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-34
SLIDE 34

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-35
SLIDE 35

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 4

Parameterized Communicating Automata (PCA) over Rings

slide-36
SLIDE 36

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s4 s5 s6 s6

4

Parameterized Communicating Automata (PCA) over Rings

slide-37
SLIDE 37

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s4 s5 s6

Acceptance condition: MSO formula over rings whose nodes are labeled with states. Signature:

  • Thus, there are no constant processes (e.g., no «first» or «last» process).

s(x) x

r l y

s6

4

Parameterized Communicating Automata (PCA) over Rings

slide-38
SLIDE 38

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s4 s5 s6 s6

4

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-39
SLIDE 39

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s4 s5 s6

4

s6

4

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

| =

slide-40
SLIDE 40

l r l r l r l r s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s4 s5 s6

4

s6

4

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

| =

Token-Ring Protocol

slide-41
SLIDE 41

l r l r l r l r s4 s5 s6

4

s6 s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 r!1 r!0 r!0 l?0 r!1 4

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

| =

slide-42
SLIDE 42

l r l r l r l r s4 s6 s4 s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 r!1 r!0 r!0 l?0 r!1

47 47

s6

4

Parameterized Communicating Automata (PCA) over Rings

6| = 9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-43
SLIDE 43

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L

5

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-44
SLIDE 44

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

l r

5

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-45
SLIDE 45

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

l r

5

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-46
SLIDE 46

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

l r

5

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-47
SLIDE 47

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

l r

5

Parameterized Communicating Automata (PCA) over Rings

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-48
SLIDE 48

Complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L

6

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-49
SLIDE 49

Complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

6

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-50
SLIDE 50

Complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

6

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-51
SLIDE 51

Complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

6

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-52
SLIDE 52

Complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L =

                                                                                                                     

6

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-53
SLIDE 53

Complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

L

=

                                                                                                                     

6

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-54
SLIDE 54

Negative Results

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: PCAs over rings are not complementable.

7

slide-55
SLIDE 55

Negative Results

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: PCAs over rings are not complementable. Proof:

7

… … … … … …

… … …

slide-56
SLIDE 56

Negative Results

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: PCAs over rings are not complementable. Proof:

… … … …

… …

7

Behaviors encode grids.

… … … … … …

… … …

slide-57
SLIDE 57

Negative Results

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: PCAs over rings are not complementable. Proof:

… … … …

… …

7

Behaviors encode grids. Grid automata are not closed under complementation [Matz-Schweikardt-Thomas ’02].

… … … … … …

… … …

slide-58
SLIDE 58

Negative Results

Theorem [Emerson-Namjoshi 2003]: Emptiness is undecidable for PCAs over rings (even token-passing systems, unless ).

|Msg| = 1

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: PCAs over rings are not complementable. Proof:

… … … …

… …

7

Behaviors encode grids. Grid automata are not closed under complementation [Matz-Schweikardt-Thomas ’02].

… … … … … …

… … …

slide-59
SLIDE 59

Negative Results

Theorem [Emerson-Namjoshi 2003]: Emptiness is undecidable for PCAs over rings (even token-passing systems, unless ).

|Msg| = 1

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: PCAs over rings are not complementable. Proof:

… … … …

… …

7

Behaviors encode grids. Grid automata are not closed under complementation [Matz-Schweikardt-Thomas ’02].

… … … … … …

… … …

slide-60
SLIDE 60

Context-Bounded PCAs

8

slide-61
SLIDE 61

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts.

8

slide-62
SLIDE 62

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results.

8

slide-63
SLIDE 63

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-64
SLIDE 64

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-65
SLIDE 65

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-66
SLIDE 66

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-67
SLIDE 67

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-68
SLIDE 68

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-69
SLIDE 69

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-70
SLIDE 70

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-71
SLIDE 71

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-72
SLIDE 72

3-bounded

Context-Bounded PCAs

Idea: Every process is contrained to a bounded number of contexts. There are several possible definitions of a context that lead to positive results. Here: Process only sends XOR only receives from one fixed neighbor.

8

slide-73
SLIDE 73

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0 9

Definition: A PCA is k-bounded if the finite automaton restricts to k contexts.

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

Context-Bounded PCAs

slide-74
SLIDE 74

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

2-bounded PCA

9

Definition: A PCA is k-bounded if the finite automaton restricts to k contexts.

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

Context-Bounded PCAs

slide-75
SLIDE 75

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

2-bounded PCA

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: For every bounded PCA , there is a PCA such that .

A B L(B) = L(A)

9

Definition: A PCA is k-bounded if the finite automaton restricts to k contexts.

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

Context-Bounded PCAs

slide-76
SLIDE 76

Proof Outline

nondeterminism disambiguation

every behavior has a unique run

complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

k-bounded

10

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-77
SLIDE 77

Proof Outline

nondeterminism disambiguation

every behavior has a unique run

complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

A

ϕ

k-bounded

10

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-78
SLIDE 78

Proof Outline

nondeterminism disambiguation

every behavior has a unique run

complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

A

ϕ

A

¬ϕ

!

k-bounded

10

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-79
SLIDE 79

Proof Outline

nondeterminism disambiguation

every behavior has a unique run

complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

A

ϕ

A

¬ϕ

! ?

k-bounded

Powerset construction not applicable due to message contents.

10

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

slide-80
SLIDE 80

Proof Outline

nondeterminism disambiguation

every behavior has a unique run

complementation

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

A

ϕ

A

¬ϕ

! ?

k-bounded

Powerset construction not applicable due to message contents.

10

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

Disambiguation through summaries:

Alur-Madhusudan: Visibly pushdown languages. STOC 2004. La Torre-Madhusudan-Parlato: The language theory of bounded context switching. LATIN 2010. La Torre-Napoli-Parlato: Scope-bounded pushdown languages. DLT 2014.

slide-81
SLIDE 81

Disambiguation of context-bounded PCAs

11

slide-82
SLIDE 82

Disambiguation of context-bounded PCAs

11

slide-83
SLIDE 83

Disambiguation of context-bounded PCAs

11

slide-84
SLIDE 84

Disambiguation of context-bounded PCAs

11

slide-85
SLIDE 85

Disambiguation of context-bounded PCAs

11

slide-86
SLIDE 86

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones.

11

slide-87
SLIDE 87

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

11

slide-88
SLIDE 88

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 0,0,0 0,0,0

11

0,0,0

slide-89
SLIDE 89

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 1,1,1 0,0,0 0,0,0 2,1,0 1,2,1 0,1,1

11

r l

0,0,0

slide-90
SLIDE 90

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 1,1,1 0,0,0 0,0,0 2,1,0 1,2,1 0,1,1

11

r l

0,0,0

slide-91
SLIDE 91

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 1,1,1 0,0,0 0,0,0 2,1,0 1,2,1 0,1,1

11

r l

0,0,0

6=

slide-92
SLIDE 92

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 1,1,1 1,2,3 0,0,0 0,0,0 2,1,0 1,2,1 0,1,1 2,3,1

11

r l

0,0,0

slide-93
SLIDE 93

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 1,1,1 1,2,3 0,0,0 0,0,0 2,1,0 1,2,1 0,1,1 0,2,2 2,3,1 2,2,3

11

r l

0,0,0

slide-94
SLIDE 94

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously by a PCA.

0,0,0 1,1,1 1,2,3 0,0,0 0,0,0 2,1,0 1,2,1 0,1,1 0,2,2 2,3,1 2,3,1 2,2,3 2,2,3

11

r l

0,0,0

slide-95
SLIDE 95

Disambiguation of context-bounded PCAs

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-96
SLIDE 96

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-97
SLIDE 97

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-98
SLIDE 98

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones. Acceptance condition checks if summaries correspond to accepting run.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-99
SLIDE 99

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones. Acceptance condition checks if summaries correspond to accepting run.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-100
SLIDE 100

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones. Acceptance condition checks if summaries correspond to accepting run.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-101
SLIDE 101

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones. Acceptance condition checks if summaries correspond to accepting run.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-102
SLIDE 102

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones. Acceptance condition checks if summaries correspond to accepting run.

R1 R2 R3 Ri ⊆ S3 × S3

11

slide-103
SLIDE 103

Disambiguation of context-bounded PCAs

Every process traverses a bounded number of zones. Zone numbers can be computed unambiguously. Sending processes deterministically compute summaries for zones. Acceptance condition checks if summaries correspond to accepting run.

R1 R2 R3 Ri ⊆ S3 × S3

11

  • riginal acceptance condition

| =

slide-104
SLIDE 104

Logical Characterization of Context-Bounded PCAs

l r r r l l r l

12

The Logic: MSO logic over graphs, including process nodes and event nodes.

slide-105
SLIDE 105

l r r r l l r l

msg msg msg msg msg proc proc proc proc proc proc init init init init

The Logic: MSO logic over graphs, including process nodes and event nodes.

12

Logical Characterization of Context-Bounded PCAs

slide-106
SLIDE 106

l r r r l l r l

msg msg msg msg msg proc proc proc proc proc proc init init init init

Corollary [B.-Gastin-Kumar; FSTTCS 2014]: For every bounded set L of behaviors, the following are equivalent:

L is recognized by some PCA. L is definable in MSO logic.

The Logic: MSO logic over graphs, including process nodes and event nodes.

12

Logical Characterization of Context-Bounded PCAs

slide-107
SLIDE 107

Topologies of Bounded Degree

Complementation and MSO characterization hold wrt. the class of all topologies

  • ver a fixed set of ports. With 4 ports, this captures rings, binary trees, and grids.

l r r r l l r l

ring

13

slide-108
SLIDE 108

Topologies of Bounded Degree

Complementation and MSO characterization hold wrt. the class of all topologies

  • ver a fixed set of ports. With 4 ports, this captures rings, binary trees, and grids.

l r r r l l r l

ring

l r

tree

l r r u u u u u

13

slide-109
SLIDE 109

Topologies of Bounded Degree

Complementation and MSO characterization hold wrt. the class of all topologies

  • ver a fixed set of ports. With 4 ports, this captures rings, binary trees, and grids.

l r r r l l r l

ring

l r

tree

l r r u u u u u

l r r r l l l r r r l l l r r r l l

grid

u u u u u u u u d d d d d d d d

13

slide-110
SLIDE 110

Context-Bounded Model Checking

14

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: Context-bounded MSO model checking is decidable over rings.

Input: PCA A ; k ∈ N ; MSO formula ϕ Question: M |

= ϕ for all k-bounded M ∈ L(A) ?

slide-111
SLIDE 111

Context-Bounded Model Checking

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete when the acceptance condition is presented as a finite automaton.

14

Theorem [B.-Gastin-Kumar; FSTTCS 2014]: Context-bounded MSO model checking is decidable over rings.

Input: PCA A ; k ∈ N ; MSO formula ϕ Question: M |

= ϕ for all k-bounded M ∈ L(A) ?

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-112
SLIDE 112

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-113
SLIDE 113

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-114
SLIDE 114

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-115
SLIDE 115

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-116
SLIDE 116

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

∈ Summary

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-117
SLIDE 117

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

∈ Summary

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-118
SLIDE 118

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

∈ Summary

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-119
SLIDE 119

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

∈ Summary

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-120
SLIDE 120

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries.

15

∈ Summary

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-121
SLIDE 121

Context-Bounded Emptiness Problem

Theorem [B.-Gastin-Schubert; RP 2014]: Context-bounded nonemptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run!

15

∈ Summary

Context-Bounded Nonemptiness Problem

Input: PCA A ; k ∈ N Question: Does L(A) contain some k-bounded behavior ?

slide-122
SLIDE 122

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-123
SLIDE 123

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-124
SLIDE 124

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-125
SLIDE 125

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-126
SLIDE 126

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-127
SLIDE 127

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-128
SLIDE 128

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-129
SLIDE 129

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-130
SLIDE 130

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-131
SLIDE 131

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-132
SLIDE 132

= strict precedence = synchronization

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-133
SLIDE 133

strict cycle =

⇒ run is not accepting

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-134
SLIDE 134

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-135
SLIDE 135

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-136
SLIDE 136

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-137
SLIDE 137

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-138
SLIDE 138

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-139
SLIDE 139

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-140
SLIDE 140

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

no strict cycle =

⇒ run is accepting

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies.

15

Context-Bounded Nonemptiness Problem

slide-141
SLIDE 141

q

right

left

right

left

right

left

right

left

right

left

q

right

left

q q q

¯ q

no strict cycle =

⇒ run is accepting

Theorem [B.-Gastin-Schubert 2014]: Context-bounded emptiness checking over rings is PSPACE-complete.

Finite automaton guesses local states & checks membership in summaries. However, summaries may match locally, but not give rise to an accepting run! Check causal dependencies. Gives PSPACE procedure.

15

Context-Bounded Nonemptiness Problem

slide-142
SLIDE 142

Summary of Results

16

Theorem: Context-bounded PCAs are complementable and expressively equivalent to MSO logic.

slide-143
SLIDE 143

Summary of Results

Theorem: Context-bounded nonemptiness checking is decidable over rings and trees.

16

Theorem: Context-bounded PCAs are complementable and expressively equivalent to MSO logic.

slide-144
SLIDE 144

Summary of Results

Theorem: Context-bounded nonemptiness checking is decidable over rings and trees.

16

Corollary: Context-bounded MSO model checking is decidable over rings and trees. Theorem: Context-bounded PCAs are complementable and expressively equivalent to MSO logic.

slide-145
SLIDE 145

Summary of Results

Theorem: Context-bounded nonemptiness checking is decidable over rings and trees.

16

Corollary: Context-bounded MSO model checking is decidable over rings and trees. Theorem: Context-bounded PCAs are complementable and expressively equivalent to MSO logic.

Context-bounded PCAs form a robust automata model.

slide-146
SLIDE 146

Application to Verification of Distributed Algorithms

17

8 4 3 1 6

Franklin’s leader-election protocol (1982)

slide-147
SLIDE 147

Application to Verification of Distributed Algorithms

17

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3

Franklin’s leader-election protocol (1982)

slide-148
SLIDE 148

Application to Verification of Distributed Algorithms

17

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3

Franklin’s leader-election protocol (1982)

slide-149
SLIDE 149

Application to Verification of Distributed Algorithms

17

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3

Franklin’s leader-election protocol (1982)

slide-150
SLIDE 150

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3

1 Round

Franklin’s leader-election protocol (1982)

slide-151
SLIDE 151

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

2 1 Round

Franklin’s leader-election protocol (1982)

slide-152
SLIDE 152

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

2 1 Round

Franklin’s leader-election protocol (1982)

slide-153
SLIDE 153

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

8 8 8 8 8 8

2 3 1 Round

Franklin’s leader-election protocol (1982)

slide-154
SLIDE 154

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts. Number of rounds is sometimes logarithmic in the number of processes.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

8 8 8 8 8 8

2 3 1 Round

Franklin’s leader-election protocol (1982)

slide-155
SLIDE 155

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts. Number of rounds is sometimes logarithmic in the number of processes.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

8 8 8 8 8 8

2 3 1 Round

Franklin’s leader-election protocol (1982)

rec( r ) ; r < id rec( r ) ; r > id

slide-156
SLIDE 156

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts. Number of rounds is sometimes logarithmic in the number of processes. MSO can trace back origin of unique process identifiers (pids).

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

8 8 8 8 8 8

2 3 1 Round

Franklin’s leader-election protocol (1982)

rec( r ) ; r < id rec( r ) ; r > id

slide-157
SLIDE 157

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts. Number of rounds is sometimes logarithmic in the number of processes. MSO can trace back origin of unique process identifiers (pids).

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

8 8 8 8 8 8

2 3 1 Round

Franklin’s leader-election protocol (1982)

rec( r ) ; r < id rec( r ) ; r > id

slide-158
SLIDE 158

Application to Verification of Distributed Algorithms

17

Distributed algorithms often proceed in rounds/contexts. Number of rounds is sometimes logarithmic in the number of processes. MSO can trace back origin of unique process identifiers (pids). Underapproximate verification of distributed algorithms that send and compare pids.

8 4 3 1 6 8 8 6 6 1 1 4 4 3 3 8 8 8 8 8 8 6 6 6 6 6

leader

8 8 8 8 8 8

2 3 1 Round

Franklin’s leader-election protocol (1982)

rec( r ) ; r < id rec( r ) ; r > id

slide-159
SLIDE 159

Beyond Context Bounds …

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA

slide-160
SLIDE 160

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

l r r r l l r l

init init init init

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

slide-161
SLIDE 161

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

slide-162
SLIDE 162

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

slide-163
SLIDE 163

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

slide-164
SLIDE 164

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

Theorem [B.; CSL-LICS 2014]: Let T be any of the following topology classes: rings, grids, binary trees.

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

slide-165
SLIDE 165

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

Theorem [B.; CSL-LICS 2014]: Let T be any of the following topology classes: rings, grids, binary trees. For every set L of behaviors over a topology from T the following are equivalent:

L is recognized by some weak PCA. L is definable in weak EMSO logic (projection of weak-FO-definable language).

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

slide-166
SLIDE 166

Beyond Context Bounds …

msg msg msg msg msg proc proc proc proc proc proc

Theorem [B.; CSL-LICS 2014]: Let T be any of the following topology classes: rings, grids, binary trees. For every set L of behaviors over a topology from T the following are equivalent:

L is recognized by some weak PCA. L is definable in weak EMSO logic (projection of weak-FO-definable language).

18

s2 s3 s4 s1 s0 s5 s6

l?0 r!1 l?1 l?0 r!1 r!0 r!0

9x(s4(x) ^ 8y(y 6= x ! s5(y) _ s6(y)))

weak PCA weak logic

Proof uses [Schwentick-Barthelmann 1999] & [Genest-Kuske-Muscholl 2006].

slide-167
SLIDE 167

Topologies of unbounded degree (unranked trees, stars, …) Other Future Work

19

Temporal logics and efficient model checking Split-width for parameterized systems

[Aiswarya-Gastin-Narayan Kumar 2012]

slide-168
SLIDE 168

Topologies of unbounded degree (unranked trees, stars, …)

Thank You!

Other Future Work

19

Temporal logics and efficient model checking Split-width for parameterized systems

[Aiswarya-Gastin-Narayan Kumar 2012]