OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xacml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xacml] And, Or, and N-Of



I also, seem to remember having to put the sentence "The order of
evaluation SHALL be from first argument to last.", and I didn't think that
was needed as well, but that probably caused the addition of the original
last sentence.

So, given what we originally had:

	If any argument while being evaluated according to this order
	raises an error, the expression SHALL return "Indeterminate".

the intention was that two different implementations couldn't return 
different results for:

(and true false _|_ ) = false

as opposed to:

(and true false _|_ ) = _|_  

The latter is precluded by the original sentence, but now with the current
sentence:

	In an expression that contains any of these functions, if any
	argument is "Indeterminate", then the expression SHALL evaluate to
	"Indeterminate".

we definitely now have:

(and true false _|_ ) = _|_  

which means that all the arguments MUST be evaluated (at least to the 
point of knowing there aren't any errors), and therefore,

(and true false _|_ ) = false

is now precluded.
 
I think I agreed to this interpretation because we could use
AttributeDesignators that would NOT toss an error if the attribute wasn't
present (i.e. the must-be-present="false" thingy).

However, since we did it in 1.0, we should probably stick with it, but the
sentence should be changed to be a bit more clearer.

	For an expression that is an application of this function, if ANY
	argument of to this function evaluates to "Indeterminate", then
	the expression SHALL evaluate to "Indeterminate".

We might want to make a non-normative remark for each of AND, OR, and 
N-OF.

It MAY NOT be necessary to attempt a full evaluation of each boolean
argument to a truth value in order to determine whether the evaluation of
the argument would result in "Indeterminate". Analysis of the argument
regarding its necessary attributes, or other analysis regarding errors
such as "divide-by-zero", may render the argument error free. In this
case, such arguments occurring in the expression in a position after the
evaluation is stated to stop need not be processed.

I'll make a motion in a separate Email.

Cheers,
-Polar




On Thu, 10 Jul 2003, Seth Proctor wrote:

> On Thu, 2003-07-10 at 15:24, Polar Humenn wrote:
> > Also, I'm a little concerned about the definitions of and, or, and n-of. 
> > It seems that we changed the last sentence of each of these descriptions 
> > from:
> > 
> > 	If any argument while being evaluated according to this order
> > 	raises an error, the expression SHALL return "Indeterminate".
> > 
> > to
> > 
> > 	In an expression that contains any of these functions, if any argument is 
> > 	"Indeterminate", then the expression SHALL evaluate to
> > 	"Indeterminate".
> > 
> > Aside from being a horrible sentence (did I write that? :), it changes the
> > meaning entirely.
> 
> I seem to recall a conversation about this when the text was changed
> (though now I can't find the email). I was also concerned, but I was
> told that the meaning wasn't changed by the new text. Personally, I find
> the new text terrible, and I don't understand why the change was made,
> but there it is. Does anyone else remember this, or am I making things
> up? I know I was told that short-circuit evaluation was still correct,
> but I can't find anything to back that up now...
> 
> As an aside, I can see how you read the new text to say that it's still
> ok to do short-circuit evaluation, it's just less clear. I think we're
> supposed to read "an argument is 'Indeterminate'" to mean that we
> evaluate in order and find something that's Indeterminate. But, again, I
> could have this one wrong. If I am wrong, then this is a problem that
> should be addressed.
> 
> 
> seth
> 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]