Ivan Sutherland’s Turing Award Lecture (1989) DI-Algebra Controllable DI Processes

advertisement
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
Download