Model Checking Concurrent Systems with Unboundedly Many Processes - - PowerPoint PPT Presentation

model checking concurrent systems with unboundedly many
SMART_READER_LITE
LIVE PREVIEW

Model Checking Concurrent Systems with Unboundedly Many Processes - - PowerPoint PPT Presentation

Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Ahmet Kara MOVEP 2012, Marseille Interaction of Unboundedly Many Processes n m o 1 2 3 p 4 Ahmet Kara Model Checking Concurrent Systems with


slide-1
SLIDE 1

Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics

Ahmet Kara MOVEP 2012, Marseille

slide-2
SLIDE 2

Interaction of Unboundedly Many Processes

1 2 3 m n

  • 4

p

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 1

slide-3
SLIDE 3

Interaction of Unboundedly Many Processes

1

  • A system run

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-4
SLIDE 4

Interaction of Unboundedly Many Processes

1 2

  • A system run

spawn

1 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-5
SLIDE 5

Interaction of Unboundedly Many Processes

1 2 3

  • A system run

spawn

1 2

spawn

2 3

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-6
SLIDE 6

Interaction of Unboundedly Many Processes

1 2 3 m

  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-7
SLIDE 7

Interaction of Unboundedly Many Processes

1 2 3 m n

  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

se(n)

1 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-8
SLIDE 8

Interaction of Unboundedly Many Processes

1 2 3 n

  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

se(n)

1 2

rec(m)

2 1

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-9
SLIDE 9

Interaction of Unboundedly Many Processes

1 2 3 n

  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

se(n)

1 2

rec(m)

2 1

se(o)

2 3

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-10
SLIDE 10

Interaction of Unboundedly Many Processes

1 2 3 n

  • 4
  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

se(n)

1 2

rec(m)

2 1

se(o)

2 3

spawn

3 4

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-11
SLIDE 11

Interaction of Unboundedly Many Processes

1 2 3 n

  • 4

p

  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

se(n)

1 2

rec(m)

2 1

se(o)

2 3

spawn

3 4

se(p)

3 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-12
SLIDE 12

Interaction of Unboundedly Many Processes

1 2 3 n

  • 4

p

  • A system run

spawn

1 2

spawn

2 3

se(m)

1 2

se(n)

1 2

rec(m)

2 1

se(o)

2 3

spawn

3 4

se(p)

3 2

  • A system property

„Every sent message is received eventually.”

  • m G(se(m) →↓x.Frec(m) ∧ x@1 ∼ @2 ∧ x@2 ∼ @1)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 2

slide-13
SLIDE 13

Words and Data Words

A Word over Σ = {a, b, c} c c a c a b c b

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 3

slide-14
SLIDE 14

Words and Data Words

A Word over Σ = {a, b, c} c c a c a b c b A Data Word over Σ = {a, b, c} c 1 7 c 4 4 a 3 2 c 2 5 a 2 9 b 3 1 c 7 3 b 2 2 Definition: Data Words

  • Let

◮ Σ be a finite alphabet ◮ D be an infinite set of data values

  • w ∈ (Σ × Dm)∗ is an m-dimensional data word over Σ

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 3

slide-15
SLIDE 15

Words and Data Words

A Word over Σ = {a, b, c} c c a c a b c b A Data Word over Σ = {a, b, c} c 1 7 c 4 4 a 3 2 c 2 5 a 2 9 b 3 1 c 7 3 b 2 2

  • D = {1, 2, 3, . . .}

Definition: Data Words

  • Let

◮ Σ be a finite alphabet ◮ D be an infinite set of data values

  • w ∈ (Σ × Dm)∗ is an m-dimensional data word over Σ

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 3

slide-16
SLIDE 16

Logics on Data Words – Data Logics

  • Even very weak logics on data words have an undecidable

satisfiability problem.

◮ First order logic with only three variables is not decidable

[Boja´ nczyk et al. 06]

