W3C home > Mailing lists > Public > public-ws-chor@w3.org > May 2003

Re: internal vs external

From: Assaf Arkin <arkin@intalio.com>
Date: Mon, 05 May 2003 18:52:18 -0700
Message-ID: <3EB71552.3090302@intalio.com>
To: jdart@tibco.com
CC: Martin Chapman <martin.chapman@oracle.com>, Jean-Jacques Dubray <jjd@eigner.com>, "'Champion Mike'" <Mike.Champion@SoftwareAG-USA.com>, public-ws-chor@w3.org

If you want to execute a process by performing all its activities you 
need a concrete definition. Aka implementation, executable, 
turing-complete and a few other definitions. If you want to define a 
process that includes additional undefined activities you need an 
abstract. This is what a choreography is all about since some of the 
activities - the implementation details - are omitted. So you need two 
different set of capabilities but not necessarily two different languages.

As far as the abstract is concerned, let's imagine a definition that 
includes A, B and C. As far as A is concerned all communication between 
A and B and A and C is involving, and all communication between B and C 
is not but may be observable. In some cases the communication between B 
and C is not interesting to A, in which case it is not exposed, in other 
cases it is of interest and the fact that it would occur should be 
exposed. The assumption here is that the executable may also include D, 
E and F, but only the interesting activities are depicted in the abstract.

Now the question becomes, what is external vs internal:

1. An abstract is external and a concrete definition is internal since 
you never care about it.

2. For some role X the portion of an abstract involving X is external 
and other portions not involving X are internal.

Is it 1 or 2?


Jon Dart wrote:

> Martin Chapman wrote:
>> surely the crux of the matter is whether a choreo langauge needs 
>> different
>> constructs for  internal and external defintions. If there are no
>> differences in  constructs required, it is a design choice as to what 
>> one
>> exposes. Can we think of any any constructs that are required in one 
>> but not
>> the other?
> BPEL 1.1 has a core language plus "Extensions for Executable 
> Processes" and "Extensions for Business Protocols". So they actually 
> have some overlap (the core stuff) but there is stuff that only 
> applies to the descriptive (external) view and stuff that only applies 
> to the executable (internal) view. It appears that the overlap area is 
> the bulk of the spec, however.
> --Jon
Received on Monday, 5 May 2003 21:54:36 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:04 UTC