Re: "Message" semantics and composition -- WAS Grounding Choreographies (the atoms)

On Saturday, July 19, 2003, at 06:44  AM, Francis McCabe wrote:
> The service itself is manifested by the messages between the agents; 
> those messages are the basic raw materials for choreographies, not the 
> agents. Controlling the agents amounts (IMO) to orchestration; 
> observing the messages amounts to choreography.

I'm not sure if this is particularly relevant to the thread so I've 
changed the subject. One of the key difficulties when you distribute 
behaviour is that "observation" always has locality and two distinct 
localitys cannot usually observe the same sequence of behaviour.  The 
implication of this issue is that speaking of a "message" as an 
observable entity is dangerous unless you're talking about the sending 
or receiving of a message at a particular location.  If choreography is 
about the co-ordinated behaviour across multiple locations, it becomes 
far easier to manage, describe and reason about behaviour if you 
describe behaviour at each location and the causal (cause and effect) 
relationships between those behaviours as a distinct specification.

This approach has many advantages.  In particular, when speaking of a 
set of autonomous participants in a choreography, the behaviour of each 
participant will be based entirely on what they are able to observe 
from their locality.  This protects their interests and ensures their 
autonomy.  The choreography should respect their autonomy and 
explicitly specify the behaviour of participants based on what they are 
able to observe locally.  The causal relationships defined by the 
choreography then specify the expectations of other participants 
resulting from local behaviour of a participant.

Explicitly separating the local behaviour from causal relationships 
also has considerable advantages for composition.  Consider Arkin's 
example in 
http://lists.w3.org/Archives/Public/public-ws-chor/2003Jul/0134.html: 
we want to re-use the "message" interaction in many choreographies.  If 
a message is specified from a senders perspective as a send followed by 
an acknowledgement, we can use this sender behaviour in a number of 
different scenarios, including a simple message, a delegated message or 
even a multicast message (e.g. for high availability).  If we "bind" 
the sender's message semantics to a particular interaction model then 
we significantly reduce the possible compositions of this behaviour.

Ciao,

AndyB

>
> Frank
>

Received on Sunday, 20 July 2003 10:29:15 UTC