Revisiting: Algebraic laws for nondeterminism and concurrency
Matthew Hennessy Milner-Symposium, Edinburgh April 2012
1/29
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/29
◮ Research in late 1979
◮ Results presented at ICALP 1980
◮ Rejected for publication 1982 ◮ Rejected for publication 1983 ◮ Published in JACM 1985
2/29
◮ No Labelled Transition Systems ◮ No CCS
◮ 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/29
◮ Jean-Marie Cadiou (1972): Recursive Definitions of Partial Functions and
◮ Jean Vuillemin (1973): Proof Techniques for Recursive Programs ◮ Bruno Courcelle, Maurice Nivat (1978): The Algebraic Semantics of
◮ Irene Guessarian (1981): Algebraic Semantics
5/29
◮ Jean-Marie Cadiou (1972): Recursive Definitions of Partial Functions and
◮ Jean Vuillemin (1973): Proof Techniques for Recursive Programs ◮ Bruno Courcelle, Maurice Nivat (1978): The Algebraic Semantics of
◮ Irene Guessarian (1981): Algebraic Semantics ◮ Magmas: ordered sets with operators ◮ Ideal completions: adding limit points ◮ Initial algebra semantics
5/29
6/29
1979
◮ Reduction semantics: P −
7/29
1979
◮ Reduction semantics: P −
◮ Observational semantics: P µ
7/29
1979
◮ Reduction semantics: P −
◮ Observational semantics: P µ
◮ p ∼o q for all p, q
zero observations
◮ p ∼n+1 q if for every µ
(n + 1) observations
µ
µ
µ
µ
Transfer properties 7/29
1979
◮ Reduction semantics: P −
◮ Observational semantics: P µ
◮ p ∼o q for all p, q
zero observations
◮ p ∼n+1 q if for every µ
(n + 1) observations
µ
µ
µ
µ
Transfer properties
7/29
8/29
8/29
8/29
Milne&Milner 1979
◮ L: set of ports ◮ Uβ: output values on port β ◮ Vβ: input values on port β
9/29
10/29
finite non-deterministic machines
11/29
finite non-deterministic machines
◮
◮ p
Axioms (A): x + (y + z) = (x + y) + z x + y = y + x x + x = x x + 0 = x 11/29
finite non-deterministic machines
◮
◮ p
Axioms (A): x + (y + z) = (x + y) + z x + y = y + x x + x = x x + 0 = x
11/29
◮ 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
◮ 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
◮ 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
◮ Flowgraphs and flow algebras for static structure ◮ Synchronisation trees for dynamics
12/29
13/29
i λi.pi, q = j µj.qj. Then
13/29
◮ Parallelism: | ◮ Restriction: \λ ◮ Renaming: [S]
S a function over names
◮
◮ p
14/29
◮ Parallelism: | ◮ Restriction: \λ ◮ Renaming: [S]
S a function over names
◮
◮ p
14/29
◮ Weak observational semantics:
µ
τ
∗ µ
τ
∗ Q
◮ p ≈o q for all p, q
zero observations
◮ p ≈n+1 q if for every µ ∈ Actτ
(n + 1) observations
µ
µ
µ
µ
Weak transfer properties look: no hats 15/29
◮ Weak observational semantics:
µ
τ
∗ µ
τ
∗ Q
◮ p ≈o q for all p, q
zero observations
◮ p ≈n+1 q if for every µ ∈ Actτ
(n + 1) observations
µ
µ
µ
µ
Weak transfer properties look: no hats
15/29
◮ Problem: (∩n≥0 ≈n) is NOT preserved by operators + or |
16/29
◮ Problem: (∩n≥0 ≈n) is NOT preserved by operators + or | ◮ Result: In Σ1, p (∩n≥0 ≈n)c q iff p =WA1 q
16/29
◮ Problem: (∩n≥0 ≈n) is NOT preserved by operators + or | ◮ Result: In Σ1, p (∩n≥0 ≈n)c q iff p =WA1 q
16/29
17/29
17/29
◮ Inspired by identity in domain PL ∼
µ∈L PL )
18/29
◮ Inspired by identity in domain PL ∼
µ∈L PL ) ◮ Requires independent justification
18/29
◮ Inspired by identity in domain PL ∼
µ∈L PL ) ◮ Requires independent justification
P2
Q2
◮ can do action x ◮ can not do action x
18/29
P2
Q2
19/29
P2
Q2
19/29
◮ p |
µ
◮ p |
◮ p
requires image-finiteness
◮ p✘✘✘✘✘✘
20/29
1935 - 1990 21/29
1935 - 1990
1970 machine intelligence
requires monotonicity 21/29
1935 - 1990
1970 machine intelligence
requires monotonicity
1979
Σ∞: finite and infinite strings over Σ 21/29
Hennessy & Milner
◮ Theorem 2.1 If each Ri is image-finite then ∼ is the maximal
◮ ALNC, page 157: Now let ≈′ be the maximal solution to the
22/29
Hennessy & Milner
◮ Theorem 2.1 If each Ri is image-finite then ∼ is the maximal
◮ ALNC, page 157: Now let ≈′ be the maximal solution to the
22/29
a la David Park
µ
µ
µ
µ
◮ R ⊆ P × P is a bisimulation if B(R) ⊆ R ◮ p ∼bis q if p R q for some bisimulation R
23/29
a la David Park Robin Milner: A Calculus of Communicating Systems, LNCS 1980 24/29
a la David Park Robin Milner: A Calculus of Communicating Systems, LNCS 1980
Robin Milner: Communication and Concurrency, Prentice-Hall, 1984
◮ elegant theory ◮ lots of worked examples ◮ detailed proofs
24/29
25/29
◮ Proposed Theorem:
25/29
◮ Proposed Theorem:
◮ Question: What is ⊑ ?
25/29
◮ Proposed Theorem:
◮ Question: What is ⊑ ?
25/29
◮ A reduction semantics: P → Q ◮ Results: P ⇓ v
◮ Language syntax for contexts C[ ]
26/29
◮ A reduction semantics: P → Q ◮ Results: P ⇓ v
◮ Language syntax for contexts C[ ]
26/29
Milner, Sangiorgi 1992
27/29
Milner, Sangiorgi 1992
Honda, Yoshida 1993
27/29
Milner, Sangiorgi 1992
Honda, Yoshida 1993
◮ P →∗ P′ implies Q →∗ Q′ s.t. P′ ≅· Q′ ◮ Q →∗ Q′ implies P →∗ Q′ s.t. P′ ≅· Q′
27/29
28/29
◮ Bisimulations do not provide a behavioural theory of processes
◮ Bisimulations provide a proof methodology for demonstrating
◮ HML provide a methodology for explaining why processes are
28/29
◮ Bisimulations do not provide a behavioural theory of processes
◮ Bisimulations provide a proof methodology for demonstrating
◮ HML provide a methodology for explaining why processes are
◮ Bisimulations are very often sound w.r.t. the natural
◮ Bisimulations are sometimes complete w.r.t. the natural
◮ Formulating complete bisimulations very often sheds light
28/29
◮ Asynchronous Picalculus:
Honda, Tokoro 1991, Amadio Castellani Sangiorgi 1998
◮ Mobile Ambients:
Merro, Zappa Nardelli 1985
◮ Existential and recursive types in lambda-calculus:
Sumii, Pierce 2007
◮ Higher-order processes:
environmental bisimulations Sangiorgi, Kobayahsi, Sumii 2007
◮ Aspects in a functional language:
◮ Concurrent Probabilistic processes:
Deng, Hennessy 2011 29/29
◮ Asynchronous Picalculus:
Honda, Tokoro 1991, Amadio Castellani Sangiorgi 1998
◮ Mobile Ambients:
Merro, Zappa Nardelli 1985
◮ Existential and recursive types in lambda-calculus:
Sumii, Pierce 2007
◮ Higher-order processes:
environmental bisimulations Sangiorgi, Kobayahsi, Sumii 2007
◮ Aspects in a functional language:
◮ Concurrent Probabilistic processes:
Deng, Hennessy 2011
◮ Bigraphs:
Robin and co-workers ◮ Bigraphs: all encompassing descriptive language ◮ Recovery of LTS from reduction semantics ◮ ensuring soundness of bisimulations 29/29