global types with internal delegation and connecting
play

Global Types with Internal Delegation and Connecting Communications - PowerPoint PPT Presentation

Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global Types with Internal Delegation and Connecting Communications joint work with Ilaria Castellani, Paola Giannini and Ross Horne Nobuko meeting


  1. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Processes λ Λ ranges over λ and ↔ ::= Σ i ∈ I p i ?Λ i ; P i | ⊕ i ∈ I p i !Λ i ; P i P | p ◦� �• ; P | ◦� �• p; P | •� �◦ q; P | q •� �◦ ; P | | | µ X . P X 0 internal and external choices must not be ambiguous 8 / 26

  2. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Processes λ Λ ranges over λ and ↔ ::= Σ i ∈ I p i ?Λ i ; P i | ⊕ i ∈ I p i !Λ i ; P i P | p ◦� �• ; P | ◦� �• p; P | •� �◦ q; P | q •� �◦ ; P | | | µ X . P X 0 internal and external choices must not be ambiguous 8 / 26

  3. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Processes λ Λ ranges over λ and ↔ ::= Σ i ∈ I p i ?Λ i ; P i | ⊕ i ∈ I p i !Λ i ; P i P | p ◦� �• ; P | ◦� �• p; P | •� �◦ q; P | q •� �◦ ; P | | | µ X . P X 0 internal and external choices must not be ambiguous price A ? title ; A ! price ; ( A ? ok ; B ! ↔ ; ◦� �• B ; B •� �◦ ; A ! date + A ? ko ) 8 / 26

  4. ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Networks A [ [ C ! card ; C ? date ] ] � C [ [ ◦� �• B ; B •� �◦ ; A ! date ] ] � B [ [ C ◦� �• ; A ? card ; •� �◦ C ] ] 9 / 26

  5. ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Networks A [ [ C ! card ; C ? date ] ] � C [ [ ◦� �• B ; B •� �◦ ; A ! date ] ] � B [ [ C ◦� �• ; A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ! card ; C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ A ? card ; •� �◦ C ] ] 9 / 26

  6. ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Networks A [ [ C ! card ; C ? date ] ] � C [ [ ◦� �• B ; B •� �◦ ; A ! date ] ] � B [ [ C ◦� �• ; A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ! card ; C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ •� �◦ C ] ] 9 / 26

  7. ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Networks A [ [ C ! card ; C ? date ] ] � C [ [ ◦� �• B ; B •� �◦ ; A ! date ] ] � B [ [ C ◦� �• ; A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ! card ; C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ •� �◦ C ] ] ⇓ A [ [ C ? date ] ] � C [ [ A ! date ] ] � B [ [ 0 ] ] 9 / 26

  8. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Networks A [ [ C ! card ; C ? date ] ] � C [ [ ◦� �• B ; B •� �◦ ; A ! date ] ] � B [ [ C ◦� �• ; A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ! card ; C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ A ? card ; •� �◦ C ] ] ⇓ � A [ [ C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ •� �◦ C ] ] ⇓ A [ [ C ? date ] ] � C [ [ A ! date ] ] � B [ [ 0 ] ] � ::= p[ [ P ] ] | p[ [ P ] ] | ◆ � ◆ ◆ 9 / 26

  9. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Operational Semantics p j ?Λ j Σ i ∈ I p i ?Λ i ; P i − − − → P j j ∈ I [ExtCh] 10 / 26

  10. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Operational Semantics p j ?Λ j Σ i ∈ I p i ?Λ i ; P i − − − → P j j ∈ I [ExtCh] p j !Λ j ⊕ i ∈ I p i !Λ i ; P i − − − → P j j ∈ I [IntCh] 10 / 26

  11. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Operational Semantics q!Λ p?Λ → P ′ Q → Q ′ − − − − P [Com] pΛq [ P ′ ] [ Q ′ ] p[ [ P ] ] � q[ [ Q ] ] − − → p[ ] � q[ ] 10 / 26

  12. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Operational Semantics q!Λ p?Λ → P ′ Q → Q ′ − − − − P [Com] pΛq [ P ′ ] [ Q ′ ] p[ [ P ] ] � q[ [ Q ] ] − − → p[ ] � q[ ] p ◦� �• q → � p[ [ ◦� �• q; P ] ] � q[ [ p ◦� �• ; Q ] ] − − − p[ [ P ] ] � p[ [ Q ] ] [BDel] 10 / 26

  13. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Operational Semantics q!Λ p?Λ → P ′ Q → Q ′ − − − − P [Com] pΛq [ P ′ ] [ Q ′ ] p[ [ P ] ] � q[ [ Q ] ] − − → p[ ] � q[ ] p ◦� �• q → � p[ [ ◦� �• q; P ] ] � q[ [ p ◦� �• ; Q ] ] − − − p[ [ P ] ] � p[ [ Q ] ] [BDel] � q •� �◦ p p[ [ q •� �◦ ; P ] ] � p[ [ •� �◦ p; Q ] ] − − − → p[ [ P ] ] � q[ [ Q ] ] [EDel] 10 / 26

  14. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Operational Semantics q!Λ p?Λ → P ′ Q → Q ′ P − − − − [Com] pΛq [ P ′ ] [ Q ′ ] p[ [ P ] ] � q[ [ Q ] ] − − → p[ ] � q[ ] → � p ◦� �• q p[ [ ◦� �• q; P ] ] � q[ [ p ◦� �• ; Q ] ] − − − p[ [ P ] ] � p[ [ Q ] ] [BDel] � q •� �◦ p p[ [ q •� �◦ ; P ] ] � p[ [ •� �◦ p; Q ] ] − − − → p[ [ P ] ] � q[ [ Q ] ] [EDel] φ → ◆ ′ − ◆ [Ct] → ◆ ′ � ◆ ′′ ◆ � ◆ ′′ φ − φ ranges over pΛq, p ◦� �• q, q •� �◦ p 10 / 26

  15. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes a process offering more inputs and less outputs is better 11 / 26

  16. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes a process offering more inputs and less outputs is better [Sub-In] [Sub-Out] ∀ i ∈ I : P i ≤ Q i ∀ i ∈ I : P i ≤ Q i = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Σ i ∈ I ∪ J p i ?Λ i ; P i ≤ Σ i ∈ I p i ?Λ i ; Q i ⊕ i ∈ I p i !Λ i ; P i ≤ ⊕ i ∈ I ∪ J p i !Λ i ; Q i 11 / 26

  17. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes [Sub-In] [Sub-Out] ∀ i ∈ I : P i ≤ Q i ∀ i ∈ I : P i ≤ Q i = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Σ i ∈ I ∪ J p i ?Λ i ; P i ≤ Σ i ∈ I p i ?Λ i ; Q i ⊕ i ∈ I p i !Λ i ; P i ≤ ⊕ i ∈ I ∪ J p i !Λ i ; Q i connecting communications are better than 0 11 / 26

  18. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes [Sub-In] [Sub-Out] ∀ i ∈ I : P i ≤ Q i ∀ i ∈ I : P i ≤ Q i = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Σ i ∈ I ∪ J p i ?Λ i ; P i ≤ Σ i ∈ I p i ?Λ i ; Q i ⊕ i ∈ I p i !Λ i ; P i ≤ ⊕ i ∈ I ∪ J p i !Λ i ; Q i connecting communications are better than 0 [Sub-In-Skip] λ i Σ i ∈ I p i ? ↔ ; P i ≤ 0 11 / 26

  19. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes [Sub-In] [Sub-Out] ∀ i ∈ I : P i ≤ Q i ∀ i ∈ I : P i ≤ Q i = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Σ i ∈ I ∪ J p i ?Λ i ; P i ≤ Σ i ∈ I p i ?Λ i ; Q i ⊕ i ∈ I p i !Λ i ; P i ≤ ⊕ i ∈ I ∪ J p i !Λ i ; Q i [Sub-In-Skip] λ i Σ i ∈ I p i ? ↔ ; P i ≤ 0 δ ranges over p ◦� �• ◦� �• q q •� �◦ •� �◦ p 11 / 26

  20. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes [Sub-In] [Sub-Out] ∀ i ∈ I : P i ≤ Q i ∀ i ∈ I : P i ≤ Q i = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Σ i ∈ I ∪ J p i ?Λ i ; P i ≤ Σ i ∈ I p i ?Λ i ; Q i ⊕ i ∈ I p i !Λ i ; P i ≤ ⊕ i ∈ I ∪ J p i !Λ i ; Q i [Sub-In-Skip] λ i Σ i ∈ I p i ? ↔ ; P i ≤ 0 δ ranges over p ◦� �• ◦� �• q q •� �◦ •� �◦ p [Sub-Del] P ≤ Q δ ; P ≤ δ ; Q 11 / 26

  21. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Partial Order on Processes [Sub-In] [Sub-Out] ∀ i ∈ I : P i ≤ Q i ∀ i ∈ I : P i ≤ Q i = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Σ i ∈ I ∪ J p i ?Λ i ; P i ≤ Σ i ∈ I p i ?Λ i ; Q i ⊕ i ∈ I p i !Λ i ; P i ≤ ⊕ i ∈ I ∪ J p i !Λ i ; Q i [Sub-In-Skip] λ i ↔ ; P i ≤ 0 Σ i ∈ I p i ? [Sub-Del] [Sub- 0 ] P ≤ Q 0 ≤ 0 δ ; P ≤ δ ; Q 11 / 26

  22. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types title − − − − → C ; A price − − − − → A ; C ok − − → C ; ( A price ↔ − − − → B ; C C ◦� �• B ; card − − − → C ; A B •� �◦ C ; date − − − → A ; End C ⊞ ko − − → C ; End ) A 12 / 26

  23. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types title − − − − → C ; A price − − − − → A ; C ok − − → C ; ( A price ↔ G ::= ⊞ i ∈ I pΛ i q i ; G i − − − → B ; C C ◦� �• B ; | p ◦� �• q; G | q •� �◦ p; G card | µ t . G | t | End − − − → C ; A B •� �◦ C ; date − − − → A ; End C ⊞ ko − − → C ; End ) A 12 / 26

  24. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types title − − − − → C ; A price − − − − → A ; C ok G ::= ⊞ i ∈ I pΛ i q i ; G i − − → C ; ( A | p ◦� �• q; G | q •� �◦ p; G price ↔ − − − → B ; C | µ t . G | t | End C ◦� �• B ; card − − − → C ; A no ambiguity of choices between B •� �◦ C ; all simple or all connecting date − − − → A ; End communications C ⊞ ko − − → C ; End ) A 12 / 26

  25. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types title − − − − → C ; A G ::= ⊞ i ∈ I pΛ i q i ; G i price − − − − → A ; C | p ◦� �• q; G | q •� �◦ p; G ok − − → C ; ( A | µ t . G | t | End price ↔ − − − → B ; C no ambiguity of choices between C ◦� �• B ; all simple or all connecting card − − − → C ; A communications B •� �◦ C ; each occurrence of p ◦� �• q is date − − − → A ; End C followed by an occurrence of ⊞ q •� �◦ p ko − − → C ; End ) A 12 / 26

  26. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types G ::= ⊞ i ∈ I pΛ i q i ; G i title − − − − → C ; A | p ◦� �• q; G | q •� �◦ p; G price − − − − → A ; C | µ t . G | t | End ok ( − − → C ; A no ambiguity of choices between price ↔ − − − → B ; C all simple or all connecting C ◦� �• B ; communications card − − − → C ; A each occurrence of p ◦� �• q is B •� �◦ C ; followed by an occurrence of date − − − → A ; End C q •� �◦ p ⊞ ko no atomic interaction involving q − − → C ; End ) A occurs between p ◦� �• q and q •� �◦ p 12 / 26

  27. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types G ::= ⊞ i ∈ I pΛ i q i ; G i | p ◦� �• q; G | q •� �◦ p; G title − − − − → C ; A | µ t . G | t | End price − − − − → A ; C no ambiguity of choices between ok ( − − → C ; A all simple or all connecting price ↔ − − − → B ; C communications C ◦� �• B ; each occurrence of p ◦� �• q is card − − − → C ; A followed by an occurrence of B •� �◦ C ; q •� �◦ p date − − − → A ; End C no atomic interaction involving q ⊞ occurs between p ◦� �• q and q •� �◦ p ko − − → C ; End ) A no choice occurs between p ◦� �• q and q •� �◦ p 12 / 26

  28. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Global types G ::= ⊞ i ∈ I pΛ i q i ; G i | p ◦� �• q; G | q •� �◦ p; G | µ t . G | t | End title − − − − → C ; A no ambiguity of choices between price − − − − → A ; C all simple or all connecting ok ( − − → C ; A communications price ↔ − − − → B ; C each occurrence of p ◦� �• q is C ◦� �• B ; followed by an occurrence of card − − − → C ; A q •� �◦ p B •� �◦ C ; no atomic interaction involving q date − − − → A ; End C occurs between p ◦� �• q and q •� �◦ p ⊞ no choice occurs between p ◦� �• q ko − − → C ; End ) A and q •� �◦ p no delegation involving p occurs between p ◦� �• q and q •� �◦ p 12 / 26

  29. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Projection: Example title − − − − → C ; A price − − − − → A ; C ok ( A − − → C ; price ↔ − − − → B ; C C ◦� �• B ; card − − − → C ; A B •� �◦ C ; date − − − → A ; End C ⊞ ko − − → C ; End ) A 13 / 26

  30. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Projection: Example title − − − − → C ; A A ? title ; price − − − − → A ; C A ! price ; ok ( A − − → C ; ( A ? ok ; price price ↔ B ! ↔ ; − − − → B ; C ◦� �• B ; C ◦� �• B ; card − − − → C ; A B •� �◦ ; B •� �◦ C ; A ! date ; date − − − → A ; End C + ⊞ A ? ko ) ko − − → C ; End ) A 13 / 26

  31. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Projection: Example title − − − − → C ; A A ? title ; price − − − − → A ; C A ! price ; ok ( A − − → C ; ( A ? ok ; price price ↔ B ! ↔ ; − − − → B ; C C ◦� �• ; ◦� �• B ; C ◦� �• B ; A ? card ; card − − − → C ; A •� �◦ C B •� �◦ ; B •� �◦ C ; A ! date ; date − − − → A ; End C + ⊞ A ? ko ) ko − − → C ; End ) A 13 / 26

  32. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection Meet 14 / 26

  33. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection Meet (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i + p?Λ; P 14 / 26

  34. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection Meet (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i + p?Λ; P (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i if p = p j and Λ = Λ j and P = P j for some j ∈ I 14 / 26

  35. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection Meet (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i + p?Λ; P (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i if p = p j and Λ = Λ j and P = P j for some j ∈ I ↔ ; P i ) � 0 = Σ i ∈ I p i ? λ i λ i (Σ i ∈ I p i ? ↔ ; P i 14 / 26

  36. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection Meet (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i + p?Λ; P (Σ i ∈ I p i ?Λ i ; P i ) � p?Λ; P = Σ i ∈ I p i ?Λ i ; P i if p = p j and Λ = Λ j and P = P j for some j ∈ I ↔ ; P i ) � 0 = Σ i ∈ I p i ? λ i λ i (Σ i ∈ I p i ? ↔ ; P i 0 � 0 = 0 14 / 26

  37. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  G ↾ r if r �∈ { p , q }  14 / 26

  38. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  if r �∈ { p , q } G ↾ r  � ⊕ i ∈ I ( pΛ i q i ; G i ) ↾ r if r = p ( ⊞ i ∈ I pΛ i q i ; G i ) ↾ r = where | I | > 1 � i ∈ I ( pΛ i q i ; G i ) ↾ r otherwise 14 / 26

  39. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  if r �∈ { p , q } G ↾ r  � ⊕ i ∈ I ( pΛ i q i ; G i ) ↾ r if r = p ( ⊞ i ∈ I pΛ i q i ; G i ) ↾ r = where | I | > 1 � i ∈ I ( pΛ i q i ; G i ) ↾ r otherwise  G ↾ p if t does not occur in G   ( µ t . G) ↾ p = if p ∈ part(G) µ t . G ↾ p  0 otherwise  14 / 26

  40. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  if r �∈ { p , q } G ↾ r  � ⊕ i ∈ I ( pΛ i q i ; G i ) ↾ r if r = p ( ⊞ i ∈ I pΛ i q i ; G i ) ↾ r = where | I | > 1 � i ∈ I ( pΛ i q i ; G i ) ↾ r otherwise  G ↾ p if t does not occur in G   ( µ t . G) ↾ p = if p ∈ part(G) t ↾ p = t µ t . G ↾ p  0 otherwise  14 / 26

  41. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  if r �∈ { p , q } G ↾ r  � ⊕ i ∈ I ( pΛ i q i ; G i ) ↾ r if r = p ( ⊞ i ∈ I pΛ i q i ; G i ) ↾ r = where | I | > 1 � i ∈ I ( pΛ i q i ; G i ) ↾ r otherwise  G ↾ p if t does not occur in G   ( µ t . G) ↾ p = if p ∈ part(G) t ↾ p = t End ↾ p = 0 µ t . G ↾ p  0 otherwise  14 / 26

  42. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  G ↾ r if r �∈ { p , q }  � ⊕ i ∈ I ( pΛ i q i ; G i ) ↾ r if r = p ( ⊞ i ∈ I pΛ i q i ; G i ) ↾ r = where | I | > 1 � i ∈ I ( pΛ i q i ; G i ) ↾ r otherwise  G ↾ p if t does not occur in G   ( µ t . G) ↾ p = if p ∈ part(G) t ↾ p = t End ↾ p = 0 µ t . G ↾ p  0 otherwise   ◦� �• q; G ↾ 1 (p , q) if r = p   (p ◦� �• q; G) ↾ r = p ◦� �• ; G ↾ 2 (p , q) if r = q  G ↾ r otherwise  14 / 26

  43. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection  q!Λ; G ↾ p if r = p   ( pΛq; G ) ↾ r = p?Λ; G ↾ q if r = q  G ↾ r if r �∈ { p , q }  � ⊕ i ∈ I ( pΛ i q i ; G i ) ↾ r if r = p where | I | > 1 ( ⊞ i ∈ I pΛ i q i ; G i ) ↾ r = � i ∈ I ( pΛ i q i ; G i ) ↾ r otherwise  G ↾ p if t does not occur in G   ( µ t . G) ↾ p = µ t . G ↾ p if p ∈ part(G) t ↾ p = t End ↾ p = 0  otherwise 0   ◦� �• q; G ↾ 1 (p , q) if r = p   (p ◦� �• q; G) ↾ r = p ◦� �• ; G ↾ 2 (p , q) if r = q  G ↾ r otherwise  (q •� �◦ p; G) ↾ r = G ↾ r if r �∈ { p , q } 14 / 26

  44. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Delegation Projection  s!Λ; G ↾ 2 (p , q) if r = p and s � = q   ( rΛs; G ) ↾ 2 (p , q) = r?Λ; G ↾ 2 (p , q) if s = p and r � = q  G ↾ 2 (p , q) if { r , s } ∩ { p , q } = ∅  15 / 26

  45. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Delegation Projection  s!Λ; G ↾ 2 (p , q) if r = p and s � = q   ( rΛs; G ) ↾ 2 (p , q) = r?Λ; G ↾ 2 (p , q) if s = p and r � = q  G ↾ 2 (p , q) if { r , s } ∩ { p , q } = ∅  ( rΛs; G ) ↾ 1 (p , q) = G ↾ 1 (p , q) if r � = q and s � = q 15 / 26

  46. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Delegation Projection  s!Λ; G ↾ 2 (p , q) if r = p and s � = q   ( rΛs; G ) ↾ 2 (p , q) = r?Λ; G ↾ 2 (p , q) if s = p and r � = q  G ↾ 2 (p , q) if { r , s } ∩ { p , q } = ∅  ( rΛs; G ) ↾ 1 (p , q) = G ↾ 1 (p , q) if r � = q and s � = q (q •� �◦ p; G) ↾ 1 (p , q) = q •� �◦ ; G ↾ p (q •� �◦ p; G) ↾ 2 (p , q) = •� �◦ p; G ↾ q 15 / 26

  47. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Delegation Projection  s!Λ; G ↾ 2 (p , q) if r = p and s � = q   ( rΛs; G ) ↾ 2 (p , q) = r?Λ; G ↾ 2 (p , q) if s = p and r � = q  G ↾ 2 (p , q) if { r , s } ∩ { p , q } = ∅  ( rΛs; G ) ↾ 1 (p , q) = G ↾ 1 (p , q) if r � = q and s � = q (q •� �◦ p; G) ↾ 1 (p , q) = q •� �◦ ; G ↾ p (q •� �◦ p; G) ↾ 2 (p , q) = •� �◦ p; G ↾ q (r ◦� �• s; G) ↾ 1 (p , q) = (r •� �◦ s; G) ↾ 1 (p , q) = G ↾ 1 (p , q) if { r , s } ∩ { p , q } = ∅ 15 / 26

  48. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Delegation Projection  s!Λ; G ↾ 2 (p , q) if r = p and s � = q   ( rΛs; G ) ↾ 2 (p , q) = r?Λ; G ↾ 2 (p , q) if s = p and r � = q  G ↾ 2 (p , q) if { r , s } ∩ { p , q } = ∅  ( rΛs; G ) ↾ 1 (p , q) = G ↾ 1 (p , q) if r � = q and s � = q (q •� �◦ p; G) ↾ 1 (p , q) = q •� �◦ ; G ↾ p (q •� �◦ p; G) ↾ 2 (p , q) = •� �◦ p; G ↾ q (r ◦� �• s; G) ↾ 1 (p , q) = (r •� �◦ s; G) ↾ 1 (p , q) = G ↾ 1 (p , q) if { r , s } ∩ { p , q } = ∅ (r ◦� �• s; G) ↾ 2 (p , q) = (r •� �◦ s; G) ↾ 2 (p , q) = G ↾ 2 (p , q) if { r , s } ∩ { p , q } = ∅ 15 / 26

  49. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Typing Rule q i •� �◦ ; P i ≤ G ↾ 1 (p i , q i ) ( i ∈ I ) Q i ≤ G ↾ 2 (p i , q i ) ( i ∈ I ) R j ≤ G ↾ r j ( j ∈ J ) part(G) ⊆ { p i | i ∈ I } ∪ { q i | i ∈ I } ∪ { r j | j ∈ J } all participants distinct � ⊢ Π i ∈ I p i [ [ q i •� �◦ ; P i ] ] � Π i ∈ I p i [ [ Q i ] ] � Π j ∈ J r j [ [ R j ] ] : G 16 / 26

  50. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Typing Rule q i •� �◦ ; P i ≤ G ↾ 1 (p i , q i ) ( i ∈ I ) Q i ≤ G ↾ 2 (p i , q i ) ( i ∈ I ) R j ≤ G ↾ r j ( j ∈ J ) part(G) ⊆ { p i | i ∈ I } ∪ { q i | i ∈ I } ∪ { r j | j ∈ J } all participants distinct � ⊢ Π i ∈ I p i [ [ q i •� �◦ ; P i ] ] � Π i ∈ I p i [ [ Q i ] ] � Π j ∈ J r j [ [ R j ] ] : G � A [ [ C ! card ; C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ A ? card ; •� �◦ C ] ] 16 / 26

  51. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Typing Rule q i •� �◦ ; P i ≤ G ↾ 1 (p i , q i ) ( i ∈ I ) Q i ≤ G ↾ 2 (p i , q i ) ( i ∈ I ) R j ≤ G ↾ r j ( j ∈ J ) part(G) ⊆ { p i | i ∈ I } ∪ { q i | i ∈ I } ∪ { r j | j ∈ J } all participants distinct � ⊢ Π i ∈ I p i [ [ q i •� �◦ ; P i ] ] � Π i ∈ I p i [ [ Q i ] ] � Π j ∈ J r j [ [ R j ] ] : G � A [ [ C ! card ; C ? date ] ] � C [ [ B •� �◦ ; A ! date ] ] � C [ [ A ? card ; •� �◦ C ] ] card − − − → C ; A B •� �◦ C ; date − − − → A ; End C 16 / 26

  52. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Subject Reduction → ◆ ′ , then ⊢ ◆ ′ : G ′ for φ If ⊢ ◆ : G and ◆ − some G ′ . 17 / 26

  53. ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Session Fidelity pΛq → ◆ ′ , then If ⊢ ◆ : G and ◆ − − G = φ 1 ; . . . ; φ n ; ( ⊞ i ∈ I pΛ i q i ; G i ⊞ pΛq; G ′ ), where φ j for 1 ≤ j ≤ n is an atomic interaction not involving p and q. 18 / 26

  54. ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Session Fidelity pΛq → ◆ ′ , then If ⊢ ◆ : G and ◆ − − G = φ 1 ; . . . ; φ n ; ( ⊞ i ∈ I pΛ i q i ; G i ⊞ pΛq; G ′ ), where φ j for 1 ≤ j ≤ n is an atomic interaction not involving p and q. p ◦� �• q → ◆ ′ , then G = φ 1 ; . . . ; φ n ; p ◦� �• q; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. 18 / 26

  55. ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Session Fidelity pΛq → ◆ ′ , then If ⊢ ◆ : G and ◆ − − G = φ 1 ; . . . ; φ n ; ( ⊞ i ∈ I pΛ i q i ; G i ⊞ pΛq; G ′ ), where φ j for 1 ≤ j ≤ n is an atomic interaction not involving p and q. p ◦� �• q → ◆ ′ , then G = φ 1 ; . . . ; φ n ; p ◦� �• q; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. q •� �◦ p → ◆ ′ , then G = φ 1 ; . . . ; φ n ; q •� �◦ p; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. 18 / 26

  56. ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Session Fidelity pΛq → ◆ ′ , then If ⊢ ◆ : G and ◆ − − G = φ 1 ; . . . ; φ n ; ( ⊞ i ∈ I pΛ i q i ; G i ⊞ pΛq; G ′ ), where φ j for 1 ≤ j ≤ n is an atomic interaction not involving p and q. p ◦� �• q → ◆ ′ , then G = φ 1 ; . . . ; φ n ; p ◦� �• q; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. q •� �◦ p → ◆ ′ , then G = φ 1 ; . . . ; φ n ; q •� �◦ p; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. If ⊢ ◆ : ⊞ i ∈ I pΛ i q i ; G i , then ◆ = p[ [ ⊕ i ∈ I ′ q i !Λ i ; P i ] ] � ◆ 0 with I ′ ⊆ I and ◆ pΛ i q i → ◆ i and ⊢ ◆ i : G i for all i ∈ I ′ . − − − 18 / 26

  57. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Session Fidelity pΛq → ◆ ′ , then If ⊢ ◆ : G and ◆ − − G = φ 1 ; . . . ; φ n ; ( ⊞ i ∈ I pΛ i q i ; G i ⊞ pΛq; G ′ ), where φ j for 1 ≤ j ≤ n is an atomic interaction not involving p and q. p ◦� �• q → ◆ ′ , then G = φ 1 ; . . . ; φ n ; p ◦� �• q; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. q •� �◦ p → ◆ ′ , then G = φ 1 ; . . . ; φ n ; q •� �◦ p; G ′ , If ⊢ ◆ : G and ◆ − − − where φ i for 1 ≤ i ≤ n is an atomic interaction not involving p and q. If ⊢ ◆ : ⊞ i ∈ I pΛ i q i ; G i , then ◆ = p[ [ ⊕ i ∈ I ′ q i !Λ i ; P i ] ] � ◆ 0 with I ′ ⊆ I and ◆ pΛ i q i → ◆ i and ⊢ ◆ i : G i for all i ∈ I ′ . − − − → ◆ ′ and ⊢ ◆ ′ : G. φ If ⊢ ◆ : φ ; G, then ◆ − 18 / 26

  58. ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Strong Progress → − → ◆ ′ for some − → φ pΛ i q i If ◆ = p[ [ ⊕ i ∈ I q i !Λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for all i ∈ I . 19 / 26

  59. ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Strong Progress − → → ◆ ′ for some − → φ pΛ i q i If ◆ = p[ [ ⊕ i ∈ I q i !Λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for all i ∈ I . − → → ◆ ′ for some − → φ q i λ i p If ◆ = p[ [ Σ i ∈ I q i ? λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for some i ∈ I . 19 / 26

  60. ◆ ◆ ◆ ◆ Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Strong Progress − → → ◆ ′ for some − → φ pΛ i q i If ◆ = p[ [ ⊕ i ∈ I q i !Λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for all i ∈ I . − → → ◆ ′ for some − → φ q i λ i p If ◆ = p[ [ Σ i ∈ I q i ? λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for some i ∈ I . �• q − → → − φ ′ q •� φ p ◦� �◦ p → ◆ ′ for some If ◆ = p[ [ ◦� �• q; P ] ] � ◆ 0 , then ◆ − − − − − − − − − − φ and − → − → φ ′ . 19 / 26

  61. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Strong Progress → − → ◆ ′ for some − → φ pΛ i q i If ◆ = p[ [ ⊕ i ∈ I q i !Λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for all i ∈ I . − → → ◆ ′ for some − → φ q i λ i p If ◆ = p[ [ Σ i ∈ I q i ? λ i ; P i ] ] � ◆ 0 , then ◆ − − − − − φ and for some i ∈ I . �• q − → − → φ ′ q •� φ p ◦� �◦ p → ◆ ′ for some If ◆ = p[ [ ◦� �• q; P ] ] � ◆ 0 , then ◆ − − − − − − − − − − φ and − → → − φ ′ . − → �• q − → φ ′ q •� φ p ◦� �◦ p → ◆ ′ for some If ◆ = q[ [ p ◦� �• ; Q ] ] � ◆ 0 , then ◆ − − − − − − − − − − φ and − → − → φ ′ . 19 / 26

  62. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Internal versus Channel Delegation pro 20 / 26

  63. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Internal versus Channel Delegation pro internal delegation allows a better control of the whole conversation 20 / 26

  64. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Internal versus Channel Delegation pro internal delegation allows a better control of the whole conversation internal delegation assures progress with a simple type system 20 / 26

  65. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Internal versus Channel Delegation pro internal delegation allows a better control of the whole conversation internal delegation assures progress with a simple type system con 20 / 26

  66. Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Internal versus Channel Delegation pro internal delegation allows a better control of the whole conversation internal delegation assures progress with a simple type system con channel delegation can represent more protocols 20 / 26

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