Reconciling Semantics, Implementation and Users Gérard Berry INRIA Sophia-Antipolis http://www-sop.inria.fr/Gerard.Berry Milner Symposium, Edinburgh, April 16-19, 2012 http://events.inf.ed.ac.uk/Milner2012/
My Personal Moto �������������������������� from good fortune On ����� jamais à ������ d ������������ bol G. Berry, Milner Symposium, 18/04/2012 2
My Priviledged Relation with Robin � 1972 : Stanford AI Lab � proving bubble sort with LCF, with Robin as a personal mentor ! � with a TV button on the terminal to watch football � � 1976 (?) : reviewing the Full Abstraction paper � and devoting 7 years of my life to the problem � 1981? : spending a week in the attic at �� Crescent � 1982 : understanding that real-time is 100% different from Powerdomains, CCS, etc => Esterel G. Berry, Milner Symposium, 18/04/2012 3
� 1983 (?) : understanding the virtues of SCCS � formalizing ��������� synchrony principle � but SCCS was too weak for describing Esterel � fortunately, ������������� SOS semantics came in ! � 1989 : Robin tells me he wants to come to Sophia for a sabbatical but I am myself going to Paris for a sabbatical ! => Robin occupies my nice office at CMA � 1989 : the CHAM paper is accepted at POPL but rejected by both referees for TCS - then accepted by the editor nevertheless � G. Berry, Milner Symposium, 18/04/2012 4
� 1991 : first Milner Lecture in Old College � 1992 : the Berry-Gonthier Esterel paper in SCP although no referee ever replied ! � 2000 : The Foundations of Esterel In Proof, Language and Interaction: Essays in Honour of Robin Milner � 2005 : Robin elected foreign associate member of Académie des sciences G. Berry, Milner Symposium, 18/04/2012 5
� 2010 : Seven Keys to the Digital Futures Informatics Forum, Edinbrrrrrrrgh Special thanks to Michael Fourman G. Berry, Milner Symposium, 18/04/2012 6
Care for Users G. Berry, Milner Symposium, 18/04/2012 7
Semantics vs. Implementation vs. users � Domain equations � why such a gap between semantics and implementation? � make semantic as trivial as implementation ! � Synchronous concurrency � symmetry or asymmetry? SCCS vs. Esterel � why my users love asymmetric broadcasting � CHAMonix � Chemical Abstract Machine � Transition rules are too intellectual, CHAM is for kids ! � Computing vs. proving � viewing circuits as semantic proof networks � proving that electrical logic is intrinsically constructive � the Hurry-Coward correspondence G. Berry, Milner Symposium, 18/04/2012 8
Scott Domain Equations � intTree � int + int � intTree � intTree � intTree � Leaf of int | { Node of int; Left of intTree; Right of intTree }; � D � int + (D � D) What is ` � ���� cpo isomorphism instead of equality ! => take fixpoints in cpo categories instead of cpos G. Berry, Milner Symposium, 18/04/2012 9
Concrete Data Structures (Kahn-Plotkin) S L R Leaf Left.S L R L R Node 2 1 Right.S Left.S.Left L R Left.S.Leaf 12 Beautiful cpo-representation theorem CDS solve domain equations using only set equality G. Berry, Milner Symposium, 18/04/2012 10
Function Spaces => Sequential Algorithms C 1 tt ff C 2 tt ff C tt ff Sor : Lor : C � C 1 ? C � C 1 ? tt � C 2 ? tt � ! tt tt � ! tt ff � C 2 ? ff � ! tt tt � ! tt ff � C 2 ? ff � ! ff tt � ! tt ff � ! ff G. Berry, Milner Symposium, 18/04/2012 11
Several Algorithms per Function C 1 tt ff C 2 tt ff C tt ff � Sor-1-2 : Sor-2-1 : C � C 1 ? C � C 2 ? tt � C 2 ? tt � C 1 ? tt � ! tt tt � ! tt ff � ! tt ff � ! tt ff � C 2 ? ff � C 1 ? tt � ! tt tt � ! tt ff � ! ff ff � ! ff G. Berry, Milner Symposium, 18/04/2012 12
Sequential Algorithms � CDS { } C ! tt ! ff C 1 ? C 2 ? { C 1 � ff } C ! tt ! ff C 2 ? { C 1 � tt } C ! tt ! ff C 2 ? { C 1 � tt,C 2 � tt } C ! tt ! ff { C 1 � tt,C 2 � ff } C ! tt ! ff � Theorem: algorithms between CDS form a CDS Corollary: domain equations still solved by equality ! G. Berry, Milner Symposium, 18/04/2012 13
Parametrized Domain Equations ��� Tree � Leaf of ��� | { Node of �� ; Left of intTree; Right of intTree}; �� D � �� + ( �� D ���� D ) Semantics (Plotkin-Smyth) : Much fancier category theory Type checking : more clever (Milner) Implementation: still nothing to do ! G. Berry, Milner Symposium, 18/04/2012 14
Why do you need aspirin + ibuprofen + paracetamol to make the semantics while there is no need for any code ? CDS: because solution is by equality, not isomorphism! => standard pointer manipulation ( �� naming) G. Berry, Milner Symposium, 18/04/2012 15
Science is sooooo conservative � CDS led me to redefine a � -calculus model as a CCC � Synchronously, 3 papers proposed � -models notions � Hindley-Longo � Barendregt � Meyer � They turned out to be equivalent � So I lost 3 to 1 ! � ������������������������������� G. Berry, Milner Symposium, 18/04/2012 16
The Darwin Sieve: p, kp � p 7 7 9 3 7 2 7 4 28 Banâtre - Le Métayer : GAMMA Berry - Boudol : CHAM G. Berry, Milner Symposium, 18/04/2012 17
CSP / CCS = Rendezvous P Q R S t := 10 ; ��������������� code de ������������������� ����������� ����������� ������������ ������������ G. Berry, Milner Symposium, 18/04/2012 18
Deadlock Lise and Laure G. Berry, Milner Symposium, 18/04/2012 19
Starvation Lise, Manon, and Laure G. Berry, Milner Symposium, 18/04/2012 20
Information Propagation by Vibration Nothing can illustrate vibration better than Bianca Castafiore, Hergé's famous prima donna. See [1] for details. The power of her voice forcibly shakes the microphone and the ears of the poor spectators. [1] King's Ottokar Sceptre, Hergé, page 29, last drawing. Sound, light, electrons, program counter, etc. G. Berry, Milner Symposium, 18/04/2012 21
SCCS as a model ? � Actions form a free group � 1, a, b, ab, a -1 � aa -1 � 1 � abcd -1 � Parallel composition is product � But not sufficient for Esterel! � X := 0; X:= X+1; � at the same time, in the right order! G. Berry, Milner Symposium, 18/04/2012 22
Triggering vs. Preemption � CCS / SCCS: a.P � start P when a occurs � Esterel : abort P when a � stop P when a occurs Hard and unnatural to specify in SCCS ! � SOS = SuperGordon to the rescue G. Berry, Milner Symposium, 18/04/2012 23
Newtonian Mechanics � Automatic 0-Delay Attraction Combination SCCS: free combination Esterel: vector addition Concurrency + Determinism Calculations are feasible G. Berry, Milner Symposium, 18/04/2012 24
Zero Delay and Full Abstraction Bianca Castafiore singing for the King Muskar XII in Klow, Syldavia. King's Ottokar Sceptre, page 38, first drawing. Although the speed of sounds is finite, it is fast enough to look infinite. Full abstraction! If room is small enough, predictable delay implements zero-delay Specify with zero-delay Implement with predictable delay Control room size G. Berry, Milner Symposium, 18/04/2012 25
George �������� school open day, Oct. 2 nd , 2010 G. Berry, Milner Symposium, 18/04/2012 26
Edinburgh is also a Synchrony City ! G. Berry, Milner Symposium, 18/04/2012 27
The ABRO Example Emit O as soon as A and B have arrived Reset behavior each time R is received Memory write R / R : Request R / A : Address A / B / B : Data R / O : Write A B / O R / B / O A / O G. Berry, Milner Symposium, 18/04/2012 28
Esterel � Linear Specification R / loop loop loop R / abort abort abort A / B / { await A || await B }; { await A || await B }; { await A || await B }; R / emit O ; emit O ; emit O ; A B / O halt halt halt when R; when R when R; B / O A / O end loop end loop end loop R / G. Berry, Milner Symposium, 18/04/2012 29
The Hierarchical ABRO Circuit loop abort { await A || await B }; emit O ; halt when R end loop G. Berry, Milner Symposium, 18/04/2012 30
The Hierarchical ABRO Circuit loop abort { await A || await B }; emit O ; halt when R end loop G. Berry, Milner Symposium, 18/04/2012 31
Electicity is Constructive Hamlet : ToBe � ToBe or not ToBe ToBe Electrically stabilizes to for some gate and wire delays but not for all delays G. Berry, Milner Symposium, 18/04/2012 32
Question : When does a cyclic circuit stabilize for all gate and wire delays? Theorem: if and only if equations can be solved using only Constructive Boolean Logic ������������������������������������ (Mendler, Shiple, and Berry, FMCS April 2012) G. Berry, Milner Symposium, 18/04/2012 33
Recommend
More recommend