Bridging the gap between Interaction and ProcessOriented Choreographies - PowerPoint PPT Presentation

About This Presentation
Title:

Bridging the gap between Interaction and ProcessOriented Choreographies

Description:

... Choreography (IOC): obtained by composing basic interactions using composition operators ... Allows to compose the behaviours of different roles ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 34
Provided by: andreass3
Category:

less

Transcript and Presenter's Notes

Title: Bridging the gap between Interaction and ProcessOriented Choreographies


1
Bridging the gap between Interaction- and
Process-Oriented Choreographies
  • Talk by Ivan Lanese
  • Joint work with Claudio Guidi,
  • Fabrizio Montesi and Gianluigi Zavattaro
  • University of Bologna, Bologna, Italy

2
Roadmap
  • IOCs and POCs
  • Different interpretations for IOC
  • Connectedness conditions
  • Bisimilarity results
  • Conclusions

3
Roadmap
  • IOCs and POCs
  • Different interpretations for IOC
  • Connectedness conditions
  • Bisimilarity results
  • Conclusions

3
4
Choreography
  • Choreography aims at describing the interactions
    among many participants
  • Interaction-Oriented Choreography (IOC) obtained
    by composing basic interactions using
    composition operators
  • WS-CDL
  • Process-Oriented Choreography (POC) obtained as
    the parallel composition of the behavior of
    different roles
  • BPEL4CHOR, natural extension of orchestration
    language BPEL

4
5
From design to implementation
  • IOCs are more easy to understand and to write
  • Good tool for design
  • POCs are more easily implementable
  • We want to translate automatically a IOC into a
    POC
  • We project the IOC on the different roles

5
6
Which is the behavioral relation
between a IOC and the projected POC?
6
7
Interaction-oriented Choreography
  • Allows to describe interactions from a global
    point of view

7
8
Process-oriented Choreography
  • Allows to compose the behaviours of different
    roles
  • Behaviours are based on input/output on
    operations
  • We give two semantics to POCs a synchronous and
    an asynchronous one

8
9
Asynchronous behaviours
9
10
Composing behaviours
  • In the synchronous semantics the output is
    immediately propagated and matched with the input

10
11
Roadmap
  • IOCs and POCs
  • Different interpretations for IOC
  • Connectedness conditions
  • Bisimilarity results
  • Conclusions

11
12
Our aim
  • Given a IOC we want to project it onto roles to
    get a POC exhibiting the corresponding behaviors
  • The projection is an homomorphism but for
  • We look for connectedness conditions ensuring
    that such a projection behaves well
  • The conditions and the meaning of behaves well
    depend on the interpretation of the IOC

12
13
What means?
  • Consider the simple IOC
  • In the synchronous case the (atomic) interaction
    between a and b should occur before the (atomic)
    interaction between c and d
  • In the asynchronous case there are different
    alternatives
  • Sender the sending at a should occur before the
    sending at c
  • Receive the receive at b should occur before the
    receive at d
  • Sender-receive both of the above
  • Disjoint both the sending at a and the receive
    at b should occur before both the sending at c
    and the receive at d

13
14
A partial order
Disjoint
Sender
Receiver
Strincter constraints on IOC
Sender - receiver
Stronger relation on behaviors
Synchronous
14
15
Roadmap
  • IOCs and POCs
  • Different interpretations for IOC
  • Connectedness conditions
  • Bisimilarity results
  • Conclusions

15
16
Connectedness for sequence
  • Ensures the correctness of sequential composition
  • Synchronous a,b n c,d ? Ø
  • Sender ac or bc
  • Receiver bc or bd
  • Disjoint bc
  • The conditions can be generalized to ensure the
    connectedness of

16
17
Example
  • Consider
  • The projection is
  • The POC behaves well for synchronous and sender
    semantics
  • The POC is not connected for receiver or disjoint
    semantics

