revisiting algebraic laws for nondeterminism and
play

Revisiting: Algebraic laws for nondeterminism and concurrency - PowerPoint PPT Presentation

Revisiting: Algebraic laws for nondeterminism and concurrency Matthew Hennessy Milner-Symposium, Edinburgh April 2012 1/29 History of a paper Algebraic laws for nondeterminism and concurrency, JACM 1985 Matthew Hennessy and Robin Milner


  1. Revisiting: Algebraic laws for nondeterminism and concurrency Matthew Hennessy Milner-Symposium, Edinburgh April 2012 1/29

  2. History of a paper Algebraic laws for nondeterminism and concurrency, JACM 1985 Matthew Hennessy and Robin Milner ◮ Research in late 1979 33 years ago ◮ Results presented at ICALP 1980 32 years ago (On Observing Nondeterminism and Concurrency) ◮ Rejected for publication 1982 ◮ Rejected for publication 1983 ◮ Published in JACM 1985 2/29

  3. Edinburgh 1979 33 years ago ◮ No Labelled Transition Systems ◮ No CCS No CSP No ACP No . . . ◮ No street lightening ◮ What happened to the sun ? ◮ Lots of mushrooms ◮ No Bisimulations ◮ When does the summer arrive? ◮ Walks on Arthurs seat ◮ Lots of parking near George Square ◮ . . . . . . ◮ . . . . . . 3/29

  4. Edinburgh 1979: Lots of denotational semantics D ∼ = [ D → D ] functions Scott, 1969 P ∼ = V → ( V × P ) transformers Milner 1971 R ∼ = P ( S ⊥ + ( P ( S ⊥ ) ⊗ R ⊥ )) S resumptions Plotkin 1976 P L ∼ � = P ( ( U β × ( V β → P L )) ) processes Milne&Milner 1979 β ∈ L 4/29

  5. Edinburgh 1979: Lots of algebraic semantics The Auld Alliance ◮ Jean-Marie Cadiou (1972): Recursive Definitions of Partial Functions and their Computations ◮ Jean Vuillemin (1973): Proof Techniques for Recursive Programs ◮ Bruno Courcelle, Maurice Nivat (1978): The Algebraic Semantics of Recursive Programme Schemes ◮ Irene Guessarian (1981): Algebraic Semantics 5/29

  6. Edinburgh 1979: Lots of algebraic semantics The Auld Alliance ◮ Jean-Marie Cadiou (1972): Recursive Definitions of Partial Functions and their Computations ◮ Jean Vuillemin (1973): Proof Techniques for Recursive Programs ◮ Bruno Courcelle, Maurice Nivat (1978): The Algebraic Semantics of Recursive Programme Schemes ◮ Irene Guessarian (1981): Algebraic Semantics ◮ Magmas: ordered sets with operators ◮ Ideal completions: adding limit points ◮ Initial algebra semantics 5/29

  7. A behavioural equivalence ICALP 1980: 6/29

  8. Observatonal equivalence 1979 ◮ Reduction semantics: P − → Q well-known 7/29

  9. Observatonal equivalence 1979 ◮ Reduction semantics: P − → Q well-known µ ◮ Observational semantics: P − → Q new to me 7/29

  10. Observatonal equivalence 1979 ◮ Reduction semantics: P − → Q well-known µ ◮ Observational semantics: P − → Q new to me Observing processes: ◮ p ∼ o q for all p , q zero observations ◮ p ∼ n +1 q if for every µ ( n + 1) observations → p ′ implies q → q ′ such that p ′ ∼ n q ′ µ µ (i) p − − → q ′ implies p → p ′ such that p ′ ∼ n q ′ µ µ (ii) q − − Transfer properties 7/29

  11. Observatonal equivalence 1979 ◮ Reduction semantics: P − → Q well-known µ ◮ Observational semantics: P − → Q new to me Observing processes: ◮ p ∼ o q for all p , q zero observations ◮ p ∼ n +1 q if for every µ ( n + 1) observations → p ′ implies q → q ′ such that p ′ ∼ n q ′ µ µ (i) p − − → q ′ implies p → p ′ such that p ′ ∼ n q ′ µ µ (ii) q − − Transfer properties Observational equivalence: p ∼ q if p ( ∩ n ≥ 0 ∼ n ) q 7/29

  12. Observing processes P 2 Q 2 a a a a a a a a b c c c c b b b 8/29

  13. Observing processes P 2 Q 2 a a a a a a a a b c c c c b b b P 2 ∼ o Q 2 P 2 ∼ 1 Q 2 P 2 ∼ 2 Q 2 P 2 � ∼ 3 Q 2 8/29

  14. Observing processes P 2 Q 2 a a a a a a a a b c c c c b b b P 2 ∼ o Q 2 P 2 ∼ 1 Q 2 P 2 ∼ 2 Q 2 P 2 � ∼ 3 Q 2 Life could get much more complicated: P n ∼ n Q n P n � ∼ ( n +1) Q n 8/29

  15. Observational equivalence: Where from? A Denotational Model Milne&Milner 1979 P L ∼ � = P ( ( U β × ( V β → P L )) ) β ∈ L ◮ L : set of ports ◮ U β : output values on port β ◮ V β : input values on port β A simplification U β = V β = 1: ∼ � P L = P ( P L ) µ ∈ L How would you compare two elements p , q from P L ? 9/29

  16. Observational equivalence: a theorem ICALP 1980: 10/29

  17. First research experiment Process language: finite non-deterministic machines p ∈ W Σ 1 ::= 0 | p + p | µ. p 11/29

  18. First research experiment Process language: finite non-deterministic machines p ∈ W Σ 1 ::= 0 | p + p | µ. p Result: ∩ n ≥ 0 ( ∼ n ) is a Σ 1 - congruence ◮ ◮ p ∩ n ≥ 0 ( ∼ n ) q iff p = A q Axioms (A): x + ( y + z ) = ( x + y ) + z x + y = y + x x + x = x x + 0 = x 11/29

  19. First research experiment Process language: finite non-deterministic machines p ∈ W Σ 1 ::= 0 | p + p | µ. p Result: ∩ n ≥ 0 ( ∼ n ) is a Σ 1 - congruence ◮ ◮ p ∩ n ≥ 0 ( ∼ n ) q iff p = A q Axioms (A): x + ( y + z ) = ( x + y ) + z x + y = y + x x + x = x x + 0 = x Denotational semantics: p ∩ n ≥ 0 ( ∼ n ) q iff � p � ( W Σ1 \ A ) = � q � ( W Σ1 \ A ) ( W Σ 1 \ A ) : Initial algebra over W Σ 1 generated by axioms A 11/29

  20. Robin had a lot of background ◮ 1973: Processes: A Mathematical model . . . ◮ 1978: Algebras for Communicating Systems ◮ 1978: Synthesis of Communicating Behaviour ◮ 1978: Flowgraphs and Flow Algebras ◮ 1979: An Algebraic Theory for Synchronisation ◮ 1979: Concurrent Processes and Their Syntax 12/29

  21. Robin had a lot of background ◮ 1973: Processes: A Mathematical model . . . ◮ 1978: Algebras for Communicating Systems ◮ 1978: Synthesis of Communicating Behaviour ◮ 1978: Flowgraphs and Flow Algebras ◮ 1979: An Algebraic Theory for Synchronisation ◮ 1979: Concurrent Processes and Their Syntax Combinators and their Laws proposed: 12/29

  22. Robin had a lot of background ◮ 1973: Processes: A Mathematical model . . . ◮ 1978: Algebras for Communicating Systems ◮ 1978: Synthesis of Communicating Behaviour ◮ 1978: Flowgraphs and Flow Algebras ◮ 1979: An Algebraic Theory for Synchronisation ◮ 1979: Concurrent Processes and Their Syntax Combinators and their Laws proposed: ◮ Flowgraphs and flow algebras for static structure ◮ Synchronisation trees for dynamics 12/29

  23. Justifying equations Flowgraphs: 13/29

  24. Justifying equations Flowgraphs: Synchronisation trees: Let p = � i λ i . p i , q = � j µ j . q j . Then � � � p | q = λ i . ( p i | q ) + µ j . ( p | q j ) + τ. ( p i | q j ) i j µ j = λ i 13/29

  25. Theorems for free Σ 2 = Σ 1 plus ◮ Parallelism: | ◮ Restriction: \ λ ◮ Renaming: [ S ] S a function over names Result: ( ∩ n ≥ 0 ∼ n ) is a Σ 2 - congruence ◮ ◮ p ( ∩ n ≥ 0 ∼ n ) q iff p = A 2 q 14/29

  26. Theorems for free Σ 2 = Σ 1 plus ◮ Parallelism: | ◮ Restriction: \ λ ◮ Renaming: [ S ] S a function over names Result: ( ∩ n ≥ 0 ∼ n ) is a Σ 2 - congruence ◮ ◮ p ( ∩ n ≥ 0 ∼ n ) q iff p = A 2 q A2 = A1 + existing axioms for | , \ λ, [ S ] 14/29

  27. Weak case: abstracting from internal activity τ ◮ Weak observational semantics: ∗ Q ∗ µ τ µ τ P = ⇒ Q meaning P − → − → − → External observations: ◮ p ≈ o q for all p , q zero observations ◮ p ≈ n +1 q if for every µ ∈ Act τ ( n + 1) observations ⇒ p ′ implies q ⇒ q ′ such that p ′ ≈ n q ′ µ µ (i) p = = ⇒ q ′ implies p ⇒ p ′ such that p ′ ≈ n q ′ µ µ (ii) q = = Weak transfer properties look: no hats 15/29

  28. Weak case: abstracting from internal activity τ ◮ Weak observational semantics: ∗ Q ∗ µ τ µ τ P = ⇒ Q meaning P − → − → − → External observations: ◮ p ≈ o q for all p , q zero observations ◮ p ≈ n +1 q if for every µ ∈ Act τ ( n + 1) observations ⇒ p ′ implies q ⇒ q ′ such that p ′ ≈ n q ′ µ µ (i) p = = ⇒ q ′ implies p ⇒ p ′ such that p ′ ≈ n q ′ µ µ (ii) q = = Weak transfer properties look: no hats Weak observational equivalence: p ≈ q if p ( ∩ n ≥ 0 ≈ n ) q 15/29

  29. Equational characterisation ◮ Problem: ( ∩ n ≥ 0 ≈ n ) is NOT preserved by operators + or | 16/29

  30. Equational characterisation ◮ Problem: ( ∩ n ≥ 0 ≈ n ) is NOT preserved by operators + or | ◮ Result: In Σ 1 , p ( ∩ n ≥ 0 ≈ n ) c q iff p = WA 1 q Axioms WA1: add to A1 the τ -axioms: x + τ. x = τ. x ✭✭✭✭✭✭✭✭✭✭✭✭✭✭ ✭ µ. ( x + τ. y ) = µ. ( x + y ) + µ. y µ.τ. y = µ. y µ. ( x + τ. y ) = µ. ( x + τ. y ) + µ. y 16/29

  31. Equational characterisation ◮ Problem: ( ∩ n ≥ 0 ≈ n ) is NOT preserved by operators + or | ◮ Result: In Σ 1 , p ( ∩ n ≥ 0 ≈ n ) c q iff p = WA 1 q Axioms WA1: add to A1 the τ -axioms: x + τ. x = τ. x ✭✭✭✭✭✭✭✭✭✭✭✭✭✭ ✭ µ. ( x + τ. y ) = µ. ( x + y ) + µ. y µ.τ. y = µ. y µ. ( x + τ. y ) = µ. ( x + τ. y ) + µ. y Where did these come from? 16/29

  32. An exercise in Behaviour Algebra notes by Robin on modelling queues 17/29

  33. An exercise in Behaviour Algebra notes by Robin on modelling queues 17/29

  34. Hennessy Milner Logic where did this come from? Observational equivalence p ( ∩ n ≥ 0 ∼ n ) q ◮ Inspired by identity in domain P L ∼ = P ( � µ ∈ L P L ) 18/29

  35. Hennessy Milner Logic where did this come from? Observational equivalence p ( ∩ n ≥ 0 ∼ n ) q ◮ Inspired by identity in domain P L ∼ = P ( � µ ∈ L P L ) ◮ Requires independent justification 18/29

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend