explicit fusions
play

Explicit Fusions Philippa Gardner, Lucian Wischik MFCS 2000, - PowerPoint PPT Presentation

Explicit Fusions Philippa Gardner, Lucian Wischik MFCS 2000, Bratislava what is an explicit fusion? void P (int &x, int &y) fun P x y = { x = x^y; ( x := !x xor !y; y = y^x; y := !y xor !x; x = x^y; x := !x xor !y } );


  1. Explicit Fusions Philippa Gardner, Lucian Wischik MFCS 2000, Bratislava

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

  3. why explicit fusions? • in real world • momentum of related work • simplify syntax • help implementation • 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 real world y x Computer Keyboard ( <x> j K ) @ ( <y> j C ) ñ <x = y> j K j C

  5. fusions and substitutions internet socket x y socket P Q <x = y> j P j Q P f y x g j Q = alternative to substitution: “explicitly record and delay the effect of the fusion” cf. Explicit Substitutions [ACCL 91] explicit fusions - distributed virtual machine for pi-calculus .

  6. related work 1 ccs pi. [MPW89] output u:<y>P u: ( x ) Q input ( ÷x ) P name-hiding P j Q f y u:<y>P j u: ( x ) Q & x g = cut-elim. as comm. conc. constraints power of int. mob . action calculi explicit fusions. [GW00] pi-I. [Sang96] fusion calculus. [VP98] u: ( y ) P; u: ( x ) Q chi calculus. [FU97] u: ( y ) P j u: ( x ) Q & ( ÷z )( P f z y g j Q f z u:<y>P; u:<x>Q x g ) = = z fresh u:<y>P j u:<x>Q & ???

  7. pi-calculus • comm. between output, input u<y>:P j u ( x ) :Q & P j Q f y x g = • mobile scope of names/channels à á ( ÷y ) j u ( x ) :P u<y> à á ñ ( ÷y ) u<y> j u ( x ) :P • dynamic creation of names/channels concretions+abstractions [Mil99] u:<y>P • syntactic change: u; u • makes a commitment • effects sorted out by @ u:<y>P j u: ( x ) Q & <y>P @ ( x ) Q

  8. related work 2 Categorical Framework Graphs Fusions Explicit Symmetric ACs [GW] Expl. Subs Fusion Systems [G00] pi-F [GW00] Equators [H95] Permutations [H] Process Graphs [Y94] Tiles [GM96]

  9. pi-F calculus • grammar • reaction relation • structural congruence (e.g. alpha conversion) labels, bisimulation • to describe interaction with environment • to compare two processes without detail of internal state embedding pi, fusion • how to encode bound inp. • results: reaction preserved, full abstraction for fusion & not pi

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

  11. pi-F reaction u:P j u:Q & P @ Q u: ( <y> j P ) j u: ( ÷x )( <x> j Q ) & ( <y> j P ) @ ( ÷x )( <x> j Q ) à á ñ ( ÷x ) <x = y> j P j Q ñ P f y x g j Q f y x g = = effect of @ is to fuse datums • use standard form: dats, fus, restrictions (“interface”) factored out • interfaces are unique up to alpha-conversion <x> @ <y> ñ <x = y> • if datums, then explicit fusions. encode lazy input ( ÷x )( u:<x> j Q ) encode bound input u: ( x ) Q

  12. struct.cong. rules for fusions ( ÷x )( x: nil ) ñ ( ÷x )( ÷y )( <x = y> j x: nil ) create fresh bound name y as alias for x ñ ( ÷x )( ÷y )( <x = y> j y: nil ) substitute y for x ñ ( ÷y )( y: nil ) remove the now-unused bound name x <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. standard presentation • reaction relation & labelled transitions bisimulation labelled transitions u u ü • “commitment” labels ! ! ! ü & ! • corresponds to ø bisimulation relation • “ P can do all the transitions that Q can, and vice versa” • bisimulation is a congruence • It equals fusion-bisimulation, but not pi-open-bisimulation

  14. pi-F labels, bisimulation u ü u u:P ! u:P j u:Q ! P @ Q P u:P ! P Bisimulation is standard, augmented for fusion contexts: a relation S is an open bisimulation iff whenever PSQ then ï P; Q have same interface (same datums, fusions, restrictions) ë 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

  15. embedding pi and fusion piF pi u:<y>P j u: ( x ) Q & P j Q f y = x g fusion u:P j u:Q ( ÷x )( u:<x>P j u:<y>Q j R ) & P @ Q & P f y x g j Q f y x g j R f y x g ã = = = • Translations straightforward. (using bound-input encoding) • Both embeddings preserve structural congruence • Pi embedding preserves reaction relation • Fusion embedding weakly preserves reaction relation (must further constrain it, with same constraint *)

  16. results pi-F bisimulation is a congruence. • proof: standard. create another LTS without struct. cong. rule P ø Q ) 8 C: C [ P ] ø C [ Q ] pi-F bisimulation equals fusion hyperequivalence • proof: fusion hyperequivalence is just pi-F bisim. without interfaces pi-F bisimulation is stronger than pi-open-bisimulation • “open” bisimulation [S96]: one that’s closed w.r.t subsitutions (or fusions) • proof: in example below, no pi context can make x=y ; but pi-F can. ( ÷xy )( u:<xy> j P )

  17. ongoing work • (replication) • implementation based on explicit fusions • lambda calculus encoding, using datums to represent lambda variables • add explicit fusions to other calculi (“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