brzozowski goes concurrent
play

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 .


  1. 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 . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 1 15

  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

  3. Introduction Kleene Algebra models program flow . abort (0) and skip (1) Thread 1 Thread 2 non-deterministic choice ( + ) x ← 1 y ← 1 sequential composition ( · ) r 1 ← y r 2 ← x indefinite repetition ( ∗ ) T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

  4. Introduction Kleene Algebra models program flow . abort (0) and skip (1) Thread 1 Thread 2 non-deterministic choice ( + ) x ← 1 y ← 1 sequential composition ( · ) r 1 ← y r 2 ← x indefinite repetition ( ∗ ) parallel composition ( � ) T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

  5. Introduction Kleene Algebra models program flow . abort (0) and skip (1) Thread 1 Thread 2 non-deterministic choice ( + ) x ← 1 y ← 1 sequential composition ( · ) r 1 ← y r 2 ← x indefinite repetition ( ∗ ) ( x ← 1 ; r 1 ← y ) � ( y ← 1 ; r 2 ← x ) parallel composition ( � ) T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 2 15

  6. Introduction Kleene theorem: automata terms operation denotation T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 3 15

  7. Introduction Existing Kleene Theorems 1 have . . . . . . non-deterministic automata . . . a semantic precondition on automata 1 Jipsen 2014; Lodaya and Weil 2000. T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 4 15

  8. Introduction Existing Kleene Theorems 1 have . . . . . . non-deterministic automata . . . a semantic precondition on automata Our Kleene Theorem has . . . . . . (sequentially) deterministic automata . . . a syntactic precondition on automata 1 Jipsen 2014; Lodaya and Weil 2000. T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 4 15

  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

  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

  11. Preliminaries b a · ( b � c ) · d = a d c T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 6 15

  12. Preliminaries � − � : T → 2 Pom Σ � 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

  13. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  14. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  15. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  16. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  17. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  18. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  19. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  20. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a ( b � cd ) T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  21. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d a ( b � cd ) e T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  22. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  23. Pomset Automata γ ( q 1 , { | q 3 , q 4 | } ) = q 2 b q 3 q 5 a e q 0 q 1 q 2 q 7 δ ( q 2 , e ) = q 7 q 4 q 6 q 8 c d T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 8 15

  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

  25. Pomset Automata Definition → → A ⊆ Q × Pom Σ × Q is the smallest relation such that → A r ′ ∈ F → A s ′ ∈ F → A q ′′ q ′′ V → A q ′ q U U s V r − → − → − → − → → A q ′ q U · V → A δ ( q , a ) a q U � V q → A γ ( q , { | r , s | } ) → − − − → − − → T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 9 15

  26. Pomset Automata Definition → → A ⊆ Q × Pom Σ × Q is the smallest relation such that → A r ′ ∈ F → A s ′ ∈ F → A q ′′ q ′′ V → A q ′ q U U s V r − → − → − → − → → A q ′ q U · V a → A δ ( q , a ) q U � V q → A γ ( q , { | r , s | } ) − → − − → − − → L A ( q ) is defined by → A q ′ ∈ F } ∪ { 1 : q ∈ F } L A ( q ) = { U : q U − → T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 9 15

  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

  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

  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

  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

  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

  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 L A Σ ( e ) . T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 10 15

  33. Expressions to Automata c b b · c ∗ c ∗ a a · ( b · c ∗ � ( d + e )) b · c ∗ � ( d + e ) 1 d , e d + e T. Kapp´ e, P . Brunet, B. Luttik, A. Silva, F. Zanasi Brzozowski Goes Concurrent CONCUR 2017 11 15

Recommend


More recommend