Multiparty Session Types: Concepts Separate the communication into - - PowerPoint PPT Presentation

multiparty session types concepts
SMART_READER_LITE
LIVE PREVIEW

Multiparty Session Types: Concepts Separate the communication into - - PowerPoint PPT Presentation

Multiparty Session Types: Concepts Separate the communication into conversations (sessions) Each process plays a role in a conversation => its type is defined by the conversation and its role Evolution Of MPST Binary Session Types


slide-1
SLIDE 1

Multiparty Session Types: Concepts

 Separate the communication into conversations (sessions)

 Each process plays a role in a conversation => its type is

defined by the conversation and its role

slide-2
SLIDE 2

Evolution Of MPST

 Binary Session Types [THK98, HVK98]  Multiparty Session Types [POPL’08]  A Theory of Design-by-Contract for Distributed Multiparty Interactions [Concur’11]  Monitoring Networks through Multiparty Session Types [TGC’12]  Multiparty Session Types Meet Communicating Automata [ESOP’12, ICALP’13]  Network Monitoring through Multiparty Session Types [FMOODS’13]  Local

Verification of Global Protocols, Practical Interruptible conversations [RV’13]

slide-3
SLIDE 3

Case Study: OOI

 OOI requirements

 applications written in different languages, running on

heterogeneous hardware in an asynchronous network.

 different authentication domains, external untrusted

applications

 requires correct, safe interactions

slide-4
SLIDE 4

Session Types for Monitoring

 Distributed monitoring

 attach a monitor to each application  the monitor checks messages w.r.t specification  ensures interoperablity

slide-5
SLIDE 5

Session types for monitoring

 Adapting MPST theory to

monitoring

 Principals

 Developers design

protocols in a dedicated language - Scribble

 Well-fomedness is checked

by Scribble tools

 Protocols are projected

into local types

 Local types generate

monitors

slide-6
SLIDE 6

OOI Requirements - revisited

 Communication based on various protocols

 General protocol verification monitor

 Heterogeneous systems

 protocol description language - Scribble

 Different authentication domains

 distributed monitoring

 Can we guarantee safety properties

 a theory for network monitoring with soundness theorems

slide-7
SLIDE 7
slide-8
SLIDE 8

www.scribble.org

slide-9
SLIDE 9

Scribble Community

 Webpage:

 www.scribble.org

 GitHub:

 https://github.com/scribble

 Tutorial:

 www.doc.ic.ac.uk/~rhu/scribble/tutorial.html

 Specification (0.3)

 www.doc.ic.ac.uk/~rhu/scribble/langref.html

slide-10
SLIDE 10

Two Buyer Protocol in Scribble

slide-11
SLIDE 11

Protocol Well-fomedness (choice)

slide-12
SLIDE 12

Buyer: A local projection

slide-13
SLIDE 13

The whole picture

slide-14
SLIDE 14

It’s Demo time

 Internal" CC Runtime component monitoring  [DEMO]

slide-15
SLIDE 15

More advanced protocols

 https://confluence.oceanobservatories.org/display/syseng/

CIAD+COI+OV+Governance+Framework

 Higher-level" application protocols

 Composition of RPC calls  Negotiation protocol

slide-16
SLIDE 16

Application-level service call composition

slide-17
SLIDE 17

Scoping

slide-18
SLIDE 18

Scoping

slide-19
SLIDE 19

Agent Negotiation

 Provider and Consumer agents negotiate a Service

Agreement Proposal

 https://confluence.oceanobservatories.org/display/syseng/CIAD+COI

+OV+Negotiate+Protocol

slide-20
SLIDE 20

Negotiation protocol in Scribble

slide-21
SLIDE 21

Negotiation protocol in Scribble

slide-22
SLIDE 22

Governance Framework

slide-23
SLIDE 23

Scribble annotations

… {assertion: payment>=1000}

  • ffer(payment: int) from C to I;

… @{commitment: create(C, I, payment)}

  • ffer(payment: int) from C to I;

 The monitor passes

{‘type’:param, …} to the upper layers

… @{deadline: 5s}

  • ffer(payment: int) from C to I;

 Upper layers recognize

and process the annotation type or discard it

slide-24
SLIDE 24

A theory for network monitoring

 Formalise MPST

  • monitoring and asynchronous networks.

 Introduce monitors as first-class objects in the theory  Justify monitoring by soundness theorems.

 Safety

 monitors enforces specification conformance.

 Transparency

 monitors does not affect correct behaviours.

 Fidelity

 correspondence to global types is maintained.

slide-25
SLIDE 25

Multiparty Sessions for Runtime Monitors

slide-26
SLIDE 26

Formal Semantics

 processes 𝑄 located at principals α

 Abstracts local applications

 router 𝑠

 abstracts network routing information updated on-the-fly

slide-27
SLIDE 27

Formalism: Monitor

 Monitors

 Monitors are introduced as component of monitored

networks

 Specifications

slide-28
SLIDE 28

Satisfaction

slide-29
SLIDE 29

Results (Safety)

slide-30
SLIDE 30

Results (Transparency)

slide-31
SLIDE 31

Results (Fidelity)

slide-32
SLIDE 32

Summary

 Having a context allows to control the communication  Having granularity allows to specify constraints on the

interactions

 Early error detection is much cheaper  High-level policies on top of protocol verification  Good abstraction means easy programming – you

program with send and receive (no threads, sockets, channels)

slide-33
SLIDE 33

References

 http://www.youtube.com/watch?feature=endscreen&v=mr

Eiwd9Buxk&NR=1

 https://confluence.oceanobservatories.org/download/attac

hments/18351011/OOI+CyberInfrastructure+- +Next+Generation+Oceanographic+Research- lowres.pdf?version=1&modificationDate=1246912767000

 http://icmrg.herokuapp.com/