OASIS eXtensible Access Control Markup Language (XACML) TC

 View Only

RE: [xacml] E-mail vote results, and one outstanding question...

  • 1.  RE: [xacml] E-mail vote results, and one outstanding question...

    Posted 04-16-2002 18:27
    Title: RE: [xacml] E-mail vote results, and one outstanding question... Hi Konstantin, Yes, this definitely helps. However, if we need to point to a section in the OCL spec in order to explain what is meant by certain operators, then I'm more convinced than ever that the pseudocode currently in Section 7.1 is preferable.  That pseudocode seems crystal clear to me (without having to read any further explanations!) and its semantics should be immediately clear to any software implementer, which is the ultimate intent. Am I the only one feeling hesitant about using OCL for our combiner algorithms?  Did everyone else in the group look at the OCL example and know instantly what code they would have to write to implement that combiner? Carlisle. ---------- From:   Beznosov, Konstantin[SMTP:Konstantin.Beznosov@Quadrasis.com] Sent:   Monday, April 15, 2002 4:12 PM To:     Carlisle Adams; xacml@lists.oasis-open.org Subject:        RE: [xacml] E-mail vote results, and one outstanding question... Carlisle,   To help clarifying one of the questions from your message, here's a section from OCL spec on "exists" operation on collections: ------------------------------------------------------------------------------------ Many times one needs to know whether there is at least one element in a collection for which a constraint holds. The exists operation in OCL allows you to specify a Boolean expression that must hold for at least one object in a collection: collection->exists( v : Type boolean-expression-with-v ) collection->exists( v boolean-expression-with-v ) collection->exists( boolean-expression ) This exists operation results in a Boolean. The result is true if the boolean-expression-with-v is true for at least one element of collection. If the boolean-expression-with-v is false for all v in collection , then the complete expression evaluates to false. For example, in the context of a company: context Company inv : self.employee->exists( forename = 'Jack' ) context Company inv : self.employee->exists( p p.forename = 'Jack' ) context Company inv : self.employee->exists( p : Person p.forename = 'Jack' ) These expressions evaluate to true if the forename feature of at least one employee is equal to 'Jack.' ------------------------------------------------------------------------------------------- Hope this helps.   Konstantin