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

Recommend


More recommend