- From: Andrew Berry <andyb@whyanbeel.net>
- Date: Mon, 21 Jul 2003 00:30:58 +1000
- To: Francis McCabe <fgm@fla.fujitsu.com>
- Cc: Assaf Arkin <arkin@intalio.com>, public-ws-chor@w3.org
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