◮ LTL is in general not decidable [Demri et al. 06] ➞ Focus on restricted logics where the only predicate on data values

is the equality relation

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 4

slide-17
SLIDE 17

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-18
SLIDE 18

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-19
SLIDE 19

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-20
SLIDE 20

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-21
SLIDE 21

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2 x

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-22
SLIDE 22

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2 x

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-23
SLIDE 23

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2 x

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-24
SLIDE 24

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“There is a b-position such that an a-position with the same data value follows somewhere in the future.”

a 1 c 2 b 3 a 1 b 4 a 3 b 7 c 2 x

F(b ∧ ↓x.F(a ∧ x@1 ∼ @1)))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 5

slide-25
SLIDE 25

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6

G(b → ↓x.X(x@1 ∼ @2))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-26
SLIDE 26

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6

G(b → ↓x.X(x@1 ∼ @2))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-27
SLIDE 27

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6 x x x

G(b → ↓x.X(x@1 ∼ @2))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-28
SLIDE 28

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6 x x x

G(b → ↓x.X(x@1 ∼ @2))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-29
SLIDE 29

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6 x x x

G(b → ↓x.X(x@1 ∼ @2))

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-30
SLIDE 30

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6 x x x

G(b → ↓x.X(x@1 ∼ @2))

Theorem [Demri et al. 06]

  • Satisfiability is decidable on

◮ 1-dimensional data words if ◮ only one variable and ◮ only future operators are used.

  • Complexity: not primitive recursive

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-31
SLIDE 31

Logics on Data Words – Freeze LTL (LTL⇓)

  • Freeze LTL (LTL⇓) [Demri et al. 06]:

◮ contains the usual temporal operators like X, F, U, . . . ◮ allows to put a variable x on a position ◮ allows to compare the data values of the x-position with the data values of a

current position

Example

“The first data value of every b-position is different from the second data value of its next position.”

a 1 3 c 2 6 b 3 4 a 1 4 b 4 7 a 3 9 b 7 2 c 2 6 x x x

G(b → ↓x.X(x@1 ∼ @2))

Theorem [Demri et al. 06]

  • Satisfiability is decidable on

◮ 1-dimensional data words if ◮ only one variable and ◮ only future operators are used.

  • Complexity: not primitive recursive
  • Satisfiability is undecidable if

◮ more than one variable or ◮ past operators are added.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 6

slide-32
SLIDE 32

Logics on Data Words – Data LTL

  • Data LTL [K. et al. 06]:

◮ allows navigation on consecutive position

via X, F, U, . . .

◮ allows navigation on positions carrying

the same data value via

X=, F=, U=, . . .

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 7

slide-33
SLIDE 33

Logics on Data Words – Data LTL

  • Data LTL [K. et al. 06]:

◮ allows navigation on consecutive position

via X, F, U, . . .

◮ allows navigation on positions carrying

the same data value via

X=, F=, U=, . . .

Example

“There is some position such that on the subword induced by its first data value it holds

a until b.”

d 3 4 a 3 6 c 5 7 a 4 3 a 6 3 b 4 2 b 3 4 c 5 2

FC@1(aU=b)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 7

slide-34
SLIDE 34

Logics on Data Words – Data LTL

  • Data LTL [K. et al. 06]:

◮ allows navigation on consecutive position

via X, F, U, . . .

◮ allows navigation on positions carrying

the same data value via

X=, F=, U=, . . .

Example

“There is some position such that on the subword induced by its first data value it holds

a until b.”

d 3 4 a 3 6 c 5 7 a 4 3 a 6 3 b 4 2 b 3 4 c 5 2

FC@1(aU=b)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 7

slide-35
SLIDE 35

Logics on Data Words – Data LTL

  • Data LTL [K. et al. 06]:

◮ allows navigation on consecutive position

via X, F, U, . . .

◮ allows navigation on positions carrying

the same data value via

X=, F=, U=, . . .

