Brzozowski Goes Concurrent A Kleene Theorem for Pomset Languages e 1 - - PowerPoint PPT Presentation

brzozowski goes concurrent
SMART_READER_LITE
LIVE PREVIEW

Brzozowski Goes Concurrent A Kleene Theorem for Pomset Languages e 1 - - PowerPoint PPT Presentation

Brzozowski Goes Concurrent A Kleene Theorem for Pomset Languages e 1 Paul Brunet 1 Bas Luttik 2 Alexandra Silva 1 Fabio Zanasi 1 Tobias Kapp 1 University College London 2 Eindhoven University of Technology CONCUR 2017 T. Kapp e, P .


slide-1
SLIDE 1

Brzozowski Goes Concurrent

A Kleene Theorem for Pomset Languages Tobias Kapp´ e1 Paul Brunet1 Bas Luttik2 Alexandra Silva1 Fabio Zanasi1

1University College London 2Eindhoven University of Technology

CONCUR 2017

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 1 15

slide-2
SLIDE 2

Introduction

Kleene Algebra models program flow. abort (0) and skip (1) non-deterministic choice (+) sequential composition (·) indefinite repetition (∗)

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

slide-3
SLIDE 3

Introduction

Kleene Algebra models program flow. abort (0) and skip (1) non-deterministic choice (+) sequential composition (·) indefinite repetition (∗) Thread 1 Thread 2 x ← 1 y ← 1 r1 ← y r2 ← x

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

slide-4
SLIDE 4

Introduction

Kleene Algebra models program flow. abort (0) and skip (1) non-deterministic choice (+) sequential composition (·) indefinite repetition (∗) parallel composition () Thread 1 Thread 2 x ← 1 y ← 1 r1 ← y r2 ← x

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

slide-5
SLIDE 5

Introduction

Kleene Algebra models program flow. abort (0) and skip (1) non-deterministic choice (+) sequential composition (·) indefinite repetition (∗) parallel composition () Thread 1 Thread 2 x ← 1 y ← 1 r1 ← y r2 ← x

(x ← 1; r1 ← y) (y ← 1; r2 ← x)

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

slide-6
SLIDE 6

Introduction

Kleene theorem: terms denotation automata

  • peration
  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 3 15

slide-7
SLIDE 7

Introduction

Existing Kleene Theorems1 have . . . . . . non-deterministic automata . . . a semantic precondition on automata

1Jipsen 2014; Lodaya and Weil 2000.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 4 15

slide-8
SLIDE 8

Introduction

Existing Kleene Theorems1 have . . . . . . non-deterministic automata . . . a semantic precondition on automata Our Kleene Theorem has . . . . . . (sequentially) deterministic automata . . . a syntactic precondition on automata

1Jipsen 2014; Lodaya and Weil 2000.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 4 15

slide-9
SLIDE 9

Preliminaries

T given by the grammar

e, f ::= 0 | 1 | a ∈ Σ | e + f | e · f | e f | e∗

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 5 15

slide-10
SLIDE 10

Preliminaries

T given by the grammar

e, f ::= 0 | 1 | a ∈ Σ | e + f | e · f | e f | e∗

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 5 15

slide-11
SLIDE 11

Preliminaries

a · (b c) · d = a b c d

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 6 15

slide-12
SLIDE 12

Preliminaries

− : T → 2PomΣ 0 = ∅ 1 = {1} a = {a} e + f = e ∪ f e · f = e · f e f = e f e∗ = e ∗

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 7 15

slide-13
SLIDE 13

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-14
SLIDE 14

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-15
SLIDE 15

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-16
SLIDE 16

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-17
SLIDE 17

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-18
SLIDE 18

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-19
SLIDE 19

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-20
SLIDE 20

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a(b cd)

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-21
SLIDE 21

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e a(b cd)e

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-22
SLIDE 22

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-23
SLIDE 23

Pomset Automata

δ(q2, e) = q7 γ(q1, { |q3, q4| }) = q2

q0 q1 q3 q4 q5 q6 q8 q2 q7 a b c d e

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

slide-24
SLIDE 24

Pomset Automata

Definition

A pomset automaton (PA) is a tuple Q, δ, γ, F with Q a set of states, F ⊆ Q the accepting states,

δ : Q × Σ → Q, the sequential transition function, γ : Q × Mω(Q) → Q, a the parallel transition function

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 9 15

slide-25
SLIDE 25

Pomset Automata

Definition → →A ⊆ Q × PomΣ × Q is the smallest relation such that

q

a

− → →A δ(q, a)

q U

− → →A q ′′

q ′′ V

− → →A q ′

q U·V

− − → →A q ′

r

U

− → →A r ′ ∈ F

s V

− → →A s′ ∈ F

q UV

− − → →A γ(q, { |r, s| })

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 9 15

slide-26
SLIDE 26

Pomset Automata

Definition → →A ⊆ Q × PomΣ × Q is the smallest relation such that

q

a

− → →A δ(q, a)

q U

− → →A q ′′

q ′′ V

− → →A q ′

q U·V

− − → →A q ′

r

U

− → →A r ′ ∈ F

s V

− → →A s′ ∈ F

q UV

− − → →A γ(q, { |r, s| })

LA(q) is defined by LA(q) = {U : q U

− → →A q ′ ∈ F} ∪ {1 : q ∈ F}

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 9 15

slide-27
SLIDE 27

Expressions to Automata

Brzozowski-construction:

1 T as state space

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

slide-28
SLIDE 28

