- From: Husband, Yin-Leng <yin-leng.husband@hp.com>
- Date: Thu, 20 Jan 2005 05:02:54 +1100
- To: <public-ws-chor-comments@w3.org>
- Message-ID: <ED28DBD13CDAA44D974F00D56B594BCE011D5552@snoexc04.asiapacific.cpqcorp.net>
Hello, Here are my comments from a review of the WS-Choreography Description Language Version 1.0 (http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/). The review comments are grouped under 2 categories: A. Comments on the WS-CDL specification as a choreography spec B. Comments of editorial nature Please note that many of the comments under 'Point of clarity' are a result of reading the specification from beginning to end and coming across sections of text that became clear only after later sections. Yin Leng ----------------------------------- A. Comments in general ----------------------------------- 1. Section 2.1, 1st bullet, last sentence. Point of clarity "A Participant Type is grouping together those parts of the observable behavior that must be implemented by the same logical entity or organization" Up to this point, all the previous Types (Role Type, Relationship Type) have been defined in terms of "a party" whereas the definition of the Participant Type is in terms of a "logical entity or organization". There is no explanation on the relationship between "a party" and a "logical entity or organization". This explanation of a "Participant Type" needs to be related to "a party". 2. Section 2.2.3, 5th paragraph. Point of clarity "Each definition type has its own name scope." What is a "definition type"? 3. Section 2.2.3, 6th paragraph. Point of clarity "Names within a name scope MUST be unique within a WS-CDL document." Is the phrase "within a name scope" irrelevant since the uniqueness scope is "within a WS-CDL document"? That is, should it be "Each definition type name MUST be unique within a WS-CDL document."? 4. Section 2.2.4, Title Point of clarity Although the title, "Language Extensibility and Binding", talks about "Binding", the content of section 2.2.4 is only about Extensibility. 5. Section 2.3.2, 2nd last paragraph. Information model <role type="qname" behavior="list of ncname"? /> Why is the Role Type of relationshipType defined differently from <roleType> of section 2.3.1? It seems cleaner and more consistent for the Role Type of relationshipType to be defined similarly to <roleType> of section 2.3.1. All the text around the <role> element talks about "Role Type" anyway. 6. Section 2.3.2, 2nd last paragraph. Point of clarity <role type="qname" behavior="list of ncname"? /> What is the relationship between the type attribute of this <role> element, and the name attribute of <roleType> of section 2.3.1? Need a statement clarifying the relationship explicitly. 7. Section 2.3.2, last paragraph, 1st sentence. Information model "Within each role element, the OPTIONAL attribute behavior identifies the commitment of a party as an XML-Schema list of behavior types belonging to this Role Type." If the list of behavior types are those "belonging to this Role Type", is this where a <role> is defined? Or is this <role> not the definition, but a reference to a Role Type defined by <roleType>? If it is the latter, how is this "list of behavior types" related to the <behavior> element of <roleType>? Should this "list of behavior types" be constraint to be a subset of the <behavior> elements of <roleType>? 8. Section 2.3.3, 3rd paragraph, 2nd sentence. Point of clarity <role type="qname" />+ "Each Role Type is specified by the type attribute of the role element" What is the relationship between this <role> element and the <role> element of <relationshipType> of section 2.3.2? Need a statement clarifying the relationship explicitly rather than just by example. 9. Section 2.3.3, 3rd paragraph, 2nd sentence. Point of clarity <role type="qname" />+ "Each Role Type is specified by the type attribute of the role element" What is the relationship between the type attribute of this <role> element, and the name attribute of <roleType> of section 2.3.1? Need a statement clarifying the relationship explicitly rather than just by example. 10. Section 2.3.3, 3rd paragraph, last sentence. Question on constraint "A specific Role Type MUST NOT be specified in more than one participantType element." What is the reason for this restriction? It would be reasonable to expect an organization to be more than one Participant Type, where these Participant Types have a common Role Type. 11. Section 2.3.4, 5th last paragraph. Missing descriptive text <role type="qname" behavior="ncname"? /> "The element role is used to identify the Role Type of a party, being the target of an information exchange, which is then used for statically determining where and how to send or receive information to or into the party." There is no descriptive text to explain the behavior attribute. Need a statement clarifying the purpose and value of the behavior attribute. 12. Section 2.3.4, 4th last paragraph. Information model "The element reference is used for describing the reference type of a party ..." What is the "reference type" of a party? Where is a "reference type" defined? 13 Section 2.3.4, 3rd last paragraph, last sentence. Information model "The identity and the different conversations are distinguished by a set of Tokens as specified by the name attribute of the token element within the identity element." Given just the token names of the <identity> element, how does one distinguish between what is a name of an identity, and what is a name of a conversation? 14. Section 2.3.4, 2nd last paragraph, 1st sentence. Question on constraint "If two or more Channel Types SHOULD point to Role Types that MUST be implemented by the same logical entity or organization, then the specified Role Types MUST belong to the same Participant Type." This restriction means that if channel type is present in an organization, then only one participant type is allowed. What is the reason for this restriction? It would be reasonable to expect an organization to be more than one Participant Type. 15. Section 2.4.2, 1st paragraph. Missing descriptive text on Information model There are only 3 bullets, when there are 4 types of Variables. Missing description on Exception Capturing Variables (mentioned in 8th last paragraph). 16. Section 2.4.3.1, 1st function, 1st sentence. Point of clarity "Returns the current time at the caller for the Role specified by roleName ..." There is only one point in time that is current time for either the caller or for the Role. Should the description be "Returns the current time for the Role specified by roleName ..."? Alternatively, the function should be changed to xsd:time getCurrentTime() Returns the current time at the caller. 17. Section 2.4.3.1, 2nd function, 1st sentence. Point of clarity "Returns the current date at the caller for the Role specified by roleName ..." There is only one point in time that is current date for either the caller or for the Role. Should the description be "Returns the current date for the Role specified by roleName ..."? Alternatively, the function should be changed to xsd:time getCurrentDate() Returns the current date at the caller. 18. Section 2.4.3.1, 3rd function, 1st sentence. Point of clarity "Returns the current date and time at the caller for the Role specified by roleName ..." There is only one point in time that is current date and time for either the caller or for the Role. Should the description be "Returns the current date and time for the Role specified by roleName ..."? Alternatively, the function should be changed to xsd:time getCurrentDateTime() Returns the current date and time at the caller. 19. Section 2.4.3.1, 4th function, 1st sentence. Point of clarity "...the duration specified by elapsedTime at the caller for the Role specified by roleName ..." Is the duration specified by the caller or by Role? 20. Section 2.4.3.1, 9th function, 1st sentence. Point of clarity "Returns "true" if within a Relationship specified by relationshipName the Variable with name varName residing at the first Role of the Relationship has aligned its information ..." What is the meaning or definition of alignment? 21. Section 2.4.3.1, 2nd last function, 1st sentence. Point of clarity "Combines expressions that include Variables ..." In what way are expressions combined? How is the combination of expresssions related to the "globalized Trigger" (name of the function)? Where or what is the Trigger in relation to the parameters of this function? 22. Section 2.5.2.3, 11th paragraph, 3rd bullet. Point of clarity "... then the Variable specified within the send element using the variable attribute MUST be defined at the fromRole and the Variable specified within the receive element using the variable attribute MUST be defined at the toRole" How are these Variables defined at the fromRole and at the toRole? By the roleTypes attribute of <variable>? Need a statement clarifying the variable definitions and whether Variable definitions without a Role Type (as explained in section 2.4.2, 2nd last paragraph) is permitted. 23. Section 2.5.2.3, 11th paragraph, 4th bullet. Point of clarity "... then the Variable specified within the send element using the variable attribute MUST be defined at the toRole and the Variable specified within the receive element using the variable attribute MUST be defined at fromRole" How are these Variables defined at the toRole and at the fromRole? By the roleTypes attribute of <variable>? Need a statement clarifying the variable definitions and whether Variable definitions without a Role Type (as explained in section 2.4.2, 2nd last paragraph) is permitted. 24. Section 3 Incomplete 25. Section 8 Incomplete ----------------------------------- B. Comments of editorial nature ----------------------------------- 1. Section 1, 1st para, 1st sentence. Typographical error Replace "organizations have being developing" with "organizations have been developing" 2. Section 1.5, 1st para, 1st sentence. Replace "A Choreography Description Language" with "The Choreography Description Language" 3. Section 2.1, 3rd bullet, 3rd sub-bullet, 1st sentence. Point of clarity Should the sentence "A Finalizer Block describes how to specify additional interactions that ..." be changed to "A Finalizer Block specifies additional interactions that ..."? 4. Section 2.2.2, 2nd para, last sentence. Typographical error Replace "... as well as semantic ;checks, ..." with "... as well as semantic checks, ..." 5. Section 2.2.2, 2nd para, last sentence. Replace "... such as unicity ..." with "... such as uniqueness ..." 6. Section 2.2.2, example code, <variable> element, role attribute. Typographical error Replace role="randomRome" with role="randomRole" 7. Section 2.2.2, example code, 2nd <xi:include> element, xpointer attribute. Missing closing " Replace xpointer="xpointer(//choreography/variable[1]) with xpointer="xpointer(//choreography/variable[1])" 8. Section 2.2.5, 1st para, 2nd sentence. Change font to courier "description" 9. Section 2.2.5, 1st para, 3rd sentence. Point of clarity Replace "... of the description." with "... of the description sub-element." 10. Section 2.3.4, 3rd last paragraph, 1st sentence. Change font to courier "identity" 11. Section 2.4.2, 5th last paragraph, 1st sentence. Change font to courier "free" 12. Section 2.4.3.1, 1st function, 1st sentence. Typographical error Replace ... about it,s own time with ... about it's own time 13. Section 2.4.3.1, 2nd function, 1st sentence. Typographical error Replace ... about it,s own date with ... about it's own date 14. Section 2.4.3.1, 3rd function, 1st sentence. Typographical error Replace ... about it,s own date/time with ... about it's own date/time 15. Section 2.4.3.1, 4th function, 1st sentence. Typographical error Replace Returns "true" if, (a) used in a guard ... with Returns "true" if (a) used in a guard ... 16. Section 2.4.3.1, 4th function, 1st sentence. Grammar Replace ... either the guard or the repetition condition were enabled ... with ... either the guard or the repetition condition was enabled ... 17. Section 2.4.3.1, 5th function, 1st sentence. Typographical error Replace Returns "true" if, (a) used in a guard ... with Returns "true" if (a) used in a guard ... 18. Section 2.4.3.1, 5th function, 1st sentence. Grammar Replace ... either the guard or the repetition condition were enabled ... with ... either the guard or the repetition condition was enabled ... 19. Section 2.5.2.3, 10th paragraph, 1st bullet. Missing word "from" Replace When the action attribute is set to "request", then the information exchange happens fromRole to toRole with When the action attribute is set to "request", then the information exchange happens from fromRole to toRole 20. Section 2.5.2.3, 11th paragraph, 7th bullet. Change font to courier "receive" 21. Section 2.5.2.3, 11th paragraph, 11th bullet, 1st sub-bullet. Change font to courier "send" 22. Section 2.5.2.3, 11th paragraph, 11th bullet, 2nd sub-bullet. Change font to courier "send" 23. Section 2.5.2.3, 12th paragraph, 1st sentence. Replace "... or the deadline before an Interaction MUST complete." with "... or the deadline before which an Interaction MUST complete." 24. Section 2.5.2.3, 13th paragraph, 1st sentence. Replace "The OPTIONAL element record is used ..." with "The OPTIONAL record element is used ..." 25. Section 2.5.2.3, 13th paragraph, 2nd bullet. Change font to courier "source" 26. Section 2.5.2.3, 15th paragraph, 6th bullet. Change font to courier "record" 27. Section 2.5.2.3, 15th paragraph, 7th bullet. Change font to courier "record" 28. Section 2.5.2.3, 15th paragraph, 9th bullet. Change font to courier "record" 29. Section 2.5.2.3, 15th paragraph, 9th bullet. Change font to courier "record" Note two instances of "record" element in one sentence. 30. Section 2.5.2.3, 15th paragraph, 10th bullet, 2nd sub-bullet. Change font to courier "record" 31. Section 2.5.3, 1st paragraph, 2nd bullet. Replace "An "Order Placement" Choreography, where the "Buyer" Role places and order ..." with "An "Order Placement" Choreography, where the "Buyer" Role places an order ..." ------------------------------------------------------
Received on Wednesday, 19 January 2005 18:03:30 UTC