bounded context switching for valence systems
play

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,


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

  2. Example q init q fin 9 Valence system over Z × Z (with component-wise addition) ( 3 , − 3 ) ( 1 , − 1 ) ( − 2 , 2 )

  3. Example q init q fin (essentially an integer 2-VASS) 9 Valence system over Z × Z (with component-wise addition) ( 3 , − 3 ) ( 1 , − 1 ) ( − 2 , 2 )

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

  5. Graph monoids Want results of the following shape: Theorem 10 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

  6. Graph monoids Want results of the following shape: Theorem Reachability for valence systems Given: Decide: 10 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 Valence system A over monoid M ( q init , 1 M ) → ∗ ( q final , 1 M ) ?

  7. Graph monoids Problem: Monoids are too diverse 11

  8. 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

  9. 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

  10. 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

  11. 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

  12. Example: Graph monoid (“push a / b”, “increment a / b”) o modulo the congruence o Monoid elements: Sequences of operations (“pop a / b”, “decrement a / b”) b a and b Consider the following undirected graph: a Operations: Nodes a b are counters / stack symbols b a 12 • •

  13. Example: Graph monoid (“push a / b”, “increment a / b”) o modulo the congruence o Monoid elements: Sequences of operations (“pop a / b”, “decrement a / b”) b a and b Consider the following undirected graph: a Operations: b a 12 • • Nodes a , b are counters / stack symbols

  14. Example: Graph monoid (“push a / b”, “increment a / b”) o modulo the congruence o Monoid elements: Sequences of operations (“pop a / b”, “decrement a / b”) and 12 Consider the following undirected graph: Operations: b a • • Nodes a , b are counters / stack symbols a + , b + a − , b −

  15. modulo the congruence o Example: Graph monoid (“push a / b”, “increment a / b”) o Monoid elements: Sequences of operations (“pop a / b”, “decrement a / b”) and 12 Consider the following undirected graph: Operations: b a • • Nodes a , b are counters / stack symbols a + , b + a − , b −

  16. Example: Graph monoid Consider the following undirected graph: Monoid elements: Sequences of operations (“pop a / b”, “decrement a / b”) and (“push a / b”, “increment a / b”) 12 Operations: b a • • Nodes a , b are counters / stack symbols a + , b + a − , b − modulo the congruence o + . o − ∼ = ε

  17. a b b a G are PDS over stack alphabet Example: PDS a b Valence systems over irreducible a a irreducible a b a b 13 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • •

  18. G are PDS over stack alphabet Example: PDS a b a b a b Valence systems over irreducible a a irreducible 13 b a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • a + b + b − a −

  19. G are PDS over stack alphabet Example: PDS a b a b a b Valence systems over irreducible a a irreducible 13 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • a + b + b − a − ∼ = a + a −

  20. G are PDS over stack alphabet Example: PDS a b a b a b Valence systems over irreducible a a irreducible 13 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • a + b + b − a − ∼ ∼ = a + a − = ε = 1 M

  21. G are PDS over stack alphabet Example: PDS irreducible a b Valence systems over irreducible a a 13 b a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • a + b + b − a − ∼ ∼ = a + a − = ε = 1 M a + b + a − b −

  22. G are PDS over stack alphabet Example: PDS irreducible a b Valence systems over irreducible 13 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • a + b + b − a − ∼ ∼ = a + a − = ε = 1 M a + b + a − b − a − a +

  23. Example: PDS irreducible irreducible 13 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • a + b + b − a − ∼ ∼ = a + a − = ε = 1 M a + b + a − b − a − a + Valence systems over M G are PDS over stack alphabet { a , b }

  24. Graph monoids 14 Graph monoid M G given by undirected graph G = ( V , I )

  25. Monoid elements are represented by sequences of Graph monoids for all o o satisfies o Congruence Monoid operation: Concatenation of representatives operations G V for each node o o consisting of o Operations Nodes of G are counters 14 Graph monoid M G given by undirected graph G = ( V , I )

  26. Monoid elements are represented by sequences of Graph monoids Nodes of G are counters G operations Monoid operation: Concatenation of representatives Congruence satisfies o o for all o 14 Graph monoid M G given by undirected graph G = ( V , I ) Operations O consisting of o + , o − for each node o ∈ V

  27. Monoid elements are represented by sequences of Graph monoids Nodes of G are counters operations Monoid operation: Concatenation of representatives Congruence satisfies o o for all o 14 Graph monoid M G given by undirected graph G = ( V , I ) Operations O consisting of o + , o − for each node o ∈ V M G = O ∗ / ∼ =

  28. Graph monoids Nodes of G are counters operations Monoid operation: Concatenation of representatives Congruence satisfies o o for all o 14 Graph monoid M G given by undirected graph G = ( V , I ) Operations O consisting of o + , o − for each node o ∈ V M G = O ∗ / ∼ = Monoid elements are represented by sequences of

  29. Graph monoids Nodes of G are counters operations Monoid operation: Concatenation of representatives Congruence satisfies o o for all o 14 Graph monoid M G given by undirected graph G = ( V , I ) Operations O consisting of o + , o − for each node o ∈ V M G = O ∗ / ∼ = Monoid elements are represented by sequences of

  30. Graph monoids Nodes of G are counters operations Monoid operation: Concatenation of representatives 14 Graph monoid M G given by undirected graph G = ( V , I ) Operations O consisting of o + , o − for each node o ∈ V M G = O ∗ / ∼ = Monoid elements are represented by sequences of = satisfies o + . o − ∼ Congruence ∼ = ε for all o

  31. called independence relation Graph monoids independent operations differently o u u commute: o and u u , then o If o storage Congruence should identify computations that order u , then o and u belong to independents part of the If o Intuition: Edge relation 14 Graph monoid M G given by undirected graph G = ( V , I ) = satisfies o + . o − ∼ Congruence ∼ = ε for all o

  32. Graph monoids independent operations differently o u u commute: o and u u , then o If o Congruence should identify computations that order storage u , then o and u belong to independents part of the If o Intuition: 14 Graph monoid M G given by undirected graph G = ( V , I ) = satisfies o + . o − ∼ Congruence ∼ = ε for all o Edge relation I called independence relation

  33. u , then o and u belong to independents part of the Graph monoids independent operations differently o u u commute: o and u u , then o If o Congruence should identify computations that order storage If o Intuition: 14 Graph monoid M G given by undirected graph G = ( V , I ) = satisfies o + . o − ∼ Congruence ∼ = ε for all o Edge relation I called independence relation

  34. Graph monoids independent operations differently o u u commute: o and u u , then o If o Congruence should identify computations that order storage Intuition: 14 Graph monoid M G given by undirected graph G = ( V , I ) = satisfies o + . o − ∼ Congruence ∼ = ε for all o Edge relation I called independence relation If o I u , then o and u belong to independents part of the

  35. Graph monoids independent operations differently o u u commute: o and u u , then o If o Congruence should identify computations that order storage Intuition: 14 Graph monoid M G given by undirected graph G = ( V , I ) = satisfies o + . o − ∼ Congruence ∼ = ε for all o Edge relation I called independence relation If o I u , then o and u belong to independents part of the

  36. Intuition: Graph monoids storage Congruence should identify computations that order independent operations differently 14 Graph monoid M G given by undirected graph G = ( V , I ) = satisfies o + . o − ∼ Congruence ∼ = ε for all o Edge relation I called independence relation If o I u , then o and u belong to independents part of the If o I u , then o ± and u ± commute: o ± . u ± ∼ = u ± . o ±

  37. a b a b G are 2-VASS Example: VASS a b b a Valence systems over still irreducible a a a b b a still valid 1 a a 15 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± where { u , o } = { a , b }

  38. a b a b G are 2-VASS Example: VASS still valid Valence systems over still irreducible a a a b b a 15 b a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± where { u , o } = { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M

  39. G are 2-VASS Example: VASS still valid Valence systems over still irreducible a a 15 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± where { u , o } = { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M a + b + a − b − ∼ = a + b + b − a − ∼ = ε

  40. G are 2-VASS Example: VASS still valid Valence systems over still irreducible 15 b a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± where { u , o } = { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M a + b + a − b − ∼ = a + b + b − a − ∼ = ε a − a +

  41. Example: VASS still valid still irreducible 15 b a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± where { u , o } = { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M a + b + a − b − ∼ = a + b + b − a − ∼ = ε a − a + Valence systems over M G are 2-VASS

  42. a b a b G are integer 2-VASS Example: integer VASS a b b a Valence systems over a a a a a b b a still valid 1 a a 16 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± ∀ u , o ∈ { a , b }

  43. a b a b G are integer 2-VASS Example: integer VASS still valid Valence systems over a a a a a b b a 16 b a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± ∀ u , o ∈ { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M

  44. G are integer 2-VASS Example: integer VASS still valid Valence systems over a a a a 16 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± ∀ u , o ∈ { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M a + b + a − b − ∼ = a + b + b − a − ∼ = ε

  45. G are integer 2-VASS Example: integer VASS still valid Valence systems over 16 a b a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± ∀ u , o ∈ { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M a + b + a − b − ∼ = a + b + b − a − ∼ = ε a − a + ∼ = a + a − ∼ = ε

  46. Example: integer VASS b still valid 16 a a + , b + , a − , b − } ∗ / ∼ { M G = = o + . o − ∼ = ε ∀ o ∈ { a , b } • • o ± . u ± ∼ = u ± . o ± ∀ u , o ∈ { a , b } a + b + b − a − ∼ = a + a − ∼ = ε = 1 M a + b + a − b − ∼ = a + b + b − a − ∼ = ε a − a + ∼ = a + a − ∼ = ε Valence systems over M G are integer 2-VASS

  47. Example: MPDS 17 • • b r b ℓ • • a r a ℓ

  48. 17 Example: MPDS • • b r b ℓ • • a r a ℓ Any m ∈ { a ℓ + , a ℓ − , . . . } ∗ can be written as m ∼ = m ↾ ℓ . m ↾ r such that m ∼ = ε iff m ↾ ℓ ∼ = ε and m ↾ r ∼ = ε

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

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

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

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

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

  54. 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

  55. 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

  56. 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

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

  58. 3. BCS for valence systems

  59. BCS for valence systems How to define BCS for valence systems over graph monoids? 20

  60. 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

  61. 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

  62. 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

  63. 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

  64. BCS for valence systems How to define BCS for valence systems over graph monoids? 21

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

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

Recommend


More recommend