minutes WS Choreography face to face meeting 28 February - 1 march 2005

Agenda
======
http://lists.w3.org/Archives/Public/public-ws-chor/2005Feb/att-0030/F2F-Agenda-28-1Mar2005-1.txt 

See also: IRC logs 
http://www.w3.org/2005/03/01-ws-chor-irc
http://www.w3.org/2005/02/28-ws-chor-irc

Attendees
========

Chairs: Martin Chapman, Steve Ross-Talbot

W3C Staff Contacts: Carine Bournez, Yves Lafon


Nickolas Kavantzas, Charlton Barreto, Abbie Barbir, Gary Brown,
Anthony Fletcher, Monica Martin

Guest: Paul Knight (Nortel)
  

Scribes
====== 

Steve Ross-Talbot, Charlton Barreto, Yves Lafon,  Paul Knight



Minutes
======

http://lists.w3.org/Archives/Member/member-ws-chor/2005Feb/att-0010/Minutes-020222005-0.txt 

Minutes approved 


Action Item Review
===============

1. ACTION: Martin to do UML diagram from scratch for CDL 
 IN PROGRESS 

2. ACTION on Gary to follow-up with issuer Kohei on issue 1101 
Gary has followed up and not heard from Koehi just yet - IN PROGRESS 

3. ACTION on Gary to follow-up with issuer (Kohei) on issue 1102 
Gary has followed up and not heard from Koehi just yet - IN PROGRESS 

4. ACTION: Chairs to ensure that dial in information for the F2F is circulated 
to group members. 
Done

5. ACTION: Chairs to insure the consideration of the exit criteria for the group 
is on the agenda for next .

DONE. On this Agenda

6. ACTION: Tony to respond to Arthur Ryman and Kevin Liu e-mails on multiple 
response messages in WSDL 2.0 in issue 996. 
DONE: reply at  http://lists.w3.org/Archives/Public/public-ws-chor/2005Feb/0024.html 

Resourcing Discussion 
==================

Nick: Points out that we have a serious resource issue in editing the spec and 
taking all of the editorial issues and ensuring they are properly dealt with. 
Martin: Points out that the team today is Tony, Nick, Yves, Greg. And points out 
a need to reinvigorate the editing team. 
ACTION: Martin to check Tony and Greg's resource commitments to editing 
team. [recorded in http://www.w3.org/2005/02/28-ws-chor-irc] 
Steve: Pointed out that their is opportunity to have greater involvement from 
the WG to work actively on the spec and fix the editorial issues faster and more 
efficiently. 
ACTION: (after previous action and/or in parallel) Check extra 
resourcing from the WG [recorded in http://www.w3.org/2005/02/28-ws-chor-irc] 


Issues Discussion
==============

Issue 1001 http://www.w3.org/Bugs/Public/show_bug.cgi?id=1001
Summary: CORRELATION OF CHANNEL INSTANCES 
URL: 
http://lists.w3.org/Archives/Public/public-ws-chor-comments/2005Jan/0006.html 
Proposal Outline: 
http://lists.w3.org/Archives/Public/public-ws-chor/2005Feb/0032.html 
Gary: Outlines proposal above 
NOTE: To establish the association with the channel instance, the message that 
initializes the alternate identity must also contain the value of at least one 
other identity field that is associated with that channel instance. 
<m2> 877 is Monica (changed phones) 
CONSENSUS that this issue does need to be resolved for CDL V1.0 (or whatever the 
number is) 
Nick writes on board: 
<choreo> 
<session> 
<channel A>
<channel B>
</session>
</choreo> 
Summary: Clear need for operators on channels (types and/or instances) to define 
relationships. We need to understand clearly what it is that we need to express 
and then decide where it needs to be documented in a CDL specification. 
Steve: summarised above and suggested that 1026 and 1027 are then not issues 
anymore because they get solved by solving 1001 
... We shall come back to these two issues to check 
Nick: Summarises why it is not enough with the proposal from Enigmatec. An issue 
of finalization was raised and Charlton raised issue of monitoring. 
Steve: After Nick's comments Steve says that we need to handle both identity 
name and conversation name. 
This then enables proposal for 1001 for both 1001 and 1026 

Issue 1027:  http://www.w3.org/Bugs/Public/show_bug.cgi?id=1027
<scribe> ACTION: SRT Check 1027 for issues pertaining to identity [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

<Yves> ACTION 4= SRT to check 1027 for issues pertaining to identity 

The restriction is valid because it makes no sense to have an organisation play 
two participants. This does not mean an organisation cannot have two participants 
in reality it just means that they are siloed. That is they are separate and not 
logically connected. So this delineates responsibilities within the logical 
participants in a CDL description. Therefore by definition it is correct and not 
further action is required to resolve this issue. 
There is no way, by definition, that a channel at one participant can point to the 
same thing in another. They cannot be the same channel because they are 
physically separate entities. 
Agreed that issue is therefore RESOLVED WON'T FIX. 


<scribe> ACTION: Add text in primer or spec to clarify above. [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 
<charltonb> This brings in the requirement for chor instance, so that one can 
associate activities from such multiple participants for monitoring, 
finalization, etc. as a single 'unit'.... 

Issue 1008:    http://www.w3.org/Bugs/Public/show_bug.cgi?id=1008

<Gary> http://www.w3.org/TR/wsdl 
Problem is that WSDL1.1 does not have unique fault name. Neither does it have 
unique message qname refs for the faults. On the basis that WSDL1.1 users may 
not have unique fault name and more likely will have unique message names then 
the CDL mechanism works. If the message names are also the same then it doesn't 
matter because they are the same. 
The only remaining issue is if the message types are the same and the fault 
names are different. 
So there is always ambiguity whatever way you do it. 
Martin: If the bindings disambiguate then maybe we can resolve the issue at the 
fault name level and not the message level. We need to sanity check this with 
implementations. 

<scribe> ACTION: Charlton will sanity check the above. [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

Issue 1004: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1004 P1 
Summary: WORKUNIT GUARD CONDITION SEMANTICS 
SRT: 999, 1004, 1005 related 
... 1004 - does it makes sense to have two timeouts in an AND? 
... one possibility - have a construct "sleep" - nest timeouts to express a set 
Nick: Not irrelevant to have two timeouts in an AND if each operand is executed 
as soon as their variables are available 
Charlton: But irrelevant if under the present semantics where the operands are 
executed only when all variables are available 
SRT: Do operators need to be combined into a single construct? 
... Or maintained separately - sleep, conditional, blocking, repeat 
Nick: Contract, everything is fully declarative, fully functional type of model, 
everything parallel by default 
SRT: Should only one duration be allowed in a WU? Or should continue to allow 
many? 
Nick: Now we are seeing quite a bit of overloading because we have introduced 
flow control in order to map more closely to BPEL 
... Fundamental power we get by having block=true that does not exist elsewhere 
in WS 
Martin: So, with a WU, we want to be able to block (block="false"; block="true") 

... we want to be able to repeat 
... we want to be able to evaluate guard 
... time? 
(Nick writing on easel pad) 
(discussion on syntax for illustrating WU constructs) 
SRT: (where G = Guard; R = Repeat) 
... 1. WorkUnit (G) (R) 
... while (G) { ... } until (R) 
... If G is always true then 
... repeat { ... } until (R) 
... If R is always false then 
... if (G) { ... } 
Martin: Why do we have the guard condition and the repeat condition as peers of 
each other? The combinations involved are overly complicated. 
... Put repeat rather at the top...? 
SRT: conditional (G) repeat (R) 
... (take "WU" out of it - m/b confusing the matter) 
Martin: if (G) { ... } ; while (G & R) { ... } 
... Initial evaluation... then a 'do/while' construct 
SRT: To clarify: 
... To clarify the pattern of evaluation: 
... 1. WorkUnit (G) (R) 
... G B (R G) B (R G) B 
... while (G) { 
... B 
... } until (R) 
... If G is always true then 
... B 
... repeat { 
... B 
... } until (R) 
... If R is always false then 
... If R is always false then 
... if (G) { 
... B 
... } 
(where B = Body) 
Martin: Cannot use duration for blocking evaluations, only simple evaluations 
... On another subject - do we want to relax the restriction in CDL to only use 
XPath as the expression language? 
SRT: If you relaxed it, you'd be able to short circuit evaluation 
Gary: If block = true, all variables must be available... 
... I think it would be difficult to support a different expression language 
given the existing complexity of CDL 
<scribe> ACTION: Log an issue for Nick/Martin to explore relaxing the 
requirement for using XPath as the sole expression language [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 
Martin: All evaluation is based on whatever expression language you are using - 
at present XPath 
... We are not changing the semantics of XPath in this 
SRT: We have to ping Kohei w.r.t. his LC comment w.r.t. case #1 
if (Coffee AND Timeout <= 20 minutes) { ... Break ... } 


Martin: To reiterate - there are no duration expressions allowed when B is 
false 
SRT: Question, does the clarified case #1 resolve Kohei's questions? 
... Now where B = Blocking ;-) 
... 2. WorkUnit (G) (R) (B is true) 
... Body 
... A typical order of evaluation is as follows: 
... (G) Body (R G) Body (R G) Body 
... With respect to a G, then the G is only evaluated when the variables are 
available and evaluate to true. Otherwise we wait at the guard condition. 
... Thus the Body after the first G only gets executed when G is true. Or, put 
another way, Body is primed ready for action. 
... Which equates to (in pseudo code): 
... when (G) { 
... Body 
... } until (R) 
... If G is always true then it equates to: 
... repeat { 
... Body 
... } until (R) 
For this case, G equates to this if G is unavailable OR evaluates to false: 
SRT: when (G) { 
... Body 
... } until (R) 
If G is always false then it equates to: 
SRT: repeat { 
... Body 
... } until (R) 
... If R is always false then it equates to: 
... if (G) { 
... Body 
... } 
... revised: If R is always false then it equates to: 
... when (G) { 
... Body 
... } 
... Note - A duration cannot be in a repeat condition (R). 
Martin: Agreement - ban hasDurationPassed and hasDeadlinePassed in a repeat 
condition (R) 
... Agreement - hasDurationPassed and hasDeadlinePassed only valid when block = 
true 
... loop going - are variables available - if not, do nothing, if so, evaluate 
via XPath (at present) 
... We need to say exactly what happens in short circuit evaluation 
SRT: How this would happen depends upon whether your language is forgiving or 
unforgiving 
Nick: There is nothing wrong with the recipe - draconian or not - that all 
variables must be available before evaluation an expression 
Yves: XPath allows for short-circuit evaluation based on left to right evaluation

SRT: It will short circuit the evaluation when all variables are available 
Martin: semantics of G(XPATH(exp1 OR exp2 or exp3)) 
... 1. Wait until exp1, exp2, exp3 are available - then evaluate XPath 
expression 
<Yves> about xpath evaluation: see http://www.w3.org/TR/xpath.html#booleans 
Martin: 2. Wait until LH subset available, then evaluate - as soon as I know one 
of them is available to be tested, I will evaluate them 

Martin: 3. Wait until minimal LH subset available... 
... Three variations for short circuit eval: 
... 1. Immediate eval 
... 2. Wait until LH expression, is available, then eval 
... 3. Wait until all expressions are available, then eval 
... block = false only affects the LH expression 
SRT: We're subservient to XPath 
<Yves> ensuring availability: !(e1 AND 2e AND e3) OR ... 
Yves: Either we respect what XPath is mandating, or we define that everything 
must be available 
Martin: Are we happy with: 
... 1) Depending on XPath 
... 2) XPath semantics 
Nick: No, not unless we define some simple algebra for availability 
Abbie: What do we mean by availability? 
Nick: It is initialized 
SRT: It *definitely* got set 
... Current semantics for CDL - blocking or non-blocking - it is impossible to 
be inside a WU with variables inside the Guard condition where those variables 
are not available 
NicK: The one exception - in the case where isAvailable = false :-) 
SRT: If all variables m/b initialized, then isAvailable has no meaning 
Nick: SQL - has concept of NULL which represents a missing or unknown value 
... After a variable is made available, can we make it unavailable again? 
<Yves> ((e1 AND !e1) OR (e2 AND !e2) OR (e3 AND !e3)) OR (...) ensure 
availability 
Martin: Can we ensure that variables are always available? 
... Do we have the notion of default values for CDL? 
Nick: Not at present 
SRT: We can define them, but availability/unavailability may be useful 
... We may want to assign "NULL" (as per SQL) to a variable! 
Nick: XPath 2.0 allows one to test for existence/availability, as opposed to 
XPath 1.0 
(see Section 3.8 in XPath 2.0 - http://www.w3.org/TR/2005/WD-xpath20-20050211/) 
Yves: ensuring availability: !(e1 AND 2e AND e3) OR ... 
... ((e1 AND !e1) OR (e2 AND !e2) OR (e3 AND !e3)) OR (...) ensure availability 
Uses a CDL specific availability test 
<SRT> Xpath( e1 OR e2 OR e3 ) - what happens is e1 is TRUE and e2 and e3 are 
unavailable using Xpath normal short circuit eval 
<SRT> This is for block = false then this means that the body is executed 
Martin: Any XPath exception - we evaluate to false 
SRT: 3. Short circuit evaluation for blocking set to false follows XPath L2R 
evaluation. This means that for an example such as: G = XPath(e1 OR e2 OR e3) - 
is that the Body gets executed if e1 is available and is true if you want 
smarter short circuit evaluation, you can use isAvailable with e1, e2 and/or e3 
so that the Body will execute for any in {e1, e2, e3} being available and true. 
<Yves> we resolve to support xpath 1.0 short circuit evaluation scheme 
<Yves> with a fault from xpath meaning false (ie: body not executed) 
Martin: We've done short-circuit evaluation, availability 
... If blocking is set to true 
... The LH would have to be available - we would block on LH 
SRT: 4. Short circuit evaluation for Blocking set to true follows XPath L2R 
evaluation. This means that an example such as: G = XPath(e1 OR e2 OR e3) is 
that the Body gets executed when e1 is available and is true. If you want 
smarter short circuit evaluation then you can use isAvailable with e1, e2 and 3 
so that the Body will execute *when any* of e1, e2 and e3 being available and 
true. If you want to *wait for all* to be available, you need to structure 
re your logic using isAvailable accordingly. 
SRT: The Body gets executed WHEN e1 is available and e1 is true OR e1 is 
available and e2 is available and e2 is true OR e1 is available and e2 is 
available and e3 is available and e3 is true 
... If you want to *wait for all* to be available you need to structure your 
logic using isAvailable accordingly: e.g. G = XPath(isAvailable(e1) AND 
isAvailable(e2) AND isAvailable(e3) AND (e1 OR e2 OR e3)) 
<scribe> ACTION: Chairs to talk with the XPath 2.0 WG to determine the direction 
of free-valued logic and existential qualifiers [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 
SRT: Accept cases #1-#4 above to resolve issues 999 and 1099 
Martin: In principle.... 

Issue 1004:    http://www.w3.org/Bugs/Public/show_bug.cgi?id=1004
 WORKUNIT GUARD CONDITION SEMANTICS
Nick: for CDL 1.0, goal is not do to model checking 
... I am in agreement with the rest of the "LC issue: WORKUNIT GUARD CONDITION 
SEMANTICS" proposal 
 Clarification or proposal required to progress this issue.

Issue 1126: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1126
issue raised is the different uses of time in CDL
gary: there is no way to indicate that a timeout for multiple interaction occurs 
unless you define a sub choreo for those interactions
Nick: chor is completed in a successful way, we need to change the state machine 
as timeout can state that the choreo completed unsuccessfully
... in a coordinated choreography, a timeout may be used to activate the 
finalization
... in the different proposal, the concept of "finalized" state is not present
Steve: the main issue is that timeout is defined in several places with different 
semantic, which is confusing
... also there is no way to have a timeout for several interacts
Martin: need use cases
<nick drawing on the board>
<Gary> can the example be added to IRC
<SRT> parallel
<SRT> {
<SRT>    interact 1
<SRT>    interact 2
<SRT>    interact 3
<SRT>   wu (duration)
<SRT>  {
<SRT>      assign (exception=true)
<SRT>   }
<SRT> }
Martin: difference between the interact timeout and this one is that there is 
the declarative way or the user constructed way
Nick: for timeout, and not only for timeout, we need to have things to add to 
take care of the finalization/end of the choreo
... the timeout is a good excuse to actually do the completion handler
SRT: Consensus is to try to fix this issue (the completion handler in general)
Nick: beware that is it quite big
Martin: needs proposal then
SRT: part3 of the issue has been removed

Summary: can live with the explicit user mechanism (as per example above) but will try work on an a proposal.

Issue 1128:  http://www.w3.org/Bugs/Public/show_bug.cgi?id=1128

http://lists.w3.org/Archives/Public/public-ws-chor/2005Feb/0026.html

http://lists.w3.org/Archives/Public/public-ws-chor/2005Jan/att-0030/2005-01-31_Contribution_to_WS-Chor_on_Lists_ and_Arrays.doc
Yves: there is no way to tell you access a list or an array, but do we need to 
care?
 http://lists.w3.org/Archives/Public/public-ws-chor/2005Jan/0031.html

<scribe> ACTION: SRT to create a new issue about accessory [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action01]
goal will be to fix setting and getting

Issue 1108: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1108

martin: looks like it is related to the completion issue
Gary: different issue, as it has to do with isolated choreo
Yves: may be linked as the completion handler might decide to discard variables 
or make them visible
nick: with isolation=true, you have either all visible or all discarded, in an 
atomic way
<charlton> We're discussing visibility at the sub-choreography or the parent 
scope?
Nick clarified the intent of isolation of enclosing choreo
martin: clarification needs to be explicit in the spec
<SRT> The first choreo that sets isolation to true all sub choreo's inherit the 
isolation
Choreo parent | 	T 		| F
\____________ |		 |
Child 	\
--------------|		 |
T 	|	 isolation   | 	isolation wrt
	|                  of parent | 	child only
	| takes 		|
	| precedence |
	-------------- --------------------------
F 	| see above 	| no isolation

resolution of the issue is clarification of the spec based on table and above 
sentence

Nick: there is no nesting of isolation (avoiding pitfall)


Issue 1039: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1039
http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#conformance

<SRT> WSDL Conformance: 
http://www.w3.org/TR/2004/WD-wsdl20-20040803/#conformance
http://www.w3.org/TR/SVG/conform.html
drafting a list based on those different conformance sections
more discussion about what is a cdl processor
what may be an endpoint projection, etc...
(Steve is concatenating the ideas in a separate document)
<SRT> Section 8 Conformance
<SRT> A CDL document is an XML document that MUST conform to the XML syntax (see 
SVG or WSDL - to be filled in)
<SRT> A CDL document is a document that MUST conform to the CDL syntax which may 
be checked by validating parsers and created by validating editors.
<SRT> A CDL document MUST respect the extension rules defined in the CDL 
specification.
<SRT> A CDL processor is defined as a compute node that executes all or some 
partial participant or role based projection of a CDL document.
<SRT> A CDL processor MUST respect the semantics of the roles projected with 
respect to the CDL document and with respect to the operational semantics of CDL 
itself from which it is derived.
<SRT> NOTE: The relationship between CDL and WSDL needs to be fleshed out here a 
little bit.
<SRT> NOTE: We need to revisit the term "CDL processor" maybe the term "process" 
is better?

Issue 1007: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1007
<scribe> postponed after lunch


Issue 1023: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1023
not related to yesterday's issue
nick: channel has a roletype, if roletype belongs to two participant, we don't 
know which participant is targeted
... looks like a primer thing
Martin: is the restriction removed, you can get from participant to role but not 
role to participant
Nick: in the interact we are using From and TO: role but not participant
<SRT> Gary says, wrt the current situation regarding 1023 "different 
participants could simply use the same interface, but use different role type 
names"
Nick: 2.3.1. change "element declared within a Choreography Package" to "within 
a participant"
Agreed


issue 1007: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1007
 Steve draws an example...
 choice {
 	wu (work unit) block=T v1 > 100
 	wu block = F v2<50
 }

 (assume values: v1 unavailable, v1 available and value = 99, v1 
available and value = 101; v2 unavailable, v2 available and value = 51, v2 
available and value = 49
<SRT> If u have a choice block that has 2 elts. First is blocking wu and second 
is non-blocking wu. Elts of choice are in lexical order. Does the choice block 
because the 1st elt blocks or does it move to the second because the first is 
blocked? If it moves to the second and it isn't selected then what happens. You 
get one set of semantics with plain interactions and an unknown semantic for 
blocking and non-blocking wu. Gets worse when you have both interactions and
<SRT> wu of various flavours. Lexical ordering is not sufficient.
 (total of nine cases with one of v1 and one of v2)
 steve: what should happen if v1 is unavailable or 99? wu should 
block, then choice moves on to next wu
 Nick: the first one that happens, you disable all the others
 Nick: semantics : you have an event handler...
 Martin: having blocking and non-blocking together may not be a 
valid case...
 martin: CHOICE says you always choose one of them.
 Nick: if none matches, you should just exit
 Martin: it doesn't say that
 Martin: does matching mean true?
 Nick: yes
 (discussion of different value scenarios)
 Yves: it is a race condition
 Lexical order is a way of assigning priorities
 Gary: different variables may get set almost simultaneously ... the 
ordering in which they get set may affect the result, since a race condition may 
not be seen.
 Gary - if both variables are of both participants, and those copies 
get set at different end points at different times, because there is a delay...
 Martin: it is a black hole, warn users of the dragons there....
 Gary: if different elements are evaluated in lexical order, it may 
solve it.
 Martin: may not resolve it
 Gary: Both ends would have to wait for the first variable to be set 
before evaluating it
 Nick: That would not really solve it
 Nick: if you have both true and false blocks, it will not work
 Nick: don't see how it will work without an agreement protocol
 Nick: you always block on the first one
 Steve: if you have a distributed system, you need some agreement 
protocol to agree on ordering of evaluation
 Nick: it is a well-known logical issue
 Martin: We will need a warning section to address this issue.
 Gary: Lexical ordering solves some issues
 there is no solution to the issue of things changing at different 
times as seen at different places.
 Steve: There was an issue of the clarity of the spec.
 2.5.1.3
 Yves: at most one must be performed
<SRT> The choice ordering structure enables specifying that at most one activity 
(as defined by two or more Activity-Notations) MUST be performed.
 Nick: don't talk about "ambiguity," it makes development difficult
<SRT> Add to section: Where there is ambiguity (i.e. more than one match at the 
same time) for all roles involved in the matching lexical ordering is used to 
select a match.
<SRT> Where there is more than one match lexical ordering is used to select a 
match.
<SRT> Note for primer: We cannot solve the problem a distributed choice in which 
matches may occur at different participants in of different order.
 issue 1007 resolved with above clarification on lexical ordering.

Primer
=====
 Steve: spec is not stable, but I'm building the choreography for 
several examples
 Steve: It should show the advantage of CDL over sequence diagrams.
 Steve: should be available by end of next week for review
 Steve: Example is buyer-seller-shipper
 topic closed

 Exit criteria
=========
Proposal:
http://lists.w3.org/Archives/Member/member-ws-chor/2005Feb/0005.html
 Martin: We need to develop a CDL example (end-point projection) 
which can be fed to two implementations (Vendor1 and Vendor2) which will play 
the roles of say A,B, and C and D,E, and F
 (ABC for V1, DEF for V2)
 Martin: then we run them and have a third party observe to judge if 
they are interoperable
 Nick: code generation?
 Steve, Martin: not necessarily
 Steve: could be a state machine
 Steve: could be a CDL interpreter.. really any combination.. it is 
irrelevant
 Nick: maybe see if some legacy system could do it..
 Martin: that is not an exit criterion
 Steve: might even be a super hacker in a room doing the 
translation... Not necessarily code generator
 Nick: CDL is not supposed to be .. [executable?].. It can be an 
unbounded problem
 Nick: concerned about the time element
 Martin: We need to make it non-trivial
 Yves: need to demonstrate concept is valid, not every possible path
 Yves: a simple test example
 Martin: what features do we want to expose?
 Steve: need to agree on scope of example... by fully elaborated, I 
mean clearly defined. (Point 2. in the exit criteria message)
 Steve: what are we NOT going to show?
 Nick: What we want to demonstrate would be something good to show 
customers
 Yves: not an example with everything
 Yves: Should cover all top-level features
 Yves: for example - we need to show sequence of parallel..
 Nick: There are certain things we need to cover
 Martin: yes, that list is TBD
 Martin: Do we need to specify what is major/minor feature?
 Martin: Cover each one singly, not every combination
 Yves: Yes, cover all features, not all combinations
 Martin: Need to have an implementation subgroup.
 The implementation work should be underway with Consistency Review.
 Steve: IF CR not accomplished, the results can be a "note", but not 
a recommendation
 Gary: Could do CDL implementation in a couple of months
 Steve: Maybe four months
 Nick drawing diagram representing a subset of CDL
 Steve: That is based on the end-point projection; that is not 
standardized
<Gary> just to clarify - I have been working on this full time for 2 months, so 
my estimate would equate to four months
 Martin: not a generator, it's not relevant to the spec how the 
endpoints work
 Martin, Steve: This is very much what we are saying
 Martin: the disagreement is what we are monitoring to judge 
conformance
 Nick: runtime or static conformance?
 Martin: exit criteria: Does CDL work?
 Nick: what does that mean?
 Martin: static is not an option
 Steve: static type checking is more work than the dynamic 
monitoring approach - we can't do it without the code, most likely
 Nick: So we will do the dynamic part... what will the vendors need 
to do?
 Nick: we need to know the bounds of the resources to allocate
 martin: We need to show interoperable nodes compatible with the 
example.
 martin: We tell the vendors: here is an example
<scribe> ACTION: SRT to rewrite the exit criteria [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action02]
<MChapman> suggested text: use the term realisation of an endpoint
 Nick: We need to understand the level of effort involved
 Martin: We develop the example then issue a call for 
implementations
 Charlton: The example by Nick is a good one

Liaisons
========
Last call comments received:

 BPEL - no comments received
 Martin: Suggest a liaison statement reflecting this, with 
disappointment.
 Ws-addressing - comments received
 wsd WG - comments received

Planning 
=======
 Martin: many issues are editorial
 Yves: We need to maintain traceability
 The work needed to be done is the 100 issues and the Primer

 Martin: 60 of the 100 are editorial
 Martin: Greg said he could work on it 4-6 hours/week; Tony 2-4 
Hours/week
 Nick: 2-3 hours/wk
 Yves: 4

 Martin: estimate 6 weeks based on the available editorial time.
 Steve: add some more to cover the technical issues (writing after 
the group decides the resolution)
 Martin, Steve: 9 weeks total
 Martin: End of May, including a little time for finishing the 
document
 Martin: By June F2F, the doc should be finished. Suggest an interim 
editor's meeting.

 Martin: from document point of view, the June F2F will not advance 
it much, as doc should have been finished!
 Tony: wrt editing: I am usually freer toward end of each week, try 
to schedule it that way.
 Martin: discuss that in editors' meetings

 Martin: doc needs to be published during last week of May.

NEW ACTION: Editors to develop schedule to verify whether they can 
produce doc by end of May. [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action03]

NEW ACTION: chairs to respond to issue raiser for closed issues 
[recorded in http://www.w3.org/2005/03/01-ws-chor-minutes#action04]

NEW ACTION: Editors to deliver the doc by end of May [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action05]

Scheduling next F2F
================
 discussion 
 Date for next F2F set for June 13-14; venue TBD (but somewhere in Europe)


Issues Resolution (cont)
===================

Issue 1092: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1092

 Charlton: This allows us to use CDL instead of ebBP
 Martin: Monica or Anders not present - we need the authors to 
explain more - why we would want to compose them together
 Martin: question is why one would want to compose CDL and ebBP
 Nick: There is a huge overlap between CDL and ebBP
 Nick: we do things differently in CDL - work units, several others 
(didn't catch)
 Steve: second Martin's request to ask Monica and Anders to 
understand the technical issues in detail

 NEW ACTION: Steve to ask Anders and Monica to address this [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action06]

Issue 1003: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1003

 Steve: if you don't relinquish control of an output channel, it can 
run into control conflicts (see the email)
 Steve: Kohei asked about this. I can no longer receive information 
on a channel after I relinquish it.
 Gary: you also can't use it to send anymore. The CDL might try to 
send another message on the channel.
 Steve drawing a diagram. 3 parties in a triangle.
 Martin: at the moment, there is no relinquishment of channels
 Nick: is it nice to have, or a must-have?
 Steve: We may need to get info from Kohei about why we need to 
relinquish channels.
 Gary: you may want to pass an existing channel to a third party
 Gary: If A has a channel to B, and then passes it to C so C can now 
pass traffic to B, then A should no longer have access to the channel
 Martin: so relinquish handles this. what is wrong with implementing 
relinquish?
 Nick: I don't see a problem now.
 Martin: we need to look into channel constructs.
 Steve: we need to know what is the issue , what is the problem with 
sharing a channel?
 Martin: is the channel bound to role type? Yes, perhaps you can't 
even DO it - the channel includes the role type?
 Gary: role type is on receiver...
 Martin: not clear there is an issue, if the receiver knows 
unambiguously who the traffic is coming from.
 Steve, Martin: we need clarification on this issue, from Kohei.
 
NEW ACTION: Gary to seek clarification on issue 1003 from Kohei 
[recorded in http://www.w3.org/2005/03/01-ws-chor-minutes#action07]

Issue 1079: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1079

 Martin: clear definitions for successful-send, successful-receive 
are needed - this is the issue
 Martin: Anders proposal is to record additional information
 Nick: exchange has record capability, what else is needed?
 Nick: see 2.5.2.3 - we already have more than this proposal asks 
for.
 Steve: It looks like there is no issue; Anders should provide 
clarification
 
NEW ACTION: Nick to contact Anders to determine if this is still an 
issue (1079) [recorded in http://www.w3.org/2005/03/01-ws-chor-minutes#action08]
 The internal workings of an interaction may need to be explained in 
an example in the Primer.

 Nick: I want this to be captured in the Primer.
 
NEW ACTION: Steve to learn about this issue from Nick for the Primer 
[recorded in http://www.w3.org/2005/03/01-ws-chor-minutes#action09]
 adjournment

Meeting Adjourned

Summary of Action Items
====================

Existing Actions:

ACTION: Martin to do UML diagram from scratch for CDL 

ACTION on Gary to follow-up with issuer Kohei on issue 1101 

ACTION on Gary to follow-up with issuer (Kohei) on issue 1102 

New Actions from this Meeting:

ACTION: (after previous action and/or in parallel) Check extra resorting 
from the WG [recorded in http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Add text in primer or spec to clarify above. [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Chairs to talk with the XPath 2.0 WG to determine the direction of 
free-valued logic and existential qualifiers [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Charlton will sanity check the above. [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Check 1027 for issues pertaining to identity [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Log an issue for Nick/Martin to explore relaxing the requirement 
for using XPath as the sole expression language [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Martin to check Tony and Greg's resource commitments to editing 
team. [recorded in http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: Yves to organise F2F dinner tonight [recorded in 
http://www.w3.org/2005/02/28-ws-chor-irc] 

ACTION: chairs to contact Anders to determine if this is still an issue 
(1079) [recorded in http://www.w3.org/2005/03/01-ws-chor-minutes#action08]

ACTION: chairs to respond to issue raiser for closed issues [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action04]

ACTION: Editors to deliver the doc by end of May [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action05]

ACTION: Editors to develop schedule to verify whether they can produce doc 
by end of May. [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action03]

ACTION: Gary to seek clarification on issue 1003 from Kohei [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action07]

ACTION: SRT to create a new issue about accessors [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action01]

ACTION: SRT to rewrite the exit criteria [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action02]

ACTION: Steve to ask Anders and Monica to address this [recorded in 
http://www.w3.org/2005/03/01-ws-chor-minutes#action06]

ACTION: Steve to learn about this issue from Nick for the Primer [recorded 
in http://www.w3.org/2005/03/01-ws-chor-minutes#action09]