separation-based reasoning for deterministic channel ...bordaa/files/fmg_2015_slides.pdf · sorting...

55
background Technical Development Case-Study Conclusion Separation-Based Reasoning for Deterministic Channel-Passing Concurrent Programs Aimee Borda December 18, 2013 1 / 23

Upload: others

Post on 18-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Separation-Based Reasoning for DeterministicChannel-Passing Concurrent Programs

Aimee Borda

December 18, 2013

1 / 23

Page 2: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Table of Content

backgroundCompositional ReasoningSeparation Logic

Technical DevelopmentResource ReuseResearch Time-Line

Case-StudyOverviewResource Reuse Patterns

ConclusionFuture Work & ContributionsAppendix

2 / 23

Page 3: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Compositional (localized) Proof Systems

A B

C D A

3 / 23

Page 4: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Compositional (localized) Proof Systems

A B

C D A

3 / 23

Page 5: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Compositional (localized) Proof Systems

A B

C D A

3 / 23

Page 6: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Localized Reasoning

sum(l) = sum(l1) sum(l2)+

l = l1 · l2

r1 r2

r1 ∩ r2 = ∅

4 / 23

Page 7: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Localized Reasoning

sum(l) = sum(l1) sum(l2)+

l = l1 · l2

r1 r2

r1 ∩ r2 = ∅

4 / 23

Page 8: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Localized Reasoning

sum(l) = sum(l1) sum(l2)+

l = l1 · l2

r1 r2

r1 ∩ r2 = ∅

4 / 23

Page 9: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Separation Logic [Rey02]

A

r1

5 / 23

Page 10: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Separation Logic [Rey02]

A

r1

B

r2⊥

5 / 23

Page 11: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Resource Transfer [O’H07]

P1

P2 {r1, r2, r3}

6 / 23

Page 12: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Separation-Based Reasoning for Message PassingPrograms [FRS11]

c ↑c ↓

7 / 23

Page 13: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Communication Channels as Synchronization Mechanism

c!

P1

c?

P2

{r1, r2, r3}

8 / 23

Page 14: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Channel Reuse - Dynamic Resource TransferP1

P2

P3

{r1, r2, r3}

{r4, r5}

9 / 23

Page 15: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Multiple-Sender and Single Receiver Pattern

SUM

65

DIFF

65

10 / 23

Page 16: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Multiple-Sender and Single Receiver Pattern

SUM

65

= 11 DIFF

65

= 1 or -1

10 / 23

Page 17: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Semantic Satisfaction

Γin; Γout ; b ` {ϕ} P {ψ} : ρ

implies

Γin; Γout ; b � {ϕ} P {ψ} : ρ

11 / 23

Page 18: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Technical Development Timeline

FRS11 Channel Reuse Multiple-Sender GoalSingle- Receiver

12 / 23

Page 19: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Proof of Soundness

(P is deterministic)

(Data Analysis) (Behavioral Analysis)

13 / 23

Page 20: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Sorting Networks [Knu98]

7

9

5

3

9

7

5

7

3

9

9

7

3

5

9

7

5

3

14 / 23

Page 21: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Sorting Networks [Knu98]

7

9

5

3

9

7

5

7

3

9

9

7

3

5

9

7

5

3

14 / 23

Page 22: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Our Implementation of SNs

c2

c1

c4

c3c1?(x1).c2?(x2).

if x1≤x2 then(c3!〈x1〉‖c4!〈x2〉

)else

(c3!〈x2〉‖c4!〈x1〉

)

15 / 23

Page 23: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Regular Pattern in SNs

A B

16 / 23

Page 24: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Naıve Solution for SNs

c8

c7

c6

c5

c4

c3

c2

c1

d7

d5

d3

d1

d8

d6

d4

d2

e8

e7

e6

e5

e4

e3

e2

e1

f5

f1

f6

f2

f7

f3

f8

f4

g7

g5

g3

g1

g8

g6

g4

g2

h8

h7

h6

h5

h4

h3

h2

h1

i8

i7

i6

i5

i4

i3

i2

i1

17 / 23

Page 25: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Horizontal Reuse in SNs

c1 A d1 c1 B e1 d1 c1 C

18 / 23

Page 26: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Vertical Reuse in SNs

5

6

5

6c2

c1

c4

c3

19 / 23

Page 27: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Vertical Reuse in SNs

5

6

6

5c2

c1

c4

c3

19 / 23

Page 28: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Vertical Reuse in SNs

c1

c1

c4

c3

19 / 23

Page 29: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Contributions

• Separation-Based Logic for Stable Process for the pre- andpostconditions

• Separation-based Proof System for Message-Passing,Deterministic and Terminating Programs

• Proof of Soundness of Proof System

• Message-passing Implementation of Sorting Network resortingto resource reuse

• Proof of Correctness for the Implementation

• Preliminary Design of Second Proof System where channelscan be shared

• An innovative Proof Technique for proving Soundness

20 / 23

Page 30: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Future Work

• More Resource Reuse Pattern

• Enhanced Languages• Name-Passing Channels• Scoping Construct

• Logical Framework Improvement

21 / 23

Page 31: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

BibliographyAdrian Francalanza, Julian Rathke, and Vladimiro Sassone.

Permission-based separation logic for message-passing concurrency.

Logical Methods in Computer Science, 7(3), 2011.

Donald E. Knuth.

The art of computer programming, volume 3: (2nd ed.) sorting andsearching.

Addison Wesley Longman Publishing Co., Inc., Redwood City, CA,USA, 1998.

Peter W. O’Hearn.

Resources, concurrency, and local reasoning.

Theor. Comput. Sci., 375(1-3):271–307, 2007.

John C. Reynolds.

Separation logic: A logic for shared mutable data structures.

In LICS, pages 55–74, 2002.22 / 23

Page 32: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

background Technical Development Case-Study Conclusion

Conclusion Remarks

Questions ?

23 / 23

Page 33: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

The lPar Rule

P1

P2

Q1

Q2

R1

R2

T

P1 ‖P2

Q1

Q2

R1

R2

Γi ; Γo\Γ; b ` {ϕ1} P1 {ϕ3 ? ψ1} : ρ1 dom(Γ) ⊆ fn(ϕ3)

Γi\Γ ; Γo ; b ` {ϕ2 ? ϕ3} P2 {ψ2} : ρ2 ϕ2 ⊥ ϕ3 ψ1 ⊥ ψ2

Γi ; Γo ; b ` {ϕ1 ? ϕ2} P1 ‖P2 {ψ1 ? ψ2} : ρ1 ] ρ2

Page 34: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

The lPar Rule

P1

P2

ϕ1

ϕ2

ψ1

ψ2

ϕ3

ρ1

ρ2

P1 ‖P2

Q1

Q2

R1

R2

Γi ; Γo\Γ; b ` {ϕ1} P1 {ϕ3 ? ψ1} : ρ1 dom(Γ) ⊆ fn(ϕ3)

Γi\Γ ; Γo ; b ` {ϕ2 ? ϕ3} P2 {ψ2} : ρ2 ϕ2 ⊥ ϕ3 ψ1 ⊥ ψ2

Γi ; Γo ; b ` {ϕ1 ? ϕ2} P1 ‖P2 {ψ1 ? ψ2} : ρ1 ] ρ2

Page 35: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Vertical Reuse - SN

B2

B1

Page 36: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Multiple Sender and Single Receiver Checklist

c!〈5〉 ‖ c!〈6〉 ‖ c?(x).(c?(y).d!〈x + y〉)

• Permissions Analysis• Frozen Permissions• Permission Bags

• Data Analysis• Number of I/O operations• Operation performed on the Data• Frozen Data

Page 37: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Multiple Sender and Single Receiver Checklist

c!〈7〉 ‖ c!〈5〉 ‖ c!〈6〉 ‖ c?(x).(c?(y).d!〈x + y〉)

• Permissions Analysis• Frozen Permissions• Permission Bags

• Data Analysis• Number of I/O operations• Operation performed on the Data• Frozen Data

Page 38: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Multiple Sender and Single Receiver Checklist

c!〈5〉 ‖ c!〈6〉 ‖ c?(x).(c?(y).d!〈x − y〉)

• Permissions Analysis• Frozen Permissions• Permission Bags

• Data Analysis• Number of I/O operations• Operation performed on the Data• Frozen Data

Page 39: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Multiple Sender and Single Receiver Checklist

c!〈5〉 ‖ c!〈6〉 ‖ c?(x).(d!〈x〉‖c?(y).d!〈x + y + y〉)

• Permissions Analysis• Frozen Permissions• Permission Bags

• Data Analysis• Number of I/O operations• Operation performed on the Data• Frozen Data

Page 40: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

The lNil Rule

lNilfn(ϕ) ⊆ dom(Γi ∩ Γo)

Γi ; Γo ; b ` {ϕ} nil {ϕ} : ρ

{c〈5〉} nil‖c?(x).c!〈e〉 {c〈5〉}

Page 41: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Nested Permission Environment Update

Γi ; Γo\Γ; b ` {ϕ1} P1 {ϕ3 ? ψ1} : ρ1 dom(Γ) ⊆ fn(ϕ3)

Γi\Γ ; Γo ; b ` {ϕ2 ? ϕ3} P2 {ψ2} : ρ2 ϕ2 ⊥ ϕ3 ψ1 ⊥ ψ2

Γi ; Γo ; b ` {ϕ1 ? ϕ2} P1 ‖P2 {ψ1 ? ψ2} : ρ1 ] ρ2

{c〈5〉} c?(x).(c!‖d!)‖c?(x).d?(y).c!〈5〉 {c〈5〉}

Page 42: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Changes from [FRS11]

• Logical Formula Satisfaction

• Proof of Soundness - from 2 tier to 1 tier

• Removed the Confined Processes Semantics – permissiondescribe the sequent’s footprint rather then the process’s

Page 43: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Sequent Definition

Γi ; Γo ; b

` {ϕ} P {ψ}

: ρ

P,Q , nil | c?(x).P | c!〈e〉 | P ‖ Q | if b thenP else Q | f (~x)

ϕ,ψ , emp | blk(c) | c〈e〉 | ϕ ? ψ

Page 44: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Sequent Definition

Γi ; Γo ; b

` {ϕ} P {ψ} : ρ

E.g., {c ↑, d ↓}

Page 45: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Sequent Definition

Γi ; Γo ;

b ` {ϕ} P {ψ} : ρ

E.g., x = y + 1 ` {c〈x〉} P {c〈y〉}

Page 46: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Sequent Definition

Γi ; Γo ; b ` {ϕ} P {ψ} : ρ

E.g.,c : {c ↑, d ↓}

E.g.,Γi = c : {c ↑, d ↓}Γo = c : {c ↑, e ↑}

Page 47: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Logical Formula Satisfaction

Γ , P , µ � emp iff P ≡ nil

Γ , P , µ � c〈e〉 iff P ≡ c!〈e′〉 and e ⇓ v , e′ ⇓ v and Γ(c) ⊆ µ

Γ , P , µ � ϕ1 ? ϕ2 iff P ≡ P1 ‖P2 and Γ , P1 , µ1 � ϕ1 and

Γ , P2 , µ2 � ϕ2 and µ = µ1 ] µ2

Γ , P , µ � blk(c) iff P ≡ c?(x).P ′ and c ∈ dom(Γ) and c ↓ µ

Page 48: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Semantic Definition

Γin; Γout ; b ` {ϕ} P {ψ} : ρ

implies

Γin; Γout ; b � {ϕ} P {ψ} : ρ

∀σ,Q, µ. Γin,Qσ, µ � ϕσ and ρ ⊥ µ and bσ ⇓ tt

implies (P ‖Q)σ ⇓ Rσ and Γout ,Rσ, µ ] ρ � ψσ

Page 49: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Semantic Definition

Γin; Γout ; b ` {ϕ} P {ψ} : ρ

implies

Γin; Γout ; b � {ϕ} P {ψ} : ρ

∀σ,Q, µ. Γin,Qσ, µ � ϕσ and ρ ⊥ µ and bσ ⇓ tt

implies (P ‖Q)σ ⇓ Rσ and Γout ,Rσ, µ ] ρ � ψσ

Page 50: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Semantic Definition

Γin; Γout ; b ` {ϕ} P {ψ} : ρ

implies

Γin; Γout ; b � {ϕ} P {ψ} : ρ

∀σ,Q, µ. Γin,Qσ, µ � ϕσ and ρ ⊥ µ and bσ ⇓ tt

implies (P ‖Q)σ ⇓ Rσ and Γout ,Rσ, µ ] ρ � ψσ

Page 51: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Semantic Definition

Γin; Γout ; b ` {ϕ} P {ψ} : ρ

implies

Γin; Γout ; b � {ϕ} P {ψ} : ρ

∀σ,Q, µ. Γin,Qσ, µ � ϕσ and ρ ⊥ µ and bσ ⇓ tt

implies (P ‖Q)σ ⇓ Rσ and Γout ,Rσ, µ ] ρ � ψσ

Page 52: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Semantic Definition

Γin; Γout ; b ` {ϕ} P {ψ} : ρ

implies

Γin; Γout ; b � {ϕ} P {ψ} : ρ

∀σ,Q, µ. Γin,Qσ, µ � ϕσ and ρ ⊥ µ and bσ ⇓ tt

implies (P ‖Q)σ ⇓ Rσ and Γout ,Rσ, µ ] ρ � ψσ

Page 53: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Race Conditions in SNs

Page 54: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Race Conditions in SNs

7

6

5

6

7

5

7

6

5

7

5

6

Page 55: Separation-Based Reasoning for Deterministic Channel ...bordaa/files/FMG_2015_Slides.pdf · Sorting Networks [Knu98] 7 9 5 3 9 7 5 7 3 9 9 7 3 5 9 7 5 3 14/23 . background Technical

Deadlocks

P1

P2

emp

emp

emp

emp

c〈x〉

d〈x〉

c?(x).d!〈x〉 ‖ d?(y).c!〈y〉