- From: Ashok Malhotra <ashok.malhotra@oracle.com>
- Date: Wed, 25 Apr 2007 06:32:25 -0700
- To: "Frederick Hirsch" <frederick.hirsch@nokia.com>
- CC: "ws policy" <public-ws-policy@w3.org>
In the interest of putting all solutions on the table, I should mention a solution that Anne Anderson of SUN suggested in a private communication:
Store the vocabulary explicitly within the policy.
I'm not recommending this.
All the best, Ashok
> -----Original Message-----
> From: public-ws-policy-request@w3.org [mailto:public-ws-policy-
> request@w3.org] On Behalf Of Frederick Hirsch
> Sent: Wednesday, April 25, 2007 5:45 AM
> To: ext Sergey Beryozkin
> Cc: Frederick Hirsch; Fabian Ritzmann; David Orchard; Ashok Malhotra; ws
> policy
> Subject: Re: What is the Vocabulary of an Intersected Policy
>
>
> +1
>
> it will be incredibly confusing to save a resulting policy from
> intersection and then later try to guess what is in the vocabulary
> that isn't explicitly there in the policy.
>
> Shouldn't the result of intersection be a self-describing policy in
> itself?
>
> regards, Frederick
>
> Frederick Hirsch
> Nokia
>
>
> On Apr 25, 2007, at 7:19 AM, ext Sergey Beryozkin wrote:
>
> > Hi
> >
> > I agree with what Fabian says...
> >
> > I don't understand how adding the client policy's vocabulary into
> > the effective policy's vocabulary can help the client make any
> > useful decisions generically.
> > If the provider's policy has A&B assertions and client policy has
> > B&C, then the fact that the provider hasn't included C does not
> > mean anything specifc, it may mean negation or may not. The service
> > may still fully support C but it's perfectly legal for it not to
> > expose it.
> > Adding C to the intersected policy's vocabulary won't tell the
> > client reliably that C can not be applied. I agree that adding it
> > probably won't harm either but I can't see how it will help.
> > I personally see the negation can only be a domain specific
> > feature, that is if the assertion A can have 2 other nested
> > policies B & C, then if in a given policy expression A only has a
> > nested B then it might mean, as defined by the documentation of A,
> > that C is not supported..., all this in scope of A only
> >
> > Thanks, Sergey
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "Fabian Ritzmann" <Fabian.Ritzmann@Sun.COM>
> > To: "David Orchard" <dorchard@bea.com>
> > Cc: "Ashok Malhotra" <ashok.malhotra@oracle.com>; "ws policy"
> > <public-ws-policy@w3.org>
> > Sent: Wednesday, April 25, 2007 11:58 AM
> > Subject: Re: What is the Vocabulary of an Intersected Policy
> >
> >
> > David Orchard wrote:
> > > If your point is that our definition of policy vocabulary is strict
> > > enough that it means that "vocabulary" doesn't make sense to
> > apply to
> > > a policy intersection result, then that might be fair
> >
> > Sort of. My point was the the policy intersection result is a
> > policy in
> > its own right with its own distinct vocabulary.
> >
> > > in which case we might need "policy pre-intersection vocabulary" and
> > > "policy post-intersection vocabulary" terms or the rough
> > equivalents.
> >
> > Personally, I don't see the necessity for additional terms, because
> > pre-intersection we have two policies each with their distinct
> > vocabularies, post-intersection we have one policy with its own
> > distinct
> > vocabulary.
> >
> > Fabian
> >
> >
> > > *From:* public-ws-policy-request@w3.org
> > > [mailto:public-ws-policy-request@w3.org] *On Behalf Of *Fabian
> > > Ritzmann
> > > *Sent:* Monday, April 23, 2007 10:50 AM
> > > *To:* Ashok Malhotra
> > > *Cc:* ws policy
> > > *Subject:* Re: What is the Vocabulary of an Intersected Policy
> > >
> > > Hi,
> > >
> > > I don't want to get into the proposed solution because I
> > think the
> > > premise isn't entirely right. Ashok summarizes:
> > >
> > >> Now, what is the vocabulary of this policy ? Looking at this
> > >> policy alone it should be { A, B}.
> > >>
> > >> BUT, Chris points out the vocabulary should be {A,B,C,D} to
> > >> remember the fact that this was the union of the
> > vocabularies of
> > >> the two intersected policies and that {C. D} must not be
> > applied
> > >> since they were not selected.
> > >>
> > >
> > > This is the definition of policy vocabulary:
> > >
> > > A *policy vocabulary* is the set of all policy assertion types
> > > <http://dev.w3.org/cvsweb/%7Echeckout%7E/2006/ws/policy/ws-
> > policy-framework.html?content-type=text/
> > html;charset=utf-8#policy_assertion_type>
> > > used in a policy.
> > >
> > >
> > > I don't see how one could derive from there that you must
> > remember
> > > policy assertion types from a policy that served as input to
> > > intersection. The policies that are the input for the
> > intersection
> > > and the policy that is the result of the intersection are
> > > different entities. Each has their own policy vocabulary.
> > >
> > > Fabian
> > >
> > >
> > > Ashok Malhotra wrote:
> > >>
> > >> We spoke briefly about this on the call today and I see a
> > problem.
> > >>
> > >> This note is an attempt to state the problem clearly .
> > >>
> > >> Consider two normalized policies:
> > >>
> > >> <Policy>
> > >>
> > >> <ExactlyOne>
> > >>
> > >> <All>
> > >>
> > >> <A/>
> > >>
> > >> <B/>
> > >>
> > >> </All>
> > >>
> > >> <All>
> > >>
> > >> <C/>
> > >>
> > >> </All>
> > >>
> > >> </ExactlyOne>
> > >>
> > >> </Policy>
> > >>
> > >> < Policy>
> > >>
> > >> < ExactlyOne>
> > >>
> > >> <All>
> > >>
> > >> <A/>
> > >>
> > >> <B/>
> > >>
> > >> </All>
> > >>
> > >> <All>
> > >>
> > >> <D/>
> > >>
> > >> </All>
> > >>
> > >> </ExactlyOne>
> > >>
> > >> </Policy>
> > >>
> > >> Let us intersect these two policies. What we get is:
> > >>
> > >> <Policy>
> > >>
> > >> <ExactlyOne>
> > >>
> > >> <All>
> > >>
> > >> <A/>
> > >>
> > >> <B/>
> > >>
> > >> </All>
> > >>
> > >> </ExactlyOne>
> > >>
> > >> </Policy>
> > >>
> > >> Now, what is the vocabulary of this policy ? Looking at this
> > >> policy alone it should be { A, B}.
> > >>
> > >> BUT, Chris points out the vocabulary should be {A,B,C,D} to
> > >> remember the fact that this was the union of the
> > vocabularies of
> > >> the two intersected policies and that {C. D} must not be
> > applied
> > >> since they were not selected.
> > >>
> > >> This seems like a contradiction. To remember the negative
> > >> decision we need to include assertions that are not in the
> > policy
> > >> , in its vocabulary.
> > >>
> > >> SOLUTIONS:
> > >>
> > >> The only viable solution that I can se e is to drop the '
> > >> negation ' semantic, namely, " When an assertion whose type is
> > >> part of the policy's vocabulary is not included in a policy
> > >> alternative, the policy alternative without the assertion type
> > >> indicates that the assertion will not be applied in the context
> > >> of the attached policy subject." (Dale was arguing for this on
> > >> other grounds as well) Some would object strongly to this. A
> > >> counter proposal would be to add an explicit NOT operator.
> > >>
> > >> Unfortunately, these are radical suggestions but I do not
> > see any
> > >> other way out.
> > >>
> > >> All the best, Ashok
> > >>
> > >
> >
>
>
Received on Wednesday, 25 April 2007 13:32:57 UTC