- From: Asir Vedamuthu <asirveda@microsoft.com>
- Date: Wed, 17 Jan 2007 09:02:22 -0800
- To: Christopher B Ferris <chrisfer@us.ibm.com>, <public-ws-policy@w3.org>
The following is a joint proposal from Asir, Dan, Maryann and Umit. This proposal solves the general case. Change 1 (Target: Section 4.3, Compact Policy Expression): s/4. Apply the policy operator indicated by D to the normalized Element Information Items in its [children] property and construct a normal form per Section 4.3.3 Policy Operators./4. Apply the policy operator indicated by D to the normalized Element Information Items in its [children] property and construct a normal form per Section 4.3.3 Policy Operators and 4.1 Normal Form Policy Expression./ Change 2 (Target: 4.3.3 Policy Operators) Add a new primitive rule to the 'Equivalence' sub section: A collection of assertions in an wsp:All operator is equivalent to a policy alternative. For instance, <wsp:All> <!-- assertion 1 --> <!-- assertion 2 --> </wsp:All> is equivalent to <wsp:ExactlyOne> <wsp:All> <!-- assertion 1 --> <!-- assertion 2 --> </wsp:All> </wsp:ExactlyOne> Regards, Asir S Vedamuthu Microsoft Corporation From: public-ws-policy-request@w3.org [mailto:public-ws-policy-request@w3.org] On Behalf Of Christopher B Ferris Sent: Tuesday, January 16, 2007 11:54 AM To: public-ws-policy@w3.org Subject: RE: NEW ISSUE 4138: Normalization Algorithm is broken The WG is considering a proposal discussed this morning in the F2F. Specifically, add the following step to the set of steps in http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/ws-policy-framework.html?content-type=text/html;%20charset=utf-8#Compact_Policy_Expression 5. If the resulting expression contains a single assertion or a set of assertions grouped by wsp:All, the expression is equivalent to a policy with a single alternative where the content of the resulting expression comprises its content. See http://www.w3.org/2007/01/16-ws-policy-irc#T19-51-29 Please respond to this thread with any support or concerns. Discussion and resolution will be taken up during tomorrow's f2f proceedings. Cheers, Christopher Ferris STSM, Software Group Standards Strategy email: chrisfer@us.ibm.com blog: http://www.ibm.com/developerworks/blogs/page/chrisferris phone: +1 508 377 9295 public-ws-policy-request@w3.org wrote on 01/16/2007 12:14:22 PM: > I am glad at least we agree that is the expected semantics. > > I guess what we do not agree is the explicitness of the rule 4 to get there. > > --umit > > > From: public-ws-policy-request@w3.org [mailto:public-ws-policy- > request@w3.org] On Behalf Of Asir Vedamuthu > Sent: Monday, Jan 15, 2007 11:51 PM > To: Yalcinalp, Umit; public-ws-policy@w3.org > Subject: RE: NEW ISSUE 4138: Normalization Algorithm is broken > >"what is the expected result" > > <Policy> > <ExactlyOne> > <All> > <wsap:UsingAddressing/> > </All> > </ExactlyOne> > </Policy> > > How to get there? > > Rule 4 applies. The Policy operator is equivalent to All. That is, > '<All><wsap:UsingAddressing/></All>'. This is a policy alternative > with one assertion. Construct a normal form as per Section 4.1 = the > above result. > > I hope this helps. > > Regards, > > Asir S Vedamuthu > Microsoft Corporation > > > From: public-ws-policy-request@w3.org [mailto:public-ws-policy- > request@w3.org] On Behalf Of Yalcinalp, Umit > Sent: Monday, January 15, 2007 10:36 AM > To: Asir Vedamuthu; public-ws-policy@w3.org > Subject: RE: NEW ISSUE 4138: Normalization Algorithm is broken > > Asir, > > Instead of thinking of "what is the minimum change", I would like to > approach it as to "what is the expected result" first and then find > out how we can achieve it. > > Could you tell me first what the normalized form of > > <wsp:Policy> > <wsap:UsingAddressing/> > </wsp:Policy> > > is? > > Lets go from there. "Construct a normal form" for this does not > really follow and indicate what the result should be. > > Thanks, > > --umit > > > > From: Asir Vedamuthu [mailto:asirveda@microsoft.com] > Sent: Sunday, Jan 14, 2007 10:59 PM > To: Yalcinalp, Umit; public-ws-policy@w3.org > Subject: RE: NEW ISSUE 4138: Normalization Algorithm is broken > >Thus, readers following the Framework with > >the primer document and trying to formulate > >a normal form will not be able to get what > >they want. > > First, thank you for carefully reviewing the normalization algorithm > and manually working out an example (this is equivalent to running a > unit test). > > We looked into interop test cases. There are many test cases that > use the form <Policy><wsap:UsingAddressing /></Policy> in the > contributed interop scenarios pack [1]. Several implementers ran > these test cases. The good news is that there aren't any related > interop issues. > > Framework document says [2], "4. Apply the policy operator indicated > by D to the normalized Element Information Items in its [children] > property and construct a normal form per Section 4.3.3 Policy Operators." > > In the above sentence, 'construct a normal form' is the key phrase > and it refers to the normal form in Section 4.1 [3]. Section 4.1 XML > outline and prose describe how a policy alternative in the normal > form looks like. To help readers make this connection, we suggest > that the normalization algorithm carry an explicit reference to the > normal form. This means, the proposed change is: > > s/4. Apply the policy operator indicated by D to the normalized > Element Information Items in its [children] property and construct a > normal form per Section 4.3.3 Policy Operators./4. Apply the policy > operator indicated by D to the normalized Element Information Items > in its [children] property and construct a normal form per Section > 4.3.3 Policy Operators and 4.1 Normal Form Policy Expression./ > > We belive that the above proposed change is the minimum needed to > resolve issue 4138 [4]. > > [1] http://lists.w3.org/Archives/Public/public-ws-policy/2006Jun/0010.html > [2] http://www.w3.org/TR/2006/WD-ws-policy-20061117/#Compact_Policy_Expression > [3] http://www.w3.org/TR/2006/WD-ws- > policy-20061117/#Normal_Form_Policy_Expression > [4] http://www.w3.org/Bugs/Public/show_bug.cgi?id=4138 > > Regards, > > Asir S Vedamuthu > Microsoft Corporation > > > > > From: public-ws-policy-request@w3.org [mailto:public-ws-policy- > request@w3.org] On Behalf Of Yalcinalp, Umit > Sent: Tuesday, January 02, 2007 11:58 AM > To: public-ws-policy@w3.org > Subject: NEW ISSUE: Normalization Algorithm is broken > > Title: Normalization Algorithm is broken > Description: The Normalization Algorithm in the WS-Policy framework > is broken in converting a single expression of conjuncts in compact > form to an equivalent expression normal form and does not lead to a > normal form expression as illustrated below. > For expressions of the following form where the wsp:Policy element > may have single element child, or a multiple element children > composition with wsp:All such as: > <wsp:Policy> > <ex:Assertion1/> > </wsp:Policy> > or > <wsp:Policy> > <wsp:All> > <ex:Assertion1/> > <ex:Assertion2/> > </wsp:All> > </wsp:Policy> > The normalization algorithm fails to convert this into an equivalent > expression. It would be expected to derive a normal form expression > with a single alternative of the form from such expressions. > <wsp:Policy> > <wsp:ExactlyOne> > <wsp:All> > List of Assertions > </wsp:All> > </wsp:ExactlyOne> > </wsp:Policy> > but the algorithm fails to do so. > In both cases, there is no wsp:optional attribute to introduce two > alternatives into the resulting expression converted to the normal > form. Thus, no wsp:exactlyOne is introduced in this case, and the > resulting expression can not be normalized. > Note that the primer [1] uses such an example for the use of WS- > Addressing in Example 2.2. Thus, readers following the Framework > with the primer document and trying to formulate a normal form will > not be able to get what they want. I will illustrate the result > using the following example: > <Policy> > <wsap:UsingAddressing /> > </Policy> > Taking the first form (a single child element) as an example, here > is the rundown of the normalization algorithm: > > 1. Start with the [document element] property D of the Document > Information Item of the policy expression. The [namespace name] of Dis always" > http://www.w3.org/2006/07/ws-policy". In the base case, the [local name] > property of D is "Policy"; in the recursive case, the [local name] > property of D is "Policy", "ExactlyOne", or "All". > 2. Expand Element Information Items in the [children] property of D > that are policy references per Section 4.3.5 Policy Inclusion. > 3. Convert each Element Information Item C in the [children] > property of D into normal form. > 1. If the [namespace name] property of C is "http://www.w3. > org/2006/07/ws-policy" and the [local name] property of C is "Policy", > "ExactlyOne", or "All", C is an expression of a policy operator; > normalize C by recursively applying this procedure. > 2. Otherwise the Element Information Item C is an assertion; > normalize C per Sections 4.3.1 Optional Policy Assertions and 4.3.2 > Policy Assertion Nesting. > 4. Apply the policy operator indicated by D to the normalized > Element Information Items in its [children] property and construct a > normal form per Section 4.3.3 Policy Operators. > > Here is what happens if you follow this step by step. > 1. applies <wsp:Policy> > 2. does not apply > 3. The element information item C is wsap:UsingAddressing. > 4. does not apply > 5. there is nothing to normalize (as 4.3.1, or 4.3.2 does not apply) > 6. The policy operator indicated by D is wsp:Policy which is > equivant to "wsp:All" > "Applying" wsp:All to wsaw:UsingAddressing is > <wsp:All><wsaw:UsingAddressing/></wsp:All> > There is no optional assertion, etc. Thus, <wsp:exactlyOne> is > not introduced anywhere per the rules of the algorithm. > The resulting Expression is > <wsp:All><wsaw:UsingAddressing/></wsp:All> > This is not in normal form!!! > It is noted that it is impossible to convert an assertion which does > not have an wsp:optional attribute to a normal form. This appears to > be a deficiency of the algorithm, and not its intention. This is a > bug in the framework. > Justification: > A common form of the expression is expected to work without the > presence of wsp:optional attribute. It is possible to create such > expressions using the policy framework. As a matter of fact, the > example is from our own primer document itself. The algorithm should > work for simple cases when single alternatives are intended by > compact form as well as complicated cases where alternatives are > introduced by the presence of the wsp:optional attribute implicitly. > The algoritm should not assume the presence of wsp:optional to > introduce alternatives. > Proposal: > Add another step for the normalization algorithm along the lines of > 7. If the resulting expression contains no alternatives, the > expression is equivalent to a policy with a single alternative where > the content of the resulting expression comprises its content. > > This issue is filed as [Bug 4138] with the content that is provided above. > > [1] http://www.w3.org/TR/2006/WD-ws-policy-primer-20061018/ > [Bug 4138] http://www.w3.org/Bugs/Public/show_bug.cgi?id=4138 > > ---------------------- > Dr. Umit Yalcinalp > Research Scientist > SAP Labs, LLC > Email: umit.yalcinalp@sap.com Tel: (650) 320-3095 > SDN: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/u/36238 > -------- > "Nearly all men can stand adversity, but if you want to test a man's > character, give him power." Abraham Lincoln. >
Received on Wednesday, 17 January 2007 17:07:14 UTC