This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 3554 - "Policy Alternatives" and "Policy" need proper definition
Summary: "Policy Alternatives" and "Policy" need proper definition
Status: RESOLVED FIXED
Alias: None
Product: WS-Policy
Classification: Unclassified
Component: Framework (show other bugs)
Version: FPWD
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Prasad Yendluri
QA Contact: Web Services Policy WG QA List
URL: http://lists.w3.org/Archives/Public/p...
Whiteboard:
Keywords: editorial
Depends on:
Blocks:
 
Reported: 2006-07-31 21:27 UTC by Prasad Yendluri
Modified: 2006-08-31 14:34 UTC (History)
3 users (show)

See Also:


Attachments

Description Prasad Yendluri 2006-07-31 21:27:04 UTC
From: public-ws-policy-request@w3.org [mailto:public-ws-policy-request@w3.org] On Behalf Of Prasad Yendluri
Sent: Wednesday, July 26, 2006 4:16 PM
To: public-ws-policy@w3.org
Subject: NEW ISSUE: "Policy Alternatives" and "Policy" need proper definit ion

Title: "Policy Alternatives" and "Policy" need proper definition
 
Description: Section 2.3 terminology defines a policy to be, a collection of policy alternatives
No further constraints on how these alternatives are grouped, i.e. on the origin of alternatives in the collection.

Similarly section 3.2 (Policy) defines a policy to be: a policy is a potentially empty collection of policy alternatives.

This collection does not account for level of nesting of a specific policy alternative. 

Section 2.3 terminology defines a Policy Alternative to be a collection of policy assertions only. 
No further restriction on how these assertions are grouped (or) the origin of the assertions in the collection.


Similarly section 3.2 (Policy Alternative) defines a policy alternative to be: 
A policy alternative is a logical construct which represents a potentially empty collection of policy assertions. An alternative with zero assertions indicates no behaviors.

This collection again does not account for level of nesting of a policy assertion included.

Justification:
There is scope for interpretation that needs to be eliminated. policy assertion and policy definitions need to account for level of nesting of the collection they define. 
 
Target: WS-Policy 1.5 - Framework
 
Proposal  Tighten up the definitions of policy and policy assertion. Sorry I have not come up suggestion for a specific replacement text at this point.
Hope to follow-up later.