Expressions to Automata

Brzozowski-construction:

1 T as state space 2 FΣ ⊆ T: accepting expressions

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

slide-29
SLIDE 29

Expressions to Automata

Brzozowski-construction:

1 T as state space 2 FΣ ⊆ T: accepting expressions 3 δΣ : T × Σ → T: sequential derivatives

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

slide-30
SLIDE 30

Expressions to Automata

Brzozowski-construction:

1 T as state space 2 FΣ ⊆ T: accepting expressions 3 δΣ : T × Σ → T: sequential derivatives 4 γΣ : T × Mω(T) → T: parallel derivatives

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

slide-31
SLIDE 31

Expressions to Automata

Brzozowski-construction:

1 T as state space 2 FΣ ⊆ T: accepting expressions 3 δΣ : T × Σ → T: sequential derivatives 4 γΣ : T × Mω(T) → T: parallel derivatives 5 trim to finite automaton as necessary

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

slide-32
SLIDE 32

Expressions to Automata

Brzozowski-construction:

1 T as state space 2 FΣ ⊆ T: accepting expressions 3 δΣ : T × Σ → T: sequential derivatives 4 γΣ : T × Mω(T) → T: parallel derivatives 5 trim to finite automaton as necessary

We write LΣ(e) for LAΣ(e).

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

slide-33
SLIDE 33

Expressions to Automata

a · (b · c∗ (d + e)) b · c∗ (d + e) b · c∗ c∗ d + e 1 a b d, e c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

slide-34
SLIDE 34

Expressions to Automata

a · (b · c∗ (d + e)) b · c∗ (d + e) b · c∗ c∗ d + e 1 a b d, e c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

slide-35
SLIDE 35

Expressions to Automata

a · (b · c∗ (d + e)) b · c∗ (d + e) b · c∗ c∗ d + e 1 a b d, e c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

slide-36
SLIDE 36

Expressions to Automata

a · (b · c∗ (d + e)) b · c∗ (d + e) b · c∗ c∗ d + e 1 a b d, e c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

slide-37
SLIDE 37

Expressions to Automata

a · (b · c∗ (d + e)) b · c∗ (d + e) b · c∗ c∗ d + e 1 a b d, e c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

slide-38
SLIDE 38

Expressions to Automata

a · (b · c∗ (d + e)) b · c∗ (d + e) b · c∗ c∗ d + e 1 a b d, e c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

slide-39
SLIDE 39

Expressions to Automata

Theorem

Let e ∈ T; then LΣ(e) = e.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 12 15

slide-40
SLIDE 40

Expressions to Automata

Theorem

Let e ∈ T; then LΣ(e) = e. Proof in two parts:

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 12 15

slide-41
SLIDE 41

Expressions to Automata

Theorem

Let e ∈ T; then LΣ(e) = e. Proof in two parts: Deconstruction: if e U

− → →Σ f, then . . .

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 12 15

slide-42
SLIDE 42

Expressions to Automata

Theorem

Let e ∈ T; then LΣ(e) = e. Proof in two parts: Deconstruction: if e U

− → →Σ f, then . . .

Construction: if . . . , then e U

− → →Σ f.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 12 15

slide-43
SLIDE 43

Expressions to Automata

Theorem

Let e ∈ T; then LΣ(e) = e. Proof in two parts: Deconstruction: if e U

− → →Σ f, then . . .

Construction: if . . . , then e U

− → →Σ f. Theorem

Let e ∈ T; we find a finite A with a state q such that LA(q) = LΣ(e).

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 12 15

slide-44
SLIDE 44

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-45
SLIDE 45

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-46
SLIDE 46

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-47
SLIDE 47

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-48
SLIDE 48

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-49
SLIDE 49

Automata to Expressions

q0 q1 q2 q3 q4 a b a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-50
SLIDE 50

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-51
SLIDE 51

Automata to Expressions

q0 q1 q2 q3 q4 a b a(a b) b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-52
SLIDE 52

Automata to Expressions

q0 q1 q2 q3 q4 a b a(a(a b)) b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-53
SLIDE 53

Automata to Expressions

q0 q1 q2 q3 q4 a b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 13 15

slide-54
SLIDE 54

Automata to Expressions

q0 q1 q3 a a q2 q4 b q5 q6 c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 14 15

slide-55
SLIDE 55

Automata to Expressions

q0 q1 q3 a a q2 q4 b q5 q6 c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 14 15

slide-56
SLIDE 56

Automata to Expressions

q0 q2 q4 b q5 q6 c aa∗

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 14 15

slide-57
SLIDE 57

Automata to Expressions

q0 q5 q6 c aa∗ b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 14 15

slide-58
SLIDE 58

Automata to Expressions

q0 q5 q6 c aa∗ b

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 14 15

slide-59
SLIDE 59

Automata to Expressions

q0 q6

(aa∗ b)c

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 14 15

slide-60
SLIDE 60

Further Work

Extend to WCKA: exchange law.

2Anderson et al. 2014.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 15 15

slide-61
SLIDE 61

Further Work

Extend to WCKA: exchange law. Possible applications Completeness proof based on automata. Equivalence checking of WBKA expressions.

2Anderson et al. 2014.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 15 15

slide-62
SLIDE 62

Further Work

Extend to WCKA: exchange law. Possible applications Completeness proof based on automata. Equivalence checking of WBKA expressions. Endgame: concurrent extension of NetKAT.2

2Anderson et al. 2014.

  • T. Kapp´

e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 15 15