Multi-Party Binding Scenario

Some thoughts about role binding in multi-party choreography.

In addition to message exchange sequence, does the choreography also 
specify the sequence how roles will be binded and where rebind can happen ?
=============================================================================================================
YES.  This increase the complexity of multi-party scenario.  Because the 
message exchange sequence now has a coupling with the role (re)binding 
sequence.

When does the choreography get instantiated ?
===================================
In the choreography should define at least one role that can start the 
"conversation" (ie: a "choreography instance").
1) PartyA (who wants to play RoleA) propose a conversation by sending a 
message to PartyB (who PartyA want her to play RoleB).  The message 
contains at least two role bindings (PartyA/RoleA, and PartyB/RoleB)
2) After receive this message, PartyB can agree or disagree to bind to 
RoleB of the conversation.  If she disagree, then the conversation 
terminates there.
3) If PartyB agrees to play RoleB, then the conversation starts 
successfully.  In other words, when a choreography starts successfully, 
there will be at least 2 roles being binded.

When does the bindings of other roles happen ?
===================================
The choreography defines who (RoleA or RoleB) can propose bindings of these 
other roles.  Basically the message exchange sequence between RoleA and 
RoleB defines when these other bindings can happen.
The binding to other parties has an extra step.  For example, it is 
possible that PartyA propose binding of RoleC by PartyC and even 
communicate this knowledge with PartyB before it has actually contact PartyC.
At some later point, PartyA or PartyB will actually send a message to 
PartyC which at that time, will confirm the binding of PartyC.  On the 
other hand, PartyA or PartyB can send an ont-of-band message to 
PartyC.  PartyC will then send a message to PartyA or B and confirm the 
binding.

Does all parties always know bindings of all roles ?
=====================================
Not necessary.  PartyA decide to bind RoleC with PartyC, but she doesn't 
need to notify PartyB.  Even if she does, she may communicate with PartyB 
at a later point in time but not immediate.

Does all roles rebindable ?
====================
Again up to the choreography to define.  I guess the 2 initial roles are 
likely to be not rebindable.


Comments ?

Best regards,
Ricky

Received on Monday, 24 March 2003 21:12:38 UTC