Regards,
Prasad Yendluri
Comment 1 Daniel Roth 2006-08-01 00:01:57 UTC
Im having difficulty understanding this issue.  Some examples that demonstrate how the current definitions are ambiguous would be helpful.
Comment 2 Prasad Yendluri 2006-08-01 03:52:31 UTC
(In reply to comment #1)
> Im having difficulty understanding this issue.  Some examples that demonstrate
> how the current definitions are ambiguous would be helpful.
> 

See Example here: http://lists.w3.org/Archives/Public/public-ws-policy/2006Aug/0000.html
Comment 3 Asir V Selvasingh 2006-08-02 00:21:02 UTC
Hi Prasad,

Thank you for writing down these examples. Let us look at the two policy expressions in your e-mail below.

Policy 1 has two alternatives:
A1 = {assertion 6, assertion 8}
A2 = {assertion 7, assertion 8} 

Policy 2 has six alternatives:
A3 = {assertion 1, assertion 4}
A4 = {assertion 2, assertion 4}
A5 = {assertion 1, assertion 5, assertion 6}
A6 = {assertion 1, assertion 5, assertion 7}
A7 = {assertion 2, assertion 5, assertion 6}
A8 = {assertion 2, assertion 5, assertion 7}
 
Two policy alternatives are compatible if each policy assertion in one alternative is compatible with a policy assertion in the other and vice-versa. None of the above policy alternatives are compatible. 

Two policies are compatible if a policy alternative in one is compatible with a policy alternative in the other. Policy 1 and Policy 2 are incompatible because none of the policy alternatives in Policy 1 is compatible with a policy alternative in Policy 2.

Just as expected, these two policies are incompatible. I noticed that your example policies do not use any nested policy expression.

I hope this helps.

Regards,
 
Asir S Vedamuthu
Microsoft Corporation
Comment 4 Prasad Yendluri 2006-08-02 01:08:35 UTC
(In reply to comment #3)
> Hi Prasad,
> 
> Thank you for writing down these examples. Let us look at the two policy
> expressions in your e-mail below.
> 
> Policy 1 has two alternatives:
> A1 = {assertion 6, assertion 8}
> A2 = {assertion 7, assertion 8} 
> 
> Policy 2 has six alternatives:
> A3 = {assertion 1, assertion 4}
> A4 = {assertion 2, assertion 4}
> A5 = {assertion 1, assertion 5, assertion 6}
> A6 = {assertion 1, assertion 5, assertion 7}
> A7 = {assertion 2, assertion 5, assertion 6}
> A8 = {assertion 2, assertion 5, assertion 7}
> 
> Two policy alternatives are compatible if each policy assertion in one
> alternative is compatible with a policy assertion in the other and vice-versa.
> None of the above policy alternatives are compatible. 
> 
> Two policies are compatible if a policy alternative in one is compatible with a
> policy alternative in the other. Policy 1 and Policy 2 are incompatible because
> none of the policy alternatives in Policy 1 is compatible with a policy
> alternative in Policy 2.
> 
> Just as expected, these two policies are incompatible. I noticed that your
> example policies do not use any nested policy expression.
> 
> I hope this helps.
> 
> Regards,
>  
> Asir S Vedamuthu
> Microsoft Corporation
> 

Hi Asir,

> I noticed that your example policies do not use any nested policy expression.

Section 4.3.3 defines:

Equivalence 

wsp:Policy is equivalent to wsp:All 

So, for readability, I have not explicitly put wsp:policy brackets around things and used wsp:All.


If my  examples have been, 


 Example Policy 1:


 <wsp:All> 
   <!-- assertion 5 --> 
   <wsp:ExactlyOne>     
          <!-- assertion 6 --> 
          <!-- assertion 7 -->
   </wsp:ExactlyOne>
  </wsp:All>


Example Policy 2:


<wsp:All>
  <wsp:ExactlyOne>  
    <!-- assertion 1 -->
    <!-- assertion 2 -->
  </wsp:ExactlyOne>
  <wsp:ExactlyOne>  
    <!-- assertion 4 -->
     . . . .
     <wsp:policy> 
        <!-- assertion 5 -->  
        <wsp:ExactlyOne>   
          <!-- assertion 6 --> 
          <!-- assertion 7 -->
       </wsp:ExactlyOne>
    </wsp:policy>
    . .  .  .
  </wsp:ExactlyOne>
</wsp:All>

Would you not then have the same policy alternates for Policy 1 and the nested policy in policy 2?

I understand the way you came up with the production of the alternatives for each policy and agree that is the correct way to arrive at them.  The point of the issue however is that, the text of the specification is not explicit enough for this. What makes a nested alternative in a Policy specification not an alternative of the parent policy, when policy is only defined to be a collection of policy alternatives? The nested policy and hence the embedded alternative is part of the same collection is it not?

Regards,

Prasad
Comment 5 Asir V Selvasingh 2006-08-02 14:13:26 UTC
RE the text of the specification is not explicit enough for this

A full worked out example that demonstrates how the current definitions are ambiguous or not explicit enough is the best way to move forward on this.

Regards,

Asir S Vedamuthu
Microsoft Corporation
Comment 6 Asir V Selvasingh 2006-08-02 21:11:31 UTC
In the example above, it is not clear to me where assertions start and end. As described in Section 4.3.2 [1], a nested policy expression is a policy expression that is a child element of a policy assertion element:

"Any policy assertion MAY contain a nested policy expression. The schema outline for a nested policy expression is:

<Assertion >
  
  ( <wsp:Policy >  </wsp:Policy> )?
  
</Assertion>"

In the example above, it does not look like any of these assertions have nested policy expressions. Was this intentional? The normative text in Section 4.3.2 seems to be clear that this must be the case.

[1] http://www.w3.org/TR/2006/WD-ws-policy-20060731/#Policy_Assertion_Nesting

Regards,
 
Asir S Vedamuthu
Microsoft Corporation
Comment 7 Prasad Yendluri 2006-08-03 03:21:11 UTC
(In reply to comment #6)
> In the example above, it is not clear to me where assertions start and end. As
> described in Section 4.3.2 [1], a nested policy expression is a policy
> expression that is a child element of a policy assertion element:
> 
> "Any policy assertion MAY contain a nested policy expression. The schema
> outline for a nested policy expression is:
> 
> <Assertion >
>   
>   ( <wsp:Policy >  </wsp:Policy> )?
>   
> </Assertion>"
> 
> In the example above, it does not look like any of these assertions have nested
> policy expressions. Was this intentional? The normative text in Section 4.3.2
> seems to be clear that this must be the case.
> 
> [1] http://www.w3.org/TR/2006/WD-ws-policy-20060731/#Policy_Assertion_Nesting
> 
> Regards,
>  
> Asir S Vedamuthu
> Microsoft Corporation
> 

Hi Asir,

Yes the example above does have a nested policy.  I used  around the <wsp:policy> elements  on purpose, to skip some unnecessary detail, that are not needed to illustrate the issue at hand.

The point is that the nested policy in  Example Policy 2 has policy alternatives that are identical to the policy alternatives in Example Policy 1.
With the current (somewhat loose) specification of a policy to be a collection of policy alternatives, one can deduce that the alternatives in the nested Policy specification are alternatives of the parent policy also, which match the alternatives in Example Policy 1 (and hence the two policies are compatible etc.).  

It would be helpful to have more concrete definitions.

Regards,
Prasad
Comment 8 Prasad Yendluri 2006-08-08 23:07:34 UTC
Hi,

>Prasad, do you think we should describe these concepts with illustrative >examples in the Primer?

Asir, Dan and I had an offline discussion on this and I am happy to close this issue and issue 3553 with the resolution to explain / clarify these aspects in the primer.

Thanks.

Prasad
Comment 9 Prasad Yendluri 2006-08-09 18:08:50 UTC
This issue was Resolved in the Aug 09, 2006 WS-Policy WG meeting (minutes: http://www.w3.org/2006/08/09-ws-policy-minutes.html) with the resolution to retarget the issue at the primer. The primer will incorporate the explanotory text to clarify the definitions.