Example

“There is some position such that on the subword induced by its first data value it holds

a until b.”

d 3 4 a 3 6 c 5 7 a 4 3 a 6 3 b 4 2 b 3 4 c 5 2

FC@1(aU=b)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 7

slide-36
SLIDE 36

Logics on Data Words – Data LTL

  • Data LTL [K. et al. 06]:

◮ allows navigation on consecutive position

via X, F, U, . . .

◮ allows navigation on positions carrying

the same data value via

X=, F=, U=, . . .

Example

“There is some position such that on the subword induced by its first data value it holds

a until b.”

d 3 4 a 3 6 c 5 7 a 4 3 a 6 3 b 4 2 b 3 4 c 5 2

FC@1(aU=b)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 7

slide-37
SLIDE 37

Logics on Data Words – Data LTL

  • Data LTL [K. et al. 06]:

◮ allows navigation on consecutive position

via X, F, U, . . .

◮ allows navigation on positions carrying

the same data value via

X=, F=, U=, . . .

Example

“There is some position such that on the subword induced by its first data value it holds

a until b.”

d 3 4 a 3 6 c 5 7 a 4 3 a 6 3 b 4 2 b 3 4 c 5 2

FC@1(aU=b)

Theorem ([K. et al. 06])

  • Satisfiability is decidable on

◮ multi-dimensional data words with ◮ future and past operators.

  • Precise complexity not known but

presumably very bad.

  • Satisfiability is undecidable if

◮ navigation along tuples is allowed

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 7

slide-38
SLIDE 38

Investigations on Data Logics

  • In many papers it is mentioned that system verification is one of the

main motivations for the investigation of data logics:

◮ Data values can be used to represent process IDs and data

words to represent system runs.

◮ Data logics can be used to specify system properties.

  • Nevertheless, the most investigated question is rather satisfiability

than model checking.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 8

slide-39
SLIDE 39

Our Main Motivation

  • We want to consider the model checking problem with data logics
  • n models which

◮ describe the behavior of concurrent systems with unboundedly

many processes, and

◮ produce system runs which can be represented by data words if

process IDs are identified by data values.

➞ Model Checking on models producing restricted data words can

deliver good decidability and complexity results.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 9

slide-40
SLIDE 40

Dynamic Communicating Automata (DCA)

  • Introduced by [Bollig and Hélouët 10]
  • Extension of communicating finite state machines [Brand and

Zafiropulo 83]

  • Allows the creation of fresh processes
  • Communication between processes through communication

channels

  • Maintenance of communication by storing process ID in registers

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 10

slide-41
SLIDE 41

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-42
SLIDE 42

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2

spawn

1 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-43
SLIDE 43

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3

spawn

1 2

spawn

2 3

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-44
SLIDE 44

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3 m(1)

spawn

1 2

spawn

2 3

se(m)

2 3

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-45
SLIDE 45

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3 m(1) n(3)

spawn

1 2

spawn

2 3

se(m)

2 3

se(n)

2 1

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-46
SLIDE 46

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3 n(3)

spawn

1 2

spawn

2 3

se(m)

2 3

se(n)

2 1

rec(m)

3 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-47
SLIDE 47

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3

spawn

1 2

spawn

2 3

se(m)

2 3

se(n)

2 1

rec(m)

3 2

rec(n)

1 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-48
SLIDE 48

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3

  • spawn

1 2

spawn

2 3

se(m)

2 3

se(n)

2 1

rec(m)

3 2

rec(n)

1 2

se(o)

1 2

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-49
SLIDE 49

A 2-variable DCA

a b c d e f g sp(r1, r2, a)se(r1, m(r2)) se(r2, m(r1)) re(r2, m, r1) re(r1, m, r2) sp(r2, r1, g) se(r2, o) 1 2 3 4

  • spawn

1 2

spawn

2 3

se(m)

2 3

se(n)

2 1

rec(m)

