explicit fusions
play

Explicit Fusions Lucian Wischik (Cambridge) Bologna, October 2000 - PowerPoint PPT Presentation

Explicit Fusions Lucian Wischik (Cambridge) Bologna, October 2000 joint work with Philippa Gardner paper in proceedings of MFCS2000 what is an explicit fusion? void P (int &x, int &y) fun P x y = { x = x+y; ( x := !x + !y; y


  1. Explicit Fusions Lucian Wischik (Cambridge) Bologna, October 2000 joint work with Philippa Gardner paper in proceedings of MFCS2000

  2. what is an “explicit fusion”? void P (int &x, int &y) fun P x y = { x = x+y; ( x := !x + !y; y = x-y; y := !x - !y; x = x-y; x := !x - !y } ); How does P behave? How does P behave in a context where x=y ? j P <x = y> We write: f y x g = ñ j P <x = y> f x ñ j P y g <x = y> =

  3. why explicit fusions? • they occur in real world • help implementation • momentum of related work • simplify syntax • can add explicit fusions to different calculi. For example: pi-F calculus • like pi but with explicit fusions • LTS, bisimulation • embeds pi, fusion calculi • full abstraction for fusion calc.

  4. fusions in hardware cout cin add1 add0 ( <cout> j A 0 ) @ ( <cin> j A 1 ) ñ <cout = cin> j A 0 j A 1 e.g. SHRM [G00]

  5. fusions in internet u v u v u v Fusion allows for asynchronous migration of code: migration can happen gradually, and is non-blocking. eg. ambients [FLS00], pi-calculus machine [in progress] “Explicitly record and delay the effect of the fusion” cf. Explicit Substitutions [ACCL 91]

  6. pi-calculus • communication between output & input u:<y>P j u: ( x ) Q & P j Q f y x g = send y rcv x Q P over u over u Q f y x g = P • dynamic creation of names/channels ( ÷y ) P j Q ñ ( ÷y )( P j Q ) • mobile scope of names/channels

  7. related work 1 pi. [MPW89] u:<y>P output u: ( x ) Q input ( ÷z ) R name-hiding Q & P j Q f y u:<y>P j u: ( x ) x g = explicit fusions. [GW00] pi-I. [Sang96] fusion calculus. [VP98] ( ÷z ) u: ( y ) P; u: ( x ) Q; R chi calculus. [FU97] ( P f z y g j Q f z ( ÷z ) u:<y>P; u:<x>Q; R ( y ) P j u: ( x ) Q & ( ÷z ) x g ) u: = = z fresh u:<y>P j u:<x>Q & ???

  8. related work 2 Categorical Framework Graphs Fusions Explicit Symmetric ACs [GW99] Expl. Subs Fusion Systems [G00] pi-F [GW00] Equators [H95] Permutations [H] Process Graphs [Y94] Term graph rewriting [GM]

  9. pi-F calculus • grammar • reaction relation • structural congruence (e.g. alpha conversion) labels, bisimulation u u ü • use CCS labels ! ! ! • “open” bisimulation • result: is a congruence embedding pi, fusion • how to encode bound inp. • result: reaction preserved. Full abstraction for fusion but not pi

  10. pi-F calculus P ::= nil empty process x:P input x:P output P j P parallel composition ( ÷x ) P name-hiding <x> datum <x = y> explicit fusion datums explicit fusion • are like concretions • denotes an equivalence relation • not commutative • finite basis • polyadic, through parallel composition • has substitutive effect <x> j <y> j P á á á <xy>P

  11. pi-F reaction u:P j u:Q & P @ Q effect of @ is to fuse datums interface ( <y> j ) j u: ( ÷x )( <x> j ) & ( <y> j ) ( ÷x )( <x> j ) u: P Q P @ Q à á ñ ( ÷x ) <x = y> j P j Q ñ P f y x g j Q f y x g = = encode bound input u: ( x ) Q encode lazy input ( ÷x )( u:<x> j Q )

  12. struct.cong. rules for fusions ( ÷x )( x: nil ) create fresh bound name y as alias for x ñ ( ÷x ) ( ÷y ) <x = y> j x: nil ) ( substitute y for x ñ ( ÷x )( ÷y )( <x = y> j : nil ) y remove the now-unused bound name x ñ ( ÷y )( y: nil ) <x = y> j <y = z> ñ <x = y> j <x = z> transitivity symmetry <x = y> ñ <y = x> reflexivity <x = x> ñ nil ! <x = y> j z:P ñ <x = y> j z: ( <x = y> j P ) <x = y> j x:P ñ <x = y> j y:P and other small-step substitutions ( ÷x )( <x = y> ) ñ nil restriction delimits scope of fusion !

  13. pi-F labels, bisimulation u ü u ! ! ! u:P P u:P j u:Q P @ Q u:P P closed w.r.t. contexts and ñ Bisimulation is standard, augmented for fusion contexts: a relation S is an open bisimulation iff whenever PSQ then ï P; Q have same (same datums, fusions, restrictions) interface ë P 1 then <x = y> j Q ! ë Q 1 and P 1 S Q 1 ï for all x; y; if <x = y> j P ! ï and vice versa To avoid the quantification, we add a fusion transition ? u = v u:P j v:Q à ! P @ Q

  14. embedding results 1 pi & P j Q f y u:<y>P j u: ( x ) Q x g = piF u:P j u:Q & P @ Q fusion ( ÷x )( u:<x>P j u:<y>Q j R ) & P f y x g j Q f y x g j R f y x g ã = = =

  15. embedding results 1b (1) Structural congruence for pi and fusion embeddings P ã ñ Q ã P ñ Q iff (2) Reaction relation for pi embedding iff P ã & Q ã P & Q (3) Reaction relation for fusion embedding. Need constraint * implies P ã & Q ã P & Q P ã & Q and R ã ñ ( ÷x 9 R; x ~ ) P & R implies ~: ( ÷x ~ ) Q

  16. fusion calculus u:<y>P u:<x>Q ( ÷x ) R standard output u x P ux:P à ! ( x ) x u P ( ÷x ) ux:P standard bound output à ! ! x = y ux:P j uy:Q P j Q interaction results in a fusion à ! ! x = y ux:P j uy:Q j R P j Q j R fusion has potentially global effect à ! P f y x g j Q f y x g j R f y 1 ( ÷x )( ux:P j uy:Q j R ) = = = x g delimit extent of fusion à !

  17. embedding results 2 u: ( <x> j P ã ) u ux P ã <x> j à ! à ! ux:P P u ( x ) x u ( ÷x ) u: ( <x> j P ã ) à ! P ã ( ÷x ) ux:P à ! P ( ÷x )( <x> j ) ü ! x = y P ã j Q ã > j P ã ) j u: ( < > j Q ã ) ux:P j uy:Q u: ( < à ! x y à ! P j Q <x = y> j

  18. embedding results 2b (1) fusion-calculus hyperequivalence coincides with pi-F bisimulation on its embedded image. • proof: take hyperequivalence, close it under all interfaces, and the result is a pi-F bisimulation. And vice versa . (2) pi-calculus open bisimulation is strictly weaker than pi-F bisimulation. • “open” bisimulation [S96] : one that’s closed w.r.t. subsitututions — or fusions • proof [VP98]: in following expression, no pi-context can make x=y ; but pi-F can: ( ÷xy )( u:<xy> j P )

  19. ongoing work • (replication) • implementation based on explicit fusions • lambda calculus encoding, using datums to represent lambda variables • use explicit fusions in other areas (“fusion systems”)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend