reconciling semantics implementation
play

Reconciling Semantics, Implementation and Users Grard Berry INRIA - PowerPoint PPT Presentation

Reconciling Semantics, Implementation and Users Grard 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


  1. 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/

  2. My Personal Moto �������������������������� from good fortune On ����� jamais à ������ d ������������ bol G. Berry, Milner Symposium, 18/04/2012 2

  3. 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

  4. � 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

  5. � 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

  6. � 2010 : Seven Keys to the Digital Futures Informatics Forum, Edinbrrrrrrrgh Special thanks to Michael Fourman G. Berry, Milner Symposium, 18/04/2012 6

  7. Care for Users G. Berry, Milner Symposium, 18/04/2012 7

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. CSP / CCS = Rendezvous P Q R S t := 10 ; ��������������� code de ������������������� ����������� ����������� ������������ ������������ G. Berry, Milner Symposium, 18/04/2012 18

  19. Deadlock Lise and Laure G. Berry, Milner Symposium, 18/04/2012 19

  20. Starvation Lise, Manon, and Laure G. Berry, Milner Symposium, 18/04/2012 20

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. George �������� school open day, Oct. 2 nd , 2010 G. Berry, Milner Symposium, 18/04/2012 26

  27. Edinburgh is also a Synchrony City ! G. Berry, Milner Symposium, 18/04/2012 27

  28. 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

  29. 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

  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 30

  31. 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

  32. 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

  33. 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