se: programming multiparty sessions for SOC - PowerPoint PPT Presentation

About This Presentation
Title:

se: programming multiparty sessions for SOC

Description:

many invocations to each ai = Pi. each invocation triggers a 'new' instance of Pi ... don't worry, I'm kidding a bit ;) A few interesting (?) examples ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 17
Provided by: csL88
Category:

less

Transcript and Presenter's Notes

Title: se: programming multiparty sessions for SOC


1
µse programming multi-party sessions for SOC
Emilio Tuosto
  • Joint work with

Ivan Lanese
Roberto Bruni
Hernán Melgratti
2
The problem
  • SOC envisages systems as a combination of
    services a1 gt P1 .... an gt Pn
  • many invocations to each ai gt Pi
  • each invocation triggers a new instance of Pi
  • different instances should not interfere

3
Some solutions
  • Standards (WS-BPEL WS-CDL) use correlation sets
  • too low level and not formally defined
  • reasoning on systems is hard (value-driven
    interactions)
  • interferences (different instances may use
    right values)
  • Fresh sessions
  • More formal
  • abstract mechanism for scoping interactions
  • 2-parties or fixed number of participants

4
Multiparty sessions
  • designed as a 3-party session
  • implemented with two 2-party sessions
  • a new session starts between ATM Branch
  • 1st invoker has to wait
  • many gamblers can join (and interact)
  • implemented with two 2-party sessions
  • 55 (?gt!) 2-party sessions

5
Plan
  • µse design principles
  • Syntax SOS semantics
  • dont worry, Im kidding a bit )
  • A few interesting (?) examples
  • Considerations on µses observational semantics
  • Concluding remarks

6
µse design
  • Sessions unit of conversations among endpoints
    s?P
  • session transparency
  • session merging through entry points merge e.Q
  • Services a gt P
  • invocation?communication invoke a.Q
  • ephemeral s?invoke a.Q a gt P ? s?Q P
  • communications (p-like)
  • intra- extra-sessions
  • locations lP delimit extra-session
    communications

7
µse syntax
  • Names around in µse
  • servicessessions
  • entry pointslocations
  • channelsChannels, services and entry points are
    communicable values
  • Usual structural congruence

Intra-session
Extra-session
8
µse semantics (1)
This is not code mobility just services at top
level
early-style semantics
9
µse semantics (2)
10
µse ATM
branch
hiw
r
sms
C
B
A
cash
req
check
abort
11
Real life is harder
Notice that also cash and req are shared among C,
A, C and A
hiw
B
r
sms
C
B
A
cash
req
check
abort
branch
12
Play time
l s gt merge e. start. rec X.(merge
e.X) installs gt merge e.start
l0 r0 ? invoke s. start(). P
r1
l1 r1 ? invoke s. start(). P
l1
l0
r0
l
13
µse bisimulation
  • A binary relation B on µse systems is a weak
    bisimulation if
  • B is symmetric
  • whenever (S, T) ? B, for each transition S ? S
    such that bn(a)nfn(T)Ø, there is a transition T
    ? T and (S,T) ? B
  • Bisimilarity is the largest bisimulation

a
a
14
Bisimulation at work
Specification
Implementation 1
Implementation 2
15
Conclusions
  • Bonelli, Compagnoni (TGC07)
  • correspondence assertions to relate many 2-party
    sessions
  • Carbone, Honda, Yoshida (POPL08)
  • statically fixed number of participants
  • delegation
  • (distributed) randez-vous
  • Caires, Viera, Seco (ESOP-08) conversation
    calculus
  • exception handling
  • nesting of sessions
  • Sensorias SC(C)
  • similar primitive for service invocation
  • only 2-party sessions
  • on service invocation, both client and service
    instance are in a freshly generated session

16
Future directions
  • Session types for controlling progress properties
    of multiparty sessions (see Robertos talk _at_
    PLACES)
  • Sophisticated communication primitives (e.g.,
    multi/broad-cast)
  • Closing session
  • session nesting used only for controlling
    intra-session communication s?(PQ) e s?(P
    s?Q)
  • exception hangling (?)
Write a Comment
User Comments (0)
About PowerShow.com