Manifest Sharing with Session Types
Stephanie Balzer and Frank Pfenning Work in Progress!
Department of Computer Science Carnegie Mellon University
Theory and Applications of Behavioural Types Dagstuhl Seminar 17051 February 2, 2017
1 / 21
Manifest Sharing with Session Types Stephanie Balzer and Frank - - PowerPoint PPT Presentation
Manifest Sharing with Session Types Stephanie Balzer and Frank Pfenning Work in Progress! Department of Computer Science Carnegie Mellon University Theory and Applications of Behavioural Types Dagstuhl Seminar 17051 February 2, 2017 1 / 21
Department of Computer Science Carnegie Mellon University
1 / 21
2 / 21
3 / 21
4 / 21
5 / 21
6 / 21
7 / 21
L ↑S L A
L AL [ | AS → BS | AS × BS | · · · ]
L AS | AL ⊸ BL | AL ⊗ BL | 1 | · · ·
8 / 21
9 / 21
LAL
LR
LAL ; ∆, AL ⊢ CL
LAL ; ∆ ⊢ CL
LL
LAS
LR
LAS ⊢ CL
LL
10 / 21
LAL
LAS
LAL
LAL
LAL
LAL
11 / 21
L { enq : A ⊸ ↓S L squeue A,
L squeue A,
L squeue A} }
LA to ↓S LB we have
LA.
12 / 21
L { enq : A ⊸ ↓S L squeue A,
L squeue A,
L squeue A} }
13 / 21
L { enq : A ⊸ ↓S L squeue A,
L squeue A,
L squeue A} }
14 / 21
LAL: accept (provider) and acquire (client)
LAL)
LR
LAL ; ∆, x:AL ⊢ Qx :: (z : CL)
LAL ; ∆ ⊢ x ← acquire s ; Qx :: (z : CL)
LL
15 / 21
LAS: detach (provider) and release (client)
LAS)
LR
LAS ⊢ s ← release x ; Qs :: (z : CL)
LL
16 / 21
17 / 21
18 / 21
L ⊕{ none : {U ⊸ ↓S LU, loop : ↓S LU},
LU, loop : ↓S LU} }
19 / 21
20 / 21
L ↑S L A
21 / 21