Re: Issue 4262 - Use of wsp:Optional and wsp:Ingorable together - Proposed Resolution

Hi,

Apologies for commenting late on the following, I should've joined yesterday but was simply overloaded...
I'm sorry if I've sent the confusing message myself yesterday when saying the proposed ammendment would send the confusing message :-)

By no means I'm trying to reopen the wsp:optional vs wsp:ignorable discussion. It's done and I've mentioned earlier I believe wsp:ignorable has its value. I've said it even in the reply to Asir here :
http://lists.w3.org/Archives/Public/public-ws-policy/2006Nov/0101.html

My comment was specifically targeted at the proposed primer text. Here're are couple of links.

Optional assertions in the primer : 
http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-primer.html?content-type=text/html;%20charset=utf-8#optional-policy-assertion

Particularly is states : A policy assertion is marked as optional using the wsp:Optional attribute. Optional assertions represent the capabilities of the service provider as opposed to the requirements of the service provider...An optional policy assertion represents a behavior that may be engaged.

Ignorable assertions in the primer
http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-primer.html?content-type=text/html;%20charset=utf-8#ignorable-policy-assertions

It states : Using the wsp:Optional attribute would be incorrect in this scenario, since it would indicate that the behavior would not occur if the alternative without the assertion were selected. 

And then primer would actually say that

<bar/>
<foo wsp:optional=true wsp:ignorable="true"/> 

is allright as it means :
<Policy>
  <All>
    <bar>
  </All>
  <All> 
    <bar>
    <foo wsp:ignorable="true"/>
  </All>
</Policy>

The normal form looks fine but the the compact form is just begs for questions IMHO, like : what does it mean, why don't I just use wsp:optional alone as it will ensure that the clients will be able to ignore <foo/> irrespectively of what mode they're using, what do I want to say here : ignore and optionally engage, or something else ?

With wsp:ignorable the state of things is that the optionality implies ignorability but not the other way around. I'm not sure I understand what it means but that's what we have. If one wants to say in the compact form, that <foo/> represents the optional behaviour the client may engage in then wsp:optional is fine. If one wants to say that <foo/> can be ignored during the intersection stage then wsp:ignorable is fine. 

Lets answer the question :

What does it mean to do
<foo wsp:optional=true wsp:ignorable="true"/>  ?

What author wants to say here ? If we can't explain what the user wants to say here, without referring to the framemwork spec text which states that wsp:optional is actually a syntactic shortcut, then we should either discourage this usage at the very least in the primer, or to prohibit tyhis combination or to change the normalization process, the latter two options can be taken care of in v.next

IMHO the following normal form might cause less confusions :

<Policy>
  <All> 
    <bar>
    <foo wsp:ignorable="true"/>
  </All>
</Policy>

Ignorability does not imply the optionality hence the wsp:optional is not taken into the account during the normalization process. The runtime/tool logs a warning message saying that the wsp:optional is ignored
due to the fact wsp:ignorable takes precedence



Thanks, Sergey



>   <cferris> ACTION: Monica to create new primer issue related to 4262
>   [recorded in
>   [39]http://www.w3.org/2007/03/14-ws-policy-minutes.html#action04]
> 
>   <trackbot> Created ACTION-256 - Create new primer issue related to
>   4262 [on Monica Martin - due 2007-03-21].
> 
>   Ashok: Sergey has recommended we not allow them to be used together.
> 
>   Asir: What is the justification?
> 
>   <GlenD> -1 to disallow this
> 
>   <GlenD> it may not be common, but it certainly makes sense in the
>   model, and does not confuse processing
> 
>   Paul: This is a confusing message, per Sergey.
>   ... Don't you have Ignorable regardless if Optional is absent, per
>   Sergey.
> 
>   <paulc> The WG looked at:
> 
>   <paulc>
>   [40]http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/010
>   1.html
> 
>     [40] 
> http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/0101.html
> 
>   Tom: This is converse to my understanding. We don't handle Ignorable
>   as a special case attribute.
> 
>   <cferris> 06q+ to ask editors if the media type test case has been
>   incorporated into the test scenarios01
> 
>   Asir: In previous discussions we answered multiple questions to
>   Sergey.
> 
>   This reopens these questions.
> 
>   <cferris>
>   [41]http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/009
>   5.html
> 
>     [41] 
> http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/0095.html
> 
>   [42]http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/010
>   1.html
> 
>     [42] 
> http://lists.w3.org/Archives/Public/public-ws-policy/2007Mar/0101.html
> 
>   <cferris> q later
> 
>   <paulc> Proposed amendment:
> 
>   <fsasaki> replies from Asir to Sergeys earlier questions at
>   [43]http://lists.w3.org/Archives/Public/public-ws-policy/2006Nov/010
>   0.html
> 
>     [43] 
> http://lists.w3.org/Archives/Public/public-ws-policy/2006Nov/0100.html
> 

  ----- Original Message ----- 
  From: Sergey Beryozkin 
  To: Daniel Roth ; Prasad Yendluri ; public-ws-policy@w3.org 
  Cc: Asir Vedamuthu ; Monica.Martin@Sun.COM ; Fabian.Ritzmann@Sun.COM 
  Sent: Wednesday, March 14, 2007 4:55 PM
  Subject: Re: Issue 4262 - Use of wsp:Optional and wsp:Ingorable together - Pro posed Resolution


  Hi

  """The WS-Policy Framework allows a policy assertion to be marked with both
  "optional" and "Ignorable" simultaneously. The presence of
  "@wsp:optional=true" on an assertion is a syntactic compact form for two
  alternatives, one with the assertion and the other without the assertion.
  Hence syntactically marking an assertion "A" with both the @wsp:Optional and
  @wsp:Ignorable with the value of "true" for both, is equivalent to two
  alternatives; one where the assertion A exists with @wsp:Ignorable=true and
  the second where the assertion A does not exist."""

  This contradicts to the primer recommendations where it's recommended that wsp:optional is only used to mark the assertions which the consumer will have to do something about and where it's recommended not to mark such assertions as wsp:ignorable. The proposed text will simply send the confusing message. 

  > "@wsp:optional=true" on an assertion is a syntactic compact form

  I fully agree. But the group by adopting wsp:ignorable made a clear statement that it's not a syntactic sugar. Otherwise there's no need for wsp:ignorable.

  I propose to either prohibit this combination or to update the compact-to-normal form conversion algorithm to put wsp:ignorable assertions into both alternatives due to the fact wsp:optional implies ignorability but wsp:ignorable does not imply optionality as per the spec

  Cheers, Sergey

  ----- Original Message ----- 
  From: "Daniel Roth" <Daniel.Roth@microsoft.com>
  To: "Prasad Yendluri" <prasad.yendluri@webmethods.com>; <public-ws-policy@w3.org>
  Cc: "Asir Vedamuthu" <asirveda@microsoft.com>; <Monica.Martin@Sun.COM>; <Fabian.Ritzmann@Sun.COM>
  Sent: Wednesday, March 14, 2007 3:38 AM
  Subject: RE: Issue 4262 - Use of wsp:Optional and wsp:Ingorable together - Pro posed Resolution



  +1

  Daniel Roth

  -----Original Message-----
  From: Prasad Yendluri [mailto:prasad.yendluri@webmethods.com]
  Sent: Tuesday, March 13, 2007 7:34 PM
  To: public-ws-policy@w3.org
  Cc: Asir Vedamuthu; Monica.Martin@Sun.COM; Daniel Roth; Fabian.Ritzmann@Sun.COM
  Subject: Issue 4262 - Use of wsp:Optional and wsp:Ingorable together - Pro posed Resolution

  Folks,

  Monica, Asir, Dan, Fabian and I agreed to propose the following as the
  resolution for this issue
  http://www.w3.org/Bugs/Public/show_bug.cgi?id=4262.

  1. We now think this issue is actually on the Primer rather than the
  Guidelines document, as it is related to composition of a policy expression
  (that uses optional and ignorable flags on assertions) rather than design of
  assertions.

  2. We propose adding the following as a new subsection that follows the
  description of the Optional Assertions (section 2.6) and Ignorable
  Expressions (Section 2.7), in the Primer.


  Updated proposal:
  "2.8 Marking Assertions both Optional and Ignorable

  As described in the sections above and in Section 3.4.1, WS-Policy 1.5
  specification defines two attributes that can be used to mark an assertion:
  wsp:Optional and wsp:Ignorable.

  The WS-Policy Framework allows a policy assertion to be marked with both
  "optional" and "Ignorable" simultaneously. The presence of
  "@wsp:optional=true" on an assertion is a syntactic compact form for two
  alternatives, one with the assertion and the other without the assertion.
  Hence syntactically marking an assertion "A" with both the @wsp:Optional and
  @wsp:Ignorable with the value of "true" for both, is equivalent to two
  alternatives; one where the assertion A exists with @wsp:Ignorable=true and
  the second where the assertion A does not exist.

  ========
  Note: Separately Monica / Fabian plan to address issue of understandability
  and mode (?) with Section 3.4.1 and reference back to Section 2.8 if needed.

  Thanks,
  Prasad

Received on Thursday, 15 March 2007 09:43:02 UTC