web rule languages to carry policies
play

Web Rule Languages to Carry Policies Nima Kaviani Laboratory for - PowerPoint PPT Presentation

Web Rule Languages to Carry Policies Nima Kaviani Laboratory for Ontological Research (LORe) Simon Fraser University Surrey, Canada nkaviani@sfu.ca http://www.sfu.ca/~nkaviani June 15 th , 2007 Outline Policy-based Trust Management


  1. Web Rule Languages to Carry Policies Nima Kaviani Laboratory for Ontological Research (LORe) Simon Fraser University Surrey, Canada nkaviani@sfu.ca http://www.sfu.ca/~nkaviani June 15 th , 2007

  2. Outline � Policy-based Trust Management � Web services and Policies � Policy Languages � PeerTrust, KAoS, and Rei � The communication issues � Interchange Frameworks � What is RIF? � What is R2ML � Using R2ML to exchange policies � The technical difficulties � The obtained results � Conclusions � Future Directions 2

  3. Policy-Based Trust Management � Web Services and Policy-Based Trust Management � Web services to facilitate collaboration � Trust Management to be used by web services � Policies to regulate Trust Management � Dynamically regulate the behavior of the system without any need to manipulate the internal code � Policies as Guiding Plans that restrict the behavior of the agents � To protect the privacy of information by providing different levels of access � Policy Management Approaches and the Languages that support it � Role Based (XACML, Cassandra) � Context Based (KAoS, Rei) 3

  4. Policy Languages � Existing Languages for Policy-based Trust Management � PeerTrust � Rei 1. Trust Negotiation Engine � KAoS 2. Text-based EBNF • Syntactically follows Description Logic (OWL-Lite) � A DAML/OWL based policy language (KPO) 3. Rules are defined in the form of definite horn clauses • Semantically follows Computational Logic (Prolog) � Robust, Adaptable, Extensible lit0 ← lit1, lit2, …, litn • FOWL as the meta-interpreter in the backend where � Policy Specification and Management � Enforcement liti is a predicate pj(t1, …, tn) • No policy enforcement � A GUI for policy manipulation 4. Low Expandability • SpeechActs for message passing and dynamic � Stanford’s JTP to perform static conflict resolution, intelligent 5. Easy to understand exchange of rights lookup, and dynamic policy refinement • No policy disclosure possibility 4

  5. Semantic Web Service Discovery & Composition • The Current Proposals – Combination of OWL-S and Rei [Kagal, et. al, 2004] – Combination of WSMO and PeerTrust [Olmedilla et.al, 2004] •Problems with the current approaches UDDI Requesting Client All Broker 3. Contacting the Agents , Service L Providers and UDDI D we S 1 . R W s Registries are e e l e q c u g t e i n s n o g t assumed to use f i a o f 2 t r n . p t r e Solution: C I o l i v G e i d the same policy n e t P r . 4 o l Possibility of i c i languages e s exchanging the I t is not the case Web Services policies in the real world 5. Reasoning over Broker Agent the received policies 6. Getting the results back Policy DataBase P Reasoning Engine [Kagal, et. al, 2004] Authorization and Privacy for Semantic Web services 5

  6. RE WE RSERule Markup Language ( R2ML ) • Rule Interchange Format (RIF) • RIF working group: defining a rule interlingua based on W3C standards • Develop a language to translate rules between rule languages and transform them between rule systems • Goal: enabling existing rule technologies to interoperate • R2ML features – A general rule interchange language – Admits to the RIF requirements – http://rewerse.net/I1/ – Current version 0.4 6

  7. R2ML cnt’d � Five General Rules � Integrity Rules � Derivation Rules � Production Rules � Reaction Rules � Transformation Rules if the user is a faculty then give him/her access to the meeting room if a visitor is part of a patients family then give him/her the allowance of visiting the patient 7

  8. R2ML cnt’d • Current Transformations to/from R2ML – R2ML as a pivotal MetaModel RuleML R2ML XML R2ML R2ML OWL/SWRL UML/OCL F-Logic Jess 8

  9. R2ML cnt’d • Current Transformations to/from R2ML – R2ML as a pivotal MetaModel – URML: UML based rule language with graphical notations RuleML R2ML XML R2ML R2ML OWL/SWRL UML/OCL F-Logic Jess 9

  10. Semantic Web Service Discovery Solution Enabling involved entities in Semantic Web Service discovery procedure to communicate Policies can be defined in the form of R2ML rules 10

  11. To get KAoSand Rei agents to communicate Providing transformations between KAoS and Rei [Grosof, et. al, 2003] • – Both are Context-Based policy languages – Both syntactically follow Ontology Languages – No straightforward mapping between Rei and KAoS – KAoS is based on Description Logic – Rei follows Computational Logic (Logic Programs) First-Order Logic Horn Logic Description Programs Logic Logic Programs Description Logic Programs KAoS (Negation as a Failure) Rei 11

  12. Mapping R2ML & Rei R2ML Rei Rei R2ML Derivation Modeling Deontic Each Deontic Rule Element with A Derivation Rule rules Element Variable Definition ObjectClassificationAtoms SimpleConstraint conditions OR qf.Disjunction R ReferenceProperty Atom The conclusion in the rule AND is a conjunction of elemenets conclusion Rule Decision NOT Atom is Negated SimpleConstraint ReferencePropertyAtoms SpeechActs ObjectDescriptionAtoms • We should get the identical Rei SubElements Object- or Data-Slots Policy: prohibit our system from using data that is accepted by the members of a group called UserActor 12

  13. Mapping R2ML & Rei – cnt’d <entity:Variable rdf:ID=”x”/> <entity:Variable rdf:ID=”y”/> <entity:Variable rdf:ID=”negAuth”/> <constraint:SimpleConstraint rdf:ID= " constraint1 " > 1 <constraint:subject rdf:resource= " #x " /> <r2ml:DerivationRule> <constraint:predicate rdf:resource= " &rdfs;type " /> <r2ml:conditions> <constraint:object rdf:resource= " #AcceptData " /> 1 <r2ml:ObjectClassificationAtom </constraint:SimpleConstraint> r2ml:classID=”#AcceptData”> <r2ml:ObjectVariable r2ml:name="x"/> <constraint:SimpleConstraint rdf:ID= " constraint2 " > </r2ml:ObjectClassificationAtom > <constraint:subject rdf:resource= " #y " /> <r2ml:ObjectClassificationAtom <constraint:predicate rdf:resource= " &rdfs;type " /> r2ml:classID=”#UserActor”> <r2ml:ObjectVariable r2ml:name="y"/> <constraint:object rdf:resource= " #UserActors " /> </r2ml:ObjectClassificationAtom > </constraint:SimpleConstraint> </r2ml:conditions> <r2ml:conclusion> <constraint:And rdf:ID= " conditions " > 4 <r2ml:ObjectDescriptionAtom <constraint:first rdf:resource= " #constraint1 " /> r2ml:classID="Prohibition"> <constraint:second rdf:resource= " #constraint2 " /> <r2ml:subject> </constraint:And> <r2ml:ObjectVariable r2ml:name="AcpDataP"/> </r2ml:subject> 3 <constraint:SimpleConstraint rdf:ID= " actor_value " > <r2ml:ObjectSlot 2 <constraint:subject rdf:resource= " #y " /> r2ml:referencePropertyID="controls"/> <constraint:predicate rdf:resourc= " #performedBy " /> <r2ml:ObjectVariable r2ml:name=”x” <constraint:object rdf:resource= " #x " /> r2ml:classID=”#Plcy_Action”> </constraint:SimpleConstraint> </r2ml:ObjectSlot> 2 <constraint:SimpleConstraint rdf:ID= " actio_value " > 3 <r2ml:ObjectSlot <constraint:subject rdf:resource= " #x " /> r2ml:referencePropertyID="performedBy"> <r2ml:ObjectVariable r2ml:name="y"/> <constraint:predicate rdf:resource= " controls " /> </r2ml:ObjectSlot> <constraint:object rdf:resource= " #Plcy_Action " /> </r2ml:ObjectDescriptionAtom> </constraint:SimpleConstraint> </r2ml:conclusion> 4 </r2ml:DerivationRule> <deontic:Prohibition rdf:ID=”AcpDataP”> <deontic:actor rdf:resource=”#actor_value”/> <deontic:action rdf:resource=”#action_value”/> <deontic:constraint rdf:resource=”#conditions”/> </deontic:Prohibition> R2ML Rei 13

  14. Mapping KAoS & R2ML •The KAoS Policy: prohibit our system from using data that is accepted by the members of a group called UserActor R2ML KAoS Rei Vocabulary KAoS Vocabulary Derivation Modeling OWL Policy Rule Elements with No Set in KAoS Rules constraints PosAuthorization conditions Deontic Rule R R ReferenceProperty Permission Atom Logical conclusion actor performedBy Consequent 14

  15. 15 Rei Action to R2ML ObjectDescriptionAtom KAoSand Rei Meta-Models

  16. 16 Rei SimpleConstraint to R2ML ObjectDescriptionAtom KAoSand Rei Meta-Models

  17. 17 KAoS Policy Rule to R2ML ObjectDescriptionAtom KAoSand Rei Meta-Models

Recommend


More recommend