3 2

rec(n)

1 2

se(o)

1 2

spawn

3 4

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 11

slide-50
SLIDE 50

The Model Checking Problem on DCA

The Model Checking Problem on DCA

Given: A DCA A and a formula ϕ of a data logic Question: Does ϕ hold on all accepting runs of A?

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 12

slide-51
SLIDE 51

First Insights – Undecidability Results

Theorem

The nonemptiness problem for 2-variable-DCA with bounded channels is undecidable.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 13

slide-52
SLIDE 52

First Insights – Undecidability Results

Theorem

The nonemptiness problem for 2-variable-DCA with bounded channels is undecidable.

Proof idea

  • By reduction from the nonemptiness problem for 2-counter

automata.

◮ A chain of processes can represent a counter value.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 13

slide-53
SLIDE 53

First Insights – A Decidability Result

Theorem

The model checking problem for 1-variable-DCA with bounded channel capacities and Data LTL is decidable.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 14

slide-54
SLIDE 54

First Insights – A Decidability Result

Theorem

The model checking problem for 1-variable-DCA with bounded channel capacities and Data LTL is decidable.

Proof idea

  • 1. Given a DCA A and a formula ϕ we decide whether there is an

accepting run satisfying ¬ϕ.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 14

slide-55
SLIDE 55

First Insights – A Decidability Result

Theorem

The model checking problem for 1-variable-DCA with bounded channel capacities and Data LTL is decidable.

Proof idea

  • 1. Given a DCA A and a formula ϕ we decide whether there is an

accepting run satisfying ¬ϕ.

  • 2. Reduction to a reachability problem in an infinite state system.

H (a1, F1, i1) · · · (an, Fn, in) (b1, G1, c1, Hn, i′

1)

· · · (bm, Gm, cm, Hm, i′

m)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 14

slide-56
SLIDE 56

First Insights – A Decidability Result

Theorem

The model checking problem for 1-variable-DCA with bounded channel capacities and Data LTL is decidable.

Proof idea

  • 1. Given a DCA A and a formula ϕ we decide whether there is an

accepting run satisfying ¬ϕ.

  • 2. Reduction to a reachability problem in an infinite state system.

H0 (a0, F0, 1)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 14

slide-57
SLIDE 57

First Insights – A Decidability Result

Theorem

The model checking problem for 1-variable-DCA with bounded channel capacities and Data LTL is decidable.

Proof idea

  • 1. Given a DCA A and a formula ϕ we decide whether there is an

accepting run satisfying ¬ϕ.

  • 2. Reduction to a reachability problem in an infinite state system.

H0 (a0, F0, 1) ∅ (a1, ∅, i1) · · · (an, ∅, in) (b1, ∅, c1, ∅, i′

1)

· · · (bm, ∅, cm, ∅, i′

m)

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 14

slide-58
SLIDE 58

First Insights – A Decidability Result

Theorem

The model checking problem for 1-variable-DCA with bounded channel capacities and Data LTL is decidable.

Proof idea

  • 1. Given a DCA A and a formula ϕ we decide whether there is an

accepting run satisfying ¬ϕ.

  • 2. Reduction to a reachability problem in an infinite state system.

H0 (a0, F0, 1) ∅ (a1, ∅, i1) · · · (an, ∅, in) (b1, ∅, c1, ∅, i′

1)

· · · (bm, ∅, cm, ∅, i′

m)

  • 3. Reduction to the nonemptiness problem for multi-counter

automata without zero-tests.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 14

slide-59
SLIDE 59

Further Directions

  • Model Checking of DCA where communication paths between

processes are always bounded remains decidable.

◮ How can DCA be restricted such that this property holds on all

runs?

  • Consider model checking on models which describe the global

behavior of a system: register automata, register pushdown automata, MSC-based models.

Ahmet Kara Model Checking Concurrent Systems with Unboundedly Many Processes Using Data Logics Slide 15