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
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
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
◆ ◆ ◆ 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
◆ ◆ ◆ 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
◆ ◆ ◆ 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
◆ ◆ ◆ 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Direct Projection Meet 14 / 26
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Subject Reduction → ◆ ′ , then ⊢ ◆ ′ : G ′ for φ If ⊢ ◆ : G and ◆ − some G ′ . 17 / 26
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 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
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 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
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 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
◆ ◆ ◆ ◆ 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
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
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 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
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ 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
◆ ◆ ◆ ◆ 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
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
Motivation Recap of new terminology Calculus Type System Key Properties Conclusion Internal versus Channel Delegation pro 20 / 26
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
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
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
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
Recommend
More recommend