Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Processes through the Looking Glass Reflections on an Algebra for Delay-Insensitive Circuits Mark B. Josephs WMG Digital University of Warwick 26 May 2011 Seminar, Department of Computer Science, University of Warwick 1/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Transition Signalling Delay-Insensitive (DI) Modules Origins Theory The transition-signalling conceptual framework offers the opportunity to build up complex systems by hierarchical composition from simpler pieces. Rising and falling transitions on signalling wires have the same meaning. They are called events. Seminar, Department of Computer Science, University of Warwick 2/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Transition Signalling Delay-Insensitive (DI) Modules Origins Theory Control circuits for transition signalling are built out of modules that form various logical combinations of events . . . these modules are insensitive to delay Seminar, Department of Computer Science, University of Warwick 3/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Transition Signalling Delay-Insensitive (DI) Modules Origins Theory I first became aware of transition signalling in the early 1960s when a group at Washington University in Saint Louis [. . . ] used it in the design of a set of macromodules Technical Report No. 1, Februrary 1966 Seminar, Department of Computer Science, University of Warwick c 2002 Scientific American, Inc. 4/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Transition Signalling Delay-Insensitive (DI) Modules Origins Theory The theoretical work [. . . ] in which [Charles Molnar, Washington University] collaborates with Martin Rem’s group in Eindhoven, is beginning to prove theorems about the correctness of systems designed in the transition-signalling conceptual framework. Photograph by Donna Molnar, May 1994 Seminar, Department of Computer Science, University of Warwick 5/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement DI-Algebra is a variant of Hoare’s Communicating Sequential Processes (1985) I developed it in collaboration with Udding during 1989 His 1984 PhD thesis laid the foundation for a theory of DI circuits A process describes a DI module that reacts to signal transitions It is associated with a finite set of control signals that is partitioned into an input alphabet A and an output alphabet B ⊥ describes a module that has been sent an unexpected or unsafe input Seminar, Department of Computer Science, University of Warwick 6/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement a? ; P describes a module that inputs a transition on a ∈ A (once one becomes available) and then behaves like P b! ; P describes a module that outputs a transition on b ∈ B and then behaves like P Modules are loosely coupled: a? ; a0 ? ; P = a0 ? ; a? ; P b! ; b 0 ! ; P = b 0 ! ; b! ; P Pulses cannot be reliably transmitted: a? ; a? ; P = a? ; a? ; ⊥ b! ; b! ; P = ⊥ Seminar, Department of Computer Science, University of Warwick 7/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement A guarded choice describes a module that must first select an action to perform. Any skip guard or output guard can be selected unconditionally, whereas an input guard can only be selected if that input is available. Example: [b! → P a? → Q] describes a module that must output a transition on b unless it can input one on a. The module then behaves like P or like Q, as appropriate. Seminar, Department of Computer Science, University of Warwick 8/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement Special cases: stop = [ ] P u Q = [ skip → P skip → Q ] One choice is no choice: [ a? → P ] = a? ; P [ b! → P ] = b! ; P [ skip → P ] = P Seminar, Department of Computer Science, University of Warwick 9/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement Cyclic behaviour is expressed using recursion Examples: Wa,b = a? ; b! ; Wa,b F = a? ; b! ; c! ; F J = b? ; c? ; a! ; J M = [ b? → a! ; M c? → a! ; M ] Successive approximations to P = f (P) are ⊥, f (⊥), f (f (⊥)), etc. Seminar, Department of Computer Science, University of Warwick 10/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement Initial behaviour of P, as observed by its environment: div(P) whether or not it is divergent out(P) the set of initially-possible outputs refuses(P) whether or not it can refuse to output After a transition on c ∈ A ∪ out(P) has been observed, P evolves to P/c (a? ; P)/a? = [ a? → ⊥ skip → P ] (b! ; P)/b! = P if b 6∈ out(P) Examples: out(F /a?) = {b, c} div(F /a?/b!/a?) div(M/b?/c?) Seminar, Department of Computer Science, University of Warwick 11/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Alphabets and Divergent Behaviour Prefixing Choice (1/2) Choice (2/2) Recursion Initial and Subsequent Behaviour Refinement Refinement allows one process to be substituted for another if any observation of the former is a possible observation of the latter P w Q ≡ (div(P) ⇒ div(Q)) ∧ out(P) ⊆ out(Q) ∧ (refuses(P) ⇒ refuses(Q)) ∧ (∀c : c ∈ A ∪ out(P) : P/c w Q/c) Given a module, how should its environment behave? Given a module that is to be decomposed into two submodules, one of which is known, how should the missing submodule behave? Seminar, Department of Computer Science, University of Warwick 12/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Successful interaction Controllability Reflection How do they relate to each other? Full Abstraction P ←→ Q ≡ ¬div(P) ∧ ¬div(Q) ∧ ¬(refuses(P) ∧ refuses(Q)) ∧ (∀c : c ∈ out(P) ∪ out(Q) : P/c ←→ Q/c) Examples: F ←→ 6 J F /a? ←→ J F /a? ←→ 6 M Seminar, Department of Computer Science, University of Warwick 13/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Successful interaction Controllability Reflection How do they relate to each other? Full Abstraction lP ≡ ¬div(P) ∧ (∀b : b ∈ out(P) : l(P/b!)) ∧ (refuses(P) ⇒ (∃a : a ∈ A : l(P/a?))) Theorem P 0 w P ∧ lP ⇒ lP 0 Example: Suppose L = [ a? → c! ; L b? → a? ; ⊥ ] . Then lL l(L/a?) 6 l(L/b?) Seminar, Department of Computer Science, University of Warwick 14/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Successful interaction Controllability Reflection How do they relate to each other? Full Abstraction ∼P = [ (b : b ∈ B \ out(P) : b? → ⊥) (b : b ∈ out(P) ∧ refuses(P) : b? → ∼(P/b!)) (¬refuses(P) : skip → [ (b : b ∈ out(P) : b? → ∼(P/b!)) ]) (a : a ∈ A ∧ l(P/a?) : a! → ∼(P/a?)) ] Examples: ∼Wa,b = Wb,a /b? ∼F = J/b?/c? ∼J = F /a? Seminar, Department of Computer Science, University of Warwick 15/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Successful interaction Controllability Reflection How do they relate to each other? Full Abstraction Theorem P ←→ Q ≡ lP ∧ Q w ∼P Corollary lP ∧ Q w ∼P ≡ lQ ∧ P w ∼Q Controllable processes can be ordered by w or by the converse ordering v. The corollary tells us that reflection ∼ serves both as the lower adjoint F and the upper adjoint G in a Galois connection (F , G ) between the two partially-ordered sets, i.e., F (P) v Q ≡ P w G (Q). Seminar, Department of Computer Science, University of Warwick 16/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Successful interaction Controllability Reflection How do they relate to each other? Full Abstraction Reflection ignores uncontrollable behaviour after input events. Consequently, double reflection may weaken a controllable process. Example: Suppose L = [ a? → c! ; L b? → a? ; ⊥ ] . Then ∼∼L = [ a? → c! ; L b? → ⊥ ] Theorem lP ≡ l∼P ∧ P w ∼∼P Seminar, Department of Computer Science, University of Warwick 17/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Parallel Composition Design by Factorisation If P and Q have disjoint input alphabets and disjoint output alphabets, then P || Q describes submodules connected by a wire for every signal that the processes P and Q have in common. The propagation of transitions along these wires is not observable in the composite. (c! ; P) || Q = P || (Q/c?) if c is in input alphabet of Q c! ; (P || Q) otherwise In what follows, whenever we write P || Q , we shall assume that there is no possibility of infinite chatter between P and Q. Seminar, Department of Computer Science, University of Warwick 18/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Parallel Composition Design by Factorisation Theorem l∼Q ∧ P || X w ∼∼Q ≡ l(P || ∼Q) ∧ X w ∼(P || ∼Q) Seminar, Department of Computer Science, University of Warwick 19/20 Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes Composition and Decomposition of Modules Conclusion Reflection (mirror) has been considered before in the context of DI circuits in the PhD theses of five researchers: Ebergen (1984), Dill (1989), Verhoeff (1994), Lucassen (1994) and Mallon (2000) The probem of equipping DI-Algebra with a reflection operator was posed by Lucassen We have formalised a new class of processes in DI-Algebra, the controllable processes The notion of controllability has enabled us to solve the problem and to obtain a factorisation theorem similar to Verhoeff’s Further details, proofs and worked examples can be found in M.B. Josephs and H.K. Kapoor (2007) Controllable Delay-Insensitive Processes, Fundamenta Informaticae 78(1):101-130. http://inf.lsbu.ac.uk/ccsv/josephmb/ PreprintOfFundamInfVol78No1pp101-130.pdf Seminar, Department of Computer Science, University of Warwick 20/20