Bounded context switching for valence systems Roland Meyer 1 , - - PowerPoint PPT Presentation

bounded context switching for valence systems
SMART_READER_LITE
LIVE PREVIEW

Bounded context switching for valence systems Roland Meyer 1 , - - PowerPoint PPT Presentation

Bounded context switching for valence systems Roland Meyer 1 , Sebastian Muskalla 1 , and Georg Zetzsche 2 September 4, CONCUR 2018, Beijing 1 TU Braunschweig, Germany {roland.meyer,s.muskalla}@tu-bs.de 2 IRIF (Universit Paris-Diderot,


slide-1
SLIDE 1

Bounded context switching for valence systems

Roland Meyer1, Sebastian Muskalla1, and Georg Zetzsche2

September 4, CONCUR 2018, Beijing 1 TU Braunschweig, Germany {roland.meyer,s.muskalla}@tu-bs.de 2 IRIF (Université Paris-Diderot, CNRS), France zetzsche@irif.fr

slide-2
SLIDE 2

Result and structure

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).

  • 1. What is bounded context switching (BCS)?
  • 2. What are valence systems over graph monoids?
  • 3. What is BCS for valence systems?

1

slide-3
SLIDE 3

Result and structure

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).

  • 1. What is bounded context switching (BCS)?
  • 2. What are valence systems over graph monoids?
  • 3. What is BCS for valence systems?

1

slide-4
SLIDE 4

Result and structure

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).

  • 1. What is bounded context switching (BCS)?
  • 2. What are valence systems over graph monoids?
  • 3. What is BCS for valence systems?

1

slide-5
SLIDE 5

Result and structure

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).

  • 1. What is bounded context switching (BCS)?
  • 2. What are valence systems over graph monoids?
  • 3. What is BCS for valence systems?

1

slide-6
SLIDE 6
  • 1. BCS
slide-7
SLIDE 7

The problem

Setting: Concurrent system, each component modeled as automaton

2

slide-8
SLIDE 8

The problem

Setting: Concurrent system, each component modeled as automaton Problem: If components are beyond finite-state, reachability (safety verification) is difficult

2

slide-9
SLIDE 9

The problem

Setting: Concurrent system, each component modeled as automaton Problem: If components are beyond finite-state, reachability (safety verification) is difficult Solution: Consider bounded context switching (BCS)

2

slide-10
SLIDE 10

Bounded context switching

Context: Infix of the (sequentialized) computation where a single thread is active BCS: Number of contexts switches (#contexts 1) bounded by a constant

3

slide-11
SLIDE 11

Bounded context switching

Context: Infix of the (sequentialized) computation where a single thread is active BCS: Number of contexts switches (#contexts −1) bounded by a constant

3

slide-12
SLIDE 12

Bounded context switching

Context: Infix of the (sequentialized) computation where a single thread is active BCS: Number of contexts switches (#contexts −1) bounded by a constant Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches?

3

slide-13
SLIDE 13

Bounded context switching

Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]

4

slide-14
SLIDE 14

Bounded context switching

Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]

4

slide-15
SLIDE 15

Bounded context switching

Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]

4

slide-16
SLIDE 16

Bounded context switching

Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]

4

slide-17
SLIDE 17

Example

Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control essentially a MPDS Reachability is undecidable if #components 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete

5

slide-18
SLIDE 18

Example

Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete

5

slide-19
SLIDE 19

Example

Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components ⩾ 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete

5

slide-20
SLIDE 20

Example

Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components ⩾ 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete

5

slide-21
SLIDE 21

Example

Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components ⩾ 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete

5

slide-22
SLIDE 22

Related work

Similar results for various types of components, various types of communication, various BCS-like restrictions.

6

slide-23
SLIDE 23

Related work

Similar results for various types of components, various types of communication, various BCS-like restrictions. For example: Queues as storages [LMP08] Pushdowns with dynamic thread creation [ABQ09] Pushdowns communicating via queues [HLMS12] …

6

slide-24
SLIDE 24

Related work II

Our goal: General BCS result

7

slide-25
SLIDE 25

Related work II

Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]

  • Can handle queues
  • Cannot handle counters
  • Applies to settings where the complexity is beyond NP

Reductions to PA-satisfiability [HL12,EGT14]

  • Can handle reversal-bounded counters
  • Does not allow nested combination of counters and stack

Results incomparable to ours Our technique provides an algebraic view

7

slide-26
SLIDE 26

Related work II

Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]

  • Can handle queues
  • Cannot handle counters
  • Applies to settings where the complexity is beyond NP

Reductions to PA-satisfiability [HL12,EGT14]

  • Can handle reversal-bounded counters
  • Does not allow nested combination of counters and stack

Results incomparable to ours Our technique provides an algebraic view

7

slide-27
SLIDE 27

Related work II

Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]

  • Can handle queues
  • Cannot handle counters
  • Applies to settings where the complexity is beyond NP

Reductions to ∃PA-satisfiability [HL12,EGT14]

  • Can handle reversal-bounded counters
  • Does not allow nested combination of counters and stack

Results incomparable to ours Our technique provides an algebraic view

7

slide-28
SLIDE 28

Related work II

Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]

  • Can handle queues
  • Cannot handle counters
  • Applies to settings where the complexity is beyond NP

Reductions to ∃PA-satisfiability [HL12,EGT14]

  • Can handle reversal-bounded counters
  • Does not allow nested combination of counters and stack

Results incomparable to ours Our technique provides an algebraic view

7

slide-29
SLIDE 29

Related work II

Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]

  • Can handle queues
  • Cannot handle counters
  • Applies to settings where the complexity is beyond NP

Reductions to ∃PA-satisfiability [HL12,EGT14]

  • Can handle reversal-bounded counters
  • Does not allow nested combination of counters and stack

Results incomparable to ours Our technique provides an algebraic view

7

slide-30
SLIDE 30
  • 2. Valence systems
slide-31
SLIDE 31

Valence systems

Need a single model that can represent various types of memory Introducing valence systems over some monoid Monoid represents the storage of the system Syntax: Semantics:

8

slide-32
SLIDE 32

Valence systems

Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid represents the storage of the system Syntax: Semantics:

8

slide-33
SLIDE 33

Valence systems

Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid M represents the storage of the system Syntax: Semantics:

8

slide-34
SLIDE 34

Valence systems

Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid M represents the storage of the system Syntax: Finite control Transitions labeled by generators of M Semantics:

8

slide-35
SLIDE 35

Valence systems

Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid M represents the storage of the system Syntax: Finite control Transitions labeled by generators of M Semantics: Configurations (q, m) with q control state, m ∈ M Transition q m′ − → q′ leads to (q′, m · m′)

8

slide-36
SLIDE 36

Example

Valence system over Z × Z (with component-wise addition) qinit qfin (3, −3) (−2, 2) (1, −1)

9

slide-37
SLIDE 37

Example

Valence system over Z × Z (with component-wise addition) qinit qfin (3, −3) (−2, 2) (1, −1) (essentially an integer 2-VASS)

9

slide-38
SLIDE 38

Graph monoids

Want results of the following shape: Theorem If monoid M satisfies condition c, then checking property P for all valence systems over M is in complexity class C.

10

slide-39
SLIDE 39

Graph monoids

Want results of the following shape: Theorem If monoid M satisfies condition c, then checking property P for all valence systems over M is in complexity class C. Best case: Complete for classification for property P

10

slide-40
SLIDE 40

Graph monoids

Want results of the following shape: Theorem If monoid M satisfies condition c, then checking property P for all valence systems over M is in complexity class C. Best case: Complete for classification for property P For example, want classification of P = reachability Reachability for valence systems Given: Valence system A over monoid M Decide: (qinit, 1M) →∗ (qfinal, 1M)?

10

slide-41
SLIDE 41

Graph monoids

Problem: Monoids are too diverse

11

slide-42
SLIDE 42

Graph monoids

Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids

11

slide-43
SLIDE 43

Graph monoids

Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids

11

slide-44
SLIDE 44

Graph monoids

Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids

11

slide-45
SLIDE 45

Graph monoids

Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids

11

slide-46
SLIDE 46

Example: Graph monoid

Consider the following undirected graph:

  • a
  • b

Nodes a b are counters / stack symbols Operations: a b (“push a / b”, “increment a / b”) and a b (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o

  • 12
slide-47
SLIDE 47

Example: Graph monoid

Consider the following undirected graph:

  • a
  • b

Nodes a, b are counters / stack symbols Operations: a b (“push a / b”, “increment a / b”) and a b (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o

  • 12
slide-48
SLIDE 48

Example: Graph monoid

Consider the following undirected graph:

  • a
  • b

Nodes a, b are counters / stack symbols Operations: a+, b+ (“push a / b”, “increment a / b”) and a−, b− (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o

  • 12
slide-49
SLIDE 49

Example: Graph monoid

Consider the following undirected graph:

  • a
  • b

Nodes a, b are counters / stack symbols Operations: a+, b+ (“push a / b”, “increment a / b”) and a−, b− (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o

  • 12
slide-50
SLIDE 50

Example: Graph monoid

Consider the following undirected graph:

  • a
  • b

Nodes a, b are counters / stack symbols Operations: a+, b+ (“push a / b”, “increment a / b”) and a−, b− (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o+.o− ∼ = ε

12

slide-51
SLIDE 51

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a b b a a b a b irreducible a a irreducible Valence systems over

G are PDS over stack alphabet

a b

13

slide-52
SLIDE 52

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a+b+b−a− a b a b irreducible a a irreducible Valence systems over

G are PDS over stack alphabet

a b

13

slide-53
SLIDE 53

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− a b a b irreducible a a irreducible Valence systems over

G are PDS over stack alphabet

a b

13

slide-54
SLIDE 54

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a b a b irreducible a a irreducible Valence systems over

G are PDS over stack alphabet

a b

13

slide-55
SLIDE 55

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a+b+a−b− irreducible a a irreducible Valence systems over

G are PDS over stack alphabet

a b

13

slide-56
SLIDE 56

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a+b+a−b− irreducible a−a+ irreducible Valence systems over

G are PDS over stack alphabet

a b

13

slide-57
SLIDE 57

Example: PDS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a+b+a−b− irreducible a−a+ irreducible Valence systems over MG are PDS over stack alphabet {a, b}

13

slide-58
SLIDE 58

Graph monoids

Graph monoid MG given by undirected graph G = (V, I)

14

slide-59
SLIDE 59

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations consisting of o

  • for each node o

V

G

Monoid elements are represented by sequences of

  • perations

Monoid operation: Concatenation of representatives Congruence satisfies o

  • for all o

14

slide-60
SLIDE 60

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V

G

Monoid elements are represented by sequences of

  • perations

Monoid operation: Concatenation of representatives Congruence satisfies o

  • for all o

14

slide-61
SLIDE 61

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of

  • perations

Monoid operation: Concatenation of representatives Congruence satisfies o

  • for all o

14

slide-62
SLIDE 62

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of

  • perations

Monoid operation: Concatenation of representatives Congruence satisfies o

  • for all o

14

slide-63
SLIDE 63

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of

  • perations

Monoid operation: Concatenation of representatives Congruence satisfies o

  • for all o

14

slide-64
SLIDE 64

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of

  • perations

Monoid operation: Concatenation of representatives Congruence ∼ = satisfies o+.o− ∼ = ε for all o

14

slide-65
SLIDE 65

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation called independence relation Intuition:

If o u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently

If o u, then o and u commute: o u u

  • 14
slide-66
SLIDE 66

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:

If o u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently

If o u, then o and u commute: o u u

  • 14
slide-67
SLIDE 67

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:

If o u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently

If o u, then o and u commute: o u u

  • 14
slide-68
SLIDE 68

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:

If o I u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently

If o u, then o and u commute: o u u

  • 14
slide-69
SLIDE 69

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:

If o I u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently

If o u, then o and u commute: o u u

  • 14
slide-70
SLIDE 70

Graph monoids

Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:

If o I u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently

If o I u, then o± and u± commute: o±.u± ∼ = u±.o±

14

slide-71
SLIDE 71

Example: VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± where {u, o} = {a, b} a b b a a a 1 still valid a b a b a b b a a a still irreducible Valence systems over

G are 2-VASS 15

slide-72
SLIDE 72

Example: VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a b a b a b b a a a still irreducible Valence systems over

G are 2-VASS 15

slide-73
SLIDE 73

Example: VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a a still irreducible Valence systems over

G are 2-VASS 15

slide-74
SLIDE 74

Example: VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ still irreducible Valence systems over

G are 2-VASS 15

slide-75
SLIDE 75

Example: VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ still irreducible Valence systems over MG are 2-VASS

15

slide-76
SLIDE 76

Example: integer VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± ∀u, o ∈ {a, b} a b b a a a 1 still valid a b a b a b b a a a a a Valence systems over

G are integer 2-VASS 16

slide-77
SLIDE 77

Example: integer VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a b a b a b b a a a a a Valence systems over

G are integer 2-VASS 16

slide-78
SLIDE 78

Example: integer VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a a a a Valence systems over

G are integer 2-VASS 16

slide-79
SLIDE 79

Example: integer VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ ∼ = a+a− ∼ = ε Valence systems over

G are integer 2-VASS 16

slide-80
SLIDE 80

Example: integer VASS

  • a
  • b

MG = { a+, b+, a−, b−}∗/ ∼ =

  • +.o− ∼

= ε ∀o ∈ {a, b}

  • ±.u± ∼

= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ ∼ = a+a− ∼ = ε Valence systems over MG are integer 2-VASS

16

slide-81
SLIDE 81

Example: MPDS

  • aℓ
  • bℓ
  • ar
  • br

17

slide-82
SLIDE 82

Example: MPDS

  • aℓ
  • bℓ
  • ar
  • br

Any m ∈ {aℓ+, aℓ−, . . .}∗ can be written as m ∼ = m↾ℓ.m↾r such that m ∼ = ε iff m↾ℓ ∼ = ε and m↾r ∼ = ε

17

slide-83
SLIDE 83

Example: MPDS

  • aℓ
  • bℓ
  • ar
  • br

Any m ∈ {aℓ+, aℓ−, . . .}∗ can be written as m ∼ = m↾ℓ.m↾r such that m ∼ = ε iff m↾ℓ ∼ = ε and m↾r ∼ = ε Valence systems over MG are 2-PDS (with a binary stack alphabet for each stack)

17

slide-84
SLIDE 84

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these

18

slide-85
SLIDE 85

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these

18

slide-86
SLIDE 86

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these

18

slide-87
SLIDE 87

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these

18

slide-88
SLIDE 88

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these Graph monoids cannot model: Queues Higher-order stacks

18

slide-89
SLIDE 89

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these Graph monoids cannot model: Queues Higher-order stacks

18

slide-90
SLIDE 90

Graph monoids

Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these Graph monoids cannot model: Queues Higher-order stacks

18

slide-91
SLIDE 91

Results

Characterization results for valence systems/automata: reachability [Z15] regularity [Z11] context-freeness [BZ13] semilinearity of the Parikh image [BZ13] ...

19

slide-92
SLIDE 92
  • 3. BCS for valence systems
slide-93
SLIDE 93

BCS for valence systems

How to define BCS for valence systems over graph monoids?

20

slide-94
SLIDE 94

BCS for valence systems

How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )

20

slide-95
SLIDE 95

BCS for valence systems

How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )

20

slide-96
SLIDE 96

BCS for valence systems

How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )

20

slide-97
SLIDE 97

BCS for valence systems

How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )

20

slide-98
SLIDE 98

BCS for valence systems

How to define BCS for valence systems over graph monoids?

21

slide-99
SLIDE 99

BCS for valence systems

How to define BCS for valence systems over graph monoids? A slight modification

21

slide-100
SLIDE 100

BCS for valence systems

How to define BCS for valence systems over graph monoids? A slight modification Consider configurations of the shape (q, m) where m is a sequence of operations

21

slide-101
SLIDE 101

BCS for valence systems

How to define BCS for valence systems over graph monoids? A slight modification Consider configurations of the shape (q, m) where m is a sequence of operations We do not store the monoid element, but its syntactic representation

21

slide-102
SLIDE 102

BCS for valence systems

How to define BCS for valence systems over graph monoids? A slight modification Consider configurations of the shape (q, m) where m is a sequence of operations We do not store the monoid element, but its syntactic representation Crucial as our notion of context is not invariant under congruence

21

slide-103
SLIDE 103

Contexts

  • aℓ
  • bℓ
  • ar
  • br

22

slide-104
SLIDE 104

Contexts

  • aℓ
  • bℓ
  • ar
  • br

Nodes belonging to independent parts of the storage are connected by an edge

22

slide-105
SLIDE 105

Contexts

  • aℓ
  • bℓ
  • ar
  • br

Nodes belonging to independent parts of the storage are connected by an edge Intuitively: m = . . . o±.u± . . . with o I u, then this constitutes a context switch

22

slide-106
SLIDE 106

Contexts

  • aℓ
  • bℓ
  • ar
  • br

Nodes belonging to independent parts of the storage are connected by an edge Intuitively: m = . . . o±.u± . . . with o I u, then this constitutes a context switch In general, we need a more restrictive definition

22

slide-107
SLIDE 107

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

23

slide-108
SLIDE 108

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

23

slide-109
SLIDE 109

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent

23

slide-110
SLIDE 110

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent b+c+ dependent

23

slide-111
SLIDE 111

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent b+c+ dependent a+b+ not dependent

23

slide-112
SLIDE 112

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent

23

slide-113
SLIDE 113

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent a+a− dependent

23

slide-114
SLIDE 114

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent a+a− dependent a+b+b−a− not dependent

23

slide-115
SLIDE 115

Dependent computations

Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.

  • a
  • c
  • b

a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent a+a− dependent a+b+b−a− not dependent but a+a− ∼ = a+b+b−a− !

23

slide-116
SLIDE 116

Contexts & context switches

Let m be a sequence of operations

24

slide-117
SLIDE 117

Contexts & context switches

Let m be a sequence of operations Its first context is its maximal dependent prefix

24

slide-118
SLIDE 118

Contexts & context switches

Let m be a sequence of operations Its first context is its maximal dependent prefix Inductively: The ith context of m is the maximal dependent prefix of m with the first i − 1 contexts removed

24

slide-119
SLIDE 119

Contexts & context switches

Let m be a sequence of operations Its first context is its maximal dependent prefix Inductively: The ith context of m is the maximal dependent prefix of m with the first i − 1 contexts removed The number of context switches cs(m) is the number of contexts minus 1

24

slide-120
SLIDE 120

In the examples

Assume the number of context switches is bounded by k

  • a
  • b

PDS no restriction

  • a
  • b

VASS changing the counter ⩽ k times

  • a
  • b

integer VASS changing the counter ⩽ k times

  • aℓ
  • bℓ
  • ar
  • br

MPDS changing the stack ⩽ k times

25

slide-121
SLIDE 121

The result

BCSREACH for valence systems over graph monoids Given: Valence system A over MG, number k (in unary) Decide: Is there (qinit, ε) → (qfinal, m) with m ∼ = ε and cs(m) ⩽ k?

26

slide-122
SLIDE 122

The result

BCSREACH for valence systems over graph monoids Given: Valence system A over MG, number k (in unary) Decide: Is there (qinit, ε) → (qfinal, m) with m ∼ = ε and cs(m) ⩽ k? Theorem BCSREACH for valence systems over graph monoids is in NP (for all graph monoids).

26

slide-123
SLIDE 123

The proof / The algorithm

slide-124
SLIDE 124

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-125
SLIDE 125

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-126
SLIDE 126

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-127
SLIDE 127

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-128
SLIDE 128

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length ⩽ k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-129
SLIDE 129

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length ⩽ k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-130
SLIDE 130

Proof outline

Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length ⩽ k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata

27

slide-131
SLIDE 131

Block decomposition

If m ∼ = ε, then there is a reduction of m that swaps letters cancels letters.

28

slide-132
SLIDE 132

Block decomposition

If m ∼ = ε, then there is a reduction of m that swaps letters cancels letters. Can define similarly a notation of reduction that swaps blocks (infixes) cancels blocks in one step.

28

slide-133
SLIDE 133

Block decomposition

If m ∼ = ε, then there is a reduction of m that swaps letters cancels letters. Can define similarly a notation of reduction that swaps blocks (infixes) cancels blocks in one step. E.g. m1.m2 → m2.m1 if every symbol in m1 commutes with every symbol in m2

28

slide-134
SLIDE 134

Block decomposition

Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m , then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:

  • u

u

  • 29
slide-135
SLIDE 135

Block decomposition

Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m can be reduced to ε by blockwise operations, call it freely reducible. If m , then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:

  • u

u

  • 29
slide-136
SLIDE 136

Block decomposition

Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m can be reduced to ε by blockwise operations, call it freely reducible. If m ∼ = ε, then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:

  • u

u

  • 29
slide-137
SLIDE 137

Block decomposition

Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m can be reduced to ε by blockwise operations, call it freely reducible. If m ∼ = ε, then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:

  • +u+ , u− , o−

29

slide-138
SLIDE 138

Block decomposition

Sequence is irreducible if it is not congruent to a shorter one

30

slide-139
SLIDE 139

Block decomposition

Sequence is irreducible if it is not congruent to a shorter one Theorem Let m be a sequence of operations with k contexts each of them irreducible, and m ∼ = ε. Then there is a decomposition of m into ⩽ k2 blocks that is freely reducible.

30

slide-140
SLIDE 140

Block decomposition

Sequence is irreducible if it is not congruent to a shorter one Theorem Let m be a sequence of operations with k contexts each of them irreducible, and m ∼ = ε. Then there is a decomposition of m into ⩽ k2 blocks that is freely reducible. Size of the decomposition is independent of the length of m

30

slide-141
SLIDE 141

Block decomposition

Sequence is irreducible if it is not congruent to a shorter one Theorem Let m be a sequence of operations with k contexts each of them irreducible, and m ∼ = ε. Then there is a decomposition of m into ⩽ k2 blocks that is freely reducible. Size of the decomposition is independent of the length of m Existence can be checked algorithmically

30

slide-142
SLIDE 142

The algorithm, Step I

The algorithm Given: valence system A , bound k

  • 1. Guess

k dependent parts of

  • 2. Saturate each part:

q q p p a a

31

slide-143
SLIDE 143

The algorithm, Step I

The algorithm Given: valence system A , bound k Part I: Enforcing irreducibility

  • 1. Guess

k dependent parts of

  • 2. Saturate each part:

q q p p a a

31

slide-144
SLIDE 144

The algorithm, Step I

The algorithm Given: valence system A , bound k Part I: Enforcing irreducibility

  • 1. Guess ⩽ k dependent parts of A
  • 2. Saturate each part:

q q p p a a

31

slide-145
SLIDE 145

The algorithm, Step I

The algorithm Given: valence system A , bound k Part I: Enforcing irreducibility

  • 1. Guess ⩽ k dependent parts of A
  • 2. Saturate each part:

q q′ · · · p′ p a+ ε ε a− ε

31

slide-146
SLIDE 146

The algorithm, Step I

Let Asat be the resulting valence system

32

slide-147
SLIDE 147

The algorithm, Step I

Let Asat be the resulting valence system Theorem (qinit, ε) →∗ (qfinal, m) in A with m ∼ = ε and cs(m) ⩽ k,

32

slide-148
SLIDE 148

The algorithm, Step I

Let Asat be the resulting valence system Theorem (qinit, ε) →∗ (qfinal, m) in A with m ∼ = ε and cs(m) ⩽ k, iff (qinit, ε) →∗ (qfinal, m′) in Asat with m′ ∼ = ε, cs(m′) ⩽ k, and contexts of m′ irreducible.

32

slide-149
SLIDE 149

The algorithm, Step II

Part II: Checking the existence of a freely reducible block decomposition

  • 3. For each context i, guess part of

sat that is used in block

mi j as NFA

i j

  • 4. Guess reduction on blocks (NFAs) of polynomial length
  • 5. Verify reduction step-by-step

Swap rule applicable to

i j, i j

if

  • Alphabet

i j

u Alphabet

i j

  • u

Cancel rule applicable to

i j, i j

if

i j i j inverse is non-empty

33

slide-150
SLIDE 150

The algorithm, Step II

Part II: Checking the existence of a freely reducible block decomposition

  • 3. For each context i, guess part of Asat that is used in block

mi,j as NFA Ai,j

  • 4. Guess reduction on blocks (NFAs) of polynomial length
  • 5. Verify reduction step-by-step

Swap rule applicable to

i j, i j

if

  • Alphabet

i j

u Alphabet

i j

  • u

Cancel rule applicable to

i j, i j

if

i j i j inverse is non-empty

33

slide-151
SLIDE 151

The algorithm, Step II

Part II: Checking the existence of a freely reducible block decomposition

  • 3. For each context i, guess part of Asat that is used in block

mi,j as NFA Ai,j

  • 4. Guess reduction on blocks (NFAs) of polynomial length
  • 5. Verify reduction step-by-step

Swap rule applicable to

i j, i j

if

  • Alphabet

i j

u Alphabet

i j

  • u

Cancel rule applicable to

i j, i j

if

i j i j inverse is non-empty

33

slide-152
SLIDE 152

The algorithm, Step II

Part II: Checking the existence of a freely reducible block decomposition

  • 3. For each context i, guess part of Asat that is used in block

mi,j as NFA Ai,j

  • 4. Guess reduction on blocks (NFAs) of polynomial length
  • 5. Verify reduction step-by-step

Swap rule applicable to

i j, i j

if

  • Alphabet

i j

u Alphabet

i j

  • u

Cancel rule applicable to

i j, i j

if

i j i j inverse is non-empty

33

slide-153
SLIDE 153

The algorithm, Step II

Part II: Checking the existence of a freely reducible block decomposition

  • 3. For each context i, guess part of Asat that is used in block

mi,j as NFA Ai,j

  • 4. Guess reduction on blocks (NFAs) of polynomial length
  • 5. Verify reduction step-by-step

Swap rule applicable to Ai,j, Ai′,j′ if ∀o± ∈ Alphabet(Ai,j) ∀u± ∈ Alphabet(Ai′,j′): o I u Cancel rule applicable to

i j, i j

if

i j i j inverse is non-empty

33

slide-154
SLIDE 154

The algorithm, Step II

Part II: Checking the existence of a freely reducible block decomposition

  • 3. For each context i, guess part of Asat that is used in block

mi,j as NFA Ai,j

  • 4. Guess reduction on blocks (NFAs) of polynomial length
  • 5. Verify reduction step-by-step

Swap rule applicable to Ai,j, Ai′,j′ if ∀o± ∈ Alphabet(Ai,j) ∀u± ∈ Alphabet(Ai′,j′): o I u Cancel rule applicable to Ai,j, Ai′,j′ if L ( Ai,j ) ∩ L ( Ai′,j′)inverse is non-empty

33

slide-155
SLIDE 155

Complexity for fixed graphs

slide-156
SLIDE 156

Complexity for fixed graphs

Now, assume that the graph G is fixed, consider BCSREACH(G)

34

slide-157
SLIDE 157

Complexity for fixed graphs

Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed.

34

slide-158
SLIDE 158

Complexity for fixed graphs

Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. Theorem If G− is a clique, then BCSREACH(G) is NL-complete.

34

slide-159
SLIDE 159

Complexity for fixed graphs

Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. P4 = C4

34

slide-160
SLIDE 160

Complexity for fixed graphs

Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. P4 = C4 Theorem If G− contains C4 as induced subgraph, then BCSREACH(G) is NP-complete.

34

slide-161
SLIDE 161

Complexity for fixed graphs

Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. P4 = C4 Theorem If G− contains C4 as induced subgraph, then BCSREACH(G) is NP-complete. Theorem If G− contains neither C4 nor P4 as induced subgraphs, then BCSREACH(G) is in P.

34

slide-162
SLIDE 162

Conclusion

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs.

35

slide-163
SLIDE 163

Conclusion

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?

35

slide-164
SLIDE 164

Conclusion

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?

35

slide-165
SLIDE 165

Conclusion

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?

35

slide-166
SLIDE 166

Conclusion

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?

35

slide-167
SLIDE 167

Conclusion

Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?

35

slide-168
SLIDE 168

Thank you!

slide-169
SLIDE 169

Questions?