17
18
Points of choice
?
  • Ensures the correctness of choice
  • Synchronous
  • The same role should occur in each initial
    transitions
  • The roles in the two components should be the
    same
  • Asynchronous
  • The sender should be the same
  • The roles in the two components should be the
    same

18
19
Points of choice example
  • If we drop the condition on roles
  • In the projection
  • Interaction on O3 is enabled

19
20
Causality-safety
  • Using many times the same operation may cause
    problems
  • For instance a may interact with d

20
21
Causality-safety
  • We define a causality relation between events of
    the projected POC
  • e1 lt e2 if e2 becomes enabled after e1 has been
    performed
  • the exact definition depends on whether the
    semantics is synchronous or asynchronous
  • We require causality dependencies between events
    on the same operation
  • At most one of them can be enabled at the time
  • No interference

21
22
Roadmap
  • IOCs and POCs
  • Different interpretations for IOC
  • Connectedness conditions
  • Bisimilarity results
  • Conclusions

22
23
Bisimilarity
  • We characterize the behavioral relation between a
    IOC and the projected POC using bisimilarity
  • Synchronous bisimilarity IOC transitions are
    matched by synchronous POC transitions
  • Sender bisimilarity IOC transitions are matched
    by POC sends, POC receives are abstracted away
  • weak w.r.t. POC receive transitions
  • Receiver bisimilarity IOC transitions are
    matched by POC receives, POC sends are abstracted
    away
  • weak w.r.t. POC send transitions
  • Disjoint bisimilarity a IOC transition is
    matched by subsequent send and receive POC
    transitions

23
24
Main result
  • If a IOC satisfies all the connectedness
    conditions for the synchronous/sender/receiver/dis
    joint semantics then it is synchronous/sender/rece
    iver/disjoint bisimilar to its projection

24
25
Receive bisimulation example
25
26
Receive bisimulation example
26
27
Roadmap
  • IOCs and POCs
  • Different interpretations for IOC
  • Connectedness conditions
  • Bisimilarity results
  • Conclusions

27
28
Extensions
  • Internal located actions, recursion and hiding
    can be added to the language
  • Value passing can be added
  • A role should own the value to be sent
  • Values can be used to transform nondetermistic
    choice into deterministic

28
29
Bisimulation
  • Bisimulations and simulations can be defined both
    for IOCs and for POCs
  • IOC-POC bisimulation is compatible with those
    (bi)simulations
  • The projections of two (bi)similar IOCs are
    bisimilar
  • One can refine a IOC (e.g., adding auxiliary
    interactions) and derive a refined POC
  • Refinement can solve connectedness problems
  • Hiding is necessary to have more powerful
    refinements

29
30
Conclusion
  • We started from the basic question which is the
    meaning of a IOC?
  • We derived different possible interpretations
    according to the choice of synchronous/asynchronou
    s semantics and to the observable events
  • For each possibility
  • We found suitable syntactic conditions ensuring a
    correct projection
  • We characterize the behavioral relation between
    IOC and POC as a suitable bisimulation relation

30
31
Related work
  • Carbone, Honda, Yoshida, Structured
    communication-centred programming for web
    services, ESOP 07
  • Honda, Yoshida, Carbone, Multiparty asynchronous
    session types, POPL 08
  • Bravetti, Zavattaro, Towards a unifying theory
    for choreography conformance and contract
    compliance, SC 07
  • Busi et al., Choreography and orchestration
    conformance for system design, COORDINATION 06
  • Li, Zhu, Pu, Conformance validation between
    choreography and orchestration, TASE 07

31
32
Future work
  • Complete the analysis on a more complex language
  • Recursion/iteration
  • Data
  • Hiding
  • Exceptions
  • Looking at more complex projection functions
  • Should allow to relax the connectedness
    conditions
  • Study the possibility of refinement

32
33
Thanks!
Questions?
33
Write a Comment
User Comments (0)
About PowerShow.com