Minutes WS Choreography WG conference call 19th October 2004
Roll Call
------------
roll call: abbie, charlton, gary, martin, nick, peter, srt, yves and carine
Tony Fletcher (Choreology), Steve Ross-Talbot (Co-Chair - Enigmatec), Gary Brown (Enigmatec), Greg Ritzinger (Novell), Martin Chapman (Co-Chair - Oracle), Nickolas Kavantzas (Oracle), Monica Martin (Sun), Charlton Barreto (webMethods - IRC only), Yves Lafon (W3C staff).
Admin
irc log at http://www.w3.org/2004/10/19-ws-chor-irc
Scribe: Charlton agreed to scribe.
Agenda
-----------
http://lists.w3.org/Archives/Member/member-ws-chor/2004Oct/att-0010/Agenda20041019-0.txt
Previous Minutes
-------------------------
Minutes 12 october
http://lists.w3.org/Archives/Member/member-ws-chor/2004Oct/att-0012/MeetingMinutes20041012-0.txt
Amendments
role call addendum: tony
issue 631 - removal of comments in brackets
Amended minutes approved
http://lists.w3.org/Archives/Member/member-ws-chor/2004Oct/att-0014/MeetingMinutes20041012-1.txt
Next Face To Face meeting
-------------------------
Next F2F is at Oracle HQ on 17th, 18th and 19th November
Action Item Review
------------------
ACTION 1: Take the TWIST example we're working on, add part of the flow what can go wrong, see what happens when things go wrong.
SRT: No. It is the highest priority item at this time.
NO PROGRESS
ACTION 2: Chairs to sort out examples work.
NO PROGRESS
ACTION 3: on Martin to propose text on clocks (Issue 885).
NO PROGRESS
ACTION 4: Nick to clarify the text wrt NOT and OR operators in guard conditions.
DONE (see minutes from last meeting)
ACTION 5: on the chairs to discuss part 2 of the specification
Lower priority.
NO PROGRESS
ACTION 6: Bob/Choreology to come back with a definitive proposal with editing instructions on PROPOSAL ONE
IN PROGRESS
ACTION 7: above question (is finalizer role bound?) needs to be answered in a proposal on PROPOSAL FOUR
IN PROGRESS
ACTION 8: Martin to produce UML model of WS-CDL for the editors to include in spec.
IN PROGRESS
ACTION 9: Monica to check if 687 has been resolved in latest draft.
Put on agenda today or next week.
IN PROGRESS
ACTION 10: send Bugzilla Issue 870 packaged up to Nobuko/Honda see if they can help. Steve to do.
SRT to get on the case tomorrow for this.
IN PROGRESS
ACTION 11: Gary/Steve to propose text change (if any) to specification to support out-only.
Proposal http://lists.w3.org/Archives/Public/public-ws-chor/2004Oct/0040.html
DONE
ACTION 12: the chairs to consider this topic (fault handling) again next week
DONE
ACTION 13: Steve to tidy up proposal on locally defined variable (issue 691) and send (including Schema changes) to the editors.
IN PROGRESS
ACTION 14: Greg to re-assign issue 913 to primer and / or Part 2
IN PROGRESS
Issues resolution and proposals
-------------------------------
(i) Fault Handling
Two proposal on the table are:
http://lists.w3.org/Archives/Public/public-ws-chor/2004Oct/0013.html
http://lists.w3.org/Archives/Public/public-ws-chor/2004Oct/0026.html
Gary: No changes to language in 0013.html
Gary: In choice block can spec. different responses from a request
Gary: Can take path based upon which response types have been returned - including faults
Nick: What does fault handling mean here? Is this proposal covering fault handling?
Gary: Yes in the respect that faults are message types in wsdl
Nick: It is not about throwing or handling faults.... And how does this tie with work units, etc.?
Gary: We are looking at this as different type of response message - modelling this as three different types of responses.
Peter: This proposal covers treating faults a different type of message, which raises an exception condition.
Gary: You want to be able to handle fault messages as business messages which affect control flow.
Nick: If you perform CDL to BPEL - there are semantics w.r.t. whether an exception is raised on the other side via mapping to the WSDL fault type.
Gary: You can have only one normal response from in-out/request-response - but >= 0 alternatives/faults
Martin: WSDL defines an input message, and output message, and >= 0 faults
Nick: If you map something to a WSDL fault, something special happens - some special magic has to occur at this endpoint - such as jump to an exception block
SRT: Is this a design choice?
Gary: Not all faults represent exceptions - but responses which affect control flow - requiring pursuit of an alternative path
Nick: There are special semantics to faults where you have to jump out of the normal control flow
Nick: When you associate a message with a fault, the semantics tell you that you jump out of the normal control flow
Peter: Just as applies with using someone elses object which throws an exception, you may be using someone else's protocol
Nick: You may choose to perform fault handling or not - where not, everything is managed in the normal control flow
Martin: I don't think Gary's proposal gets into any of these details - he is proposing that you model the exchanges w.r.t. out fault
Nick: In my proposal is a super set of this
Nick: Faults are not global - my proposal covers this - in WSDL 2.0 this isn't a problem, since you have have named faults. In WSDL 1.1, my proposal for Information Type addresses the lack of global naming for faults
Gary: My proposal was looking primarily at WSDL 2.0, but for WSDL 1.1, we may need to reconcile Nick's and my proposals to address the global naming issue
Martin: Let's look at both proposals, see if they can be reconciled
Nick: My proposal - issue 565 - address what does it mean to perform exception propagation?
Nick: How is this done?
Nick: How does this relate to WSDL 1.1 and 2.0?
Nick: Do we need variables that hold exception data?
Nick: We need to know how to handle exceptions thrown in a chor, and how to map it?
Nick: I want to unify faults from WSDL 1.1 and 2.0
Nick: InformationType creates this abstraction
Nick: Introduced concept of exception variables, causeException (if true, we can jump to an exception block)
Martin: If there is a business level fault you have the choice not to turn it into an exception per this definition
Nick: Let's come back to this one - let's see what is the combination where this may be encountered
Nick: Introducing a new function: used when you want to map an exception
Nick: Included is an example causing an exception using send/receive in a two party chor
Nick: When I say an exception is caused, the chor enters an exception state, and control jumps to an exception block
Gary: Seems to be overloading the use of a variable as a trigger
Nick: This is exactly the same mech used in most languages for handling exceptions
Gary: In Java, it is very explicit how this is handled
Nick: I don't see a major difference between on and the other
Gary: It seems this proposal serves to hide this sort of mechanism somehat
Nick: This is the design model for CDL - variables are populated, and work units are activated - the ? here was how to activate exception work units - I think it is very natural if you look as systems operating similarly to how CDL operates, you have variables are populated with exception events.
Monica: Can you handle different types of exceptions in the work unit?
Martin: yes we already have this in the spec including a catchall
Nick: If the exception block is defined, it can have >= 1 work units, in which you can define different exception types (via informationType) - whatever is thrown, the proper exception work unit w/b used per the blocks' matching of exceptions to these units
Nick: We still have the ? of what happens to the top level chor if we don't have matching?
Nick: But this is in the chor lifeline - completing normally vs. abnormally
Martin: We have the catch all for this
Yves: This is more a design decision in CDL
Yves: This a catchAll should be explicit
Martin: Let's ensure the spec covers this
Yves: Design decision of a written cdl, if cleanup is wanted, then a catchall is needed
Yves: If not then the cdl stop in an abnomral state
Charlton: right
SRT: Can I change mutability in a variable in CDL?
SRT: My understanding is this is a 'set-only' model - variables are inherently immutable
SRT: Are there semantics which restrict the use of this variable in a variables definition
Nick: No, there are none
SRT: So I can change the value of this anywhere?
Nick: You can change it in the exception block
Martin: Serving as a form of rethrow
Nick: You want to be able to capture what has gone wrong - e.g. WSDL details - and you want this to be captured in some container, where it will be handled - i.e. in a work unit - where it can perform a specific action to be associated with these details
SRT: I want to explore with you the right semantics we want such variables to have
Martin: Let's come back to this next week.
Martin: I don't believe we can resolve this tonight
Martin: Between now and next week - let's go over this in detail - it is a big thing to do and we have many other big things to do
(ii) Unbounded free variables
http://lists.w3.org/Archives/Public/public-ws-chor/2004Oct/0020.html
SRT: If you have a free variable in a chor - and an enclosing chor does not bind that variable - what is it's state - if may end up not having a valid value, with the resulting unexpected consequences
SRT: What do the editors, et al., expect the value of a free variable to be if it is unbound?
Tony: Static analysis should throw this out
Peter: Isn't this simply an unused hook?
Peter: An unbound variable is exactly in the same place of variable you cannot see at all
SRT: The 'great unwashed" may have done this without realising it
Peter: Surely they remain unbound at the higher level of the chor
Nick: 2.4.4: "A perform activity...." The enclosing chor is only performed through the perform activity, so all free variables of an enclosed chor must be bound - there is no opporunity for the alternative to occur
Nick: The third bullet point on this section
SRT: The second bullet in my version of the ED
Martin: All variables m/b bound by this definition
Martin: To not do this is an error that can be caught via static analysis
Abbie: Happy
Charlton: Happy
SRT: I would like the following verbage to be used, "All free variables must be bound"
Abbie: +1
Peter: A trivial editorial item - an explanation of why this is done....
*** PROPOSED TEXT ***
SRT: Before: A perform activity MUST bind a free Variable defined in an enclosed Choreography with a Variable defined in an enclosing Choreography when sharing the Variables information
SRT: After: A perform activity MUST bind a free Variable defined in an enclosed Choreography with a Variable defined in an enclosing Choreography
(iii) Duration timeout
http://lists.w3.org/Archives/Public/public-ws-chor/2004Oct/0023.html
Martin: No objections to this?
NONE RECORDED
Martin: Editors - do you need any additional information to include this in the spec?
Martin: Is this enough info for the editors to write into the spec.
NEW ACTION: Charlton to update the pdf and send it to the editors with the function and variable name changes
(iv) WSDL Support
http://lists.w3.org/Archives/Public/public-ws-chor/2004Oct/0027.html
Martin: Overview of the next item: WSDL support from Nick.
SRT: Gives people time to read the other WSDL proposal as well.
Nick: Proposal overview: First, there are some extensions: Accomodation of WSDL 1.1 parts, changes in function getVariable to accomodate the WSDL 1.1 part; MEPs nothing radical - basically Charlton's recommendations - expecting others to perform work above and beyond that; interface inheritance
Martin: Are we going to add something at the package level which signals whether we can handle wsdl 1.1 only, wsdl 2.0 only, or both in a single chor? Should this still be done implicitly, or explicitly?
Nick: Implicitly, the status quo is that we can handle a mix of the two
Charlton: And whether we are using 1.1 vs. 2.0 is implicitly determined from the wsdl itself
AOB
---
SRT: From C&C meeting - David Orchard felt that the perception is that ws-chor is competing with BPEL
SRT: Expressed concern and dissapointment that this perception still persists.
Martin: Only three conference calls before the next F2F
Martin: By the next F2F we only want technical issues related to Last Call addressed
Martin: Please review proposals on Fault Handling and WSDL in the week before the next F2F
Martin: On biggie we did not talk about today, which we'll want on the next conf call agenda, is the issue on race conditions.
Nick: Small observation: Really surprised about what Peter sent on pi-calculus (in a good way :-))
Peter: One s/b able to read it, and from there perform endpoint projections, etc.
Martin: Let's put distributed choice on the agenda.
NEW ACTION: Place distributed choice on next week's conf call agenda.
SUMMARY OF ACTIONS:
ACTION 1: Take the TWIST example we're working on, add part of the flow what can go wrong, see what happens when things go wrong.
ACTION 2: Chairs to sort out examples work.
ACTION 3: on Martin to propose text on clocks (Issue 885).
ACTION 4: on the chairs to discuss part 2 of the specification
ACTION 5: Bob/Choreology to come back with a definitive proposal with editing instructions on PROPOSAL ONE
ACTION 6: above question (is finalizer role bound?) needs to be answered in a proposal on PROPOSAL FOUR
ACTION 7: Martin to produce UML model of WS-CDL for the editors to include in spec.
ACTION 8: Monica to check if 687 has been resolved in latest draft.
ACTION 9: send Bugzilla Issue 870 packaged up to Nobuko/Honda see if they can help. Steve to do.
ACTION 10: Steve to tidy up proposal on locally defined variable (issue 691) and send (including Schema changes) to the editors.
ACTION 11: Greg to re-assign issue 913 to primer and / or Part 2
NEW ACTION 12: Charlton to update the pdf and send it to the editors with the function and variable name changes
NEW ACTION 13: Place distributed choice on next week's conf call agenda.