70 likes | 223 Views
AIR Policy Language Overview. V2. AIR Facts. AIR -- Accountability In RDF a policy language for dependency tracking represented in Turtle (an RDF syntax) + quoting (N3 logic) based on AMORD (a production-rule system) pattern matching (rete algorithm on RDF graph)
E N D
AIR Facts • AIR -- Accountability In RDF • a policy language for dependency tracking • represented in Turtle (an RDF syntax) + quoting (N3 logic) • based on AMORD (a production-rule system) • pattern matching (rete algorithm on RDF graph) • nesting of rules -- expressive • integrated explanation • goal direction -- efficient execution
Abstract-action label rdfs:Literal justification Abstract-container variable Variable rule Belief-rule goal-rule Goal-rule assertion Belief goal-assertion Goal assert Pattern assert-goal Pattern Abstract-rule pattern Pattern matched-graph Variable description Justification rule-id Abstract-rule antecedent Graph Abstract-assertion statement Pattern rdfs:Resource is-variable xsd:boolean compliant-with Policy non-compliant-with Policy AIR Vocabulary Abstract-container Abstract-action Policy Abstract-rule Abstract-assertion Belief-rule Belief Hidden-rule Goal Goal-rule Justification Graph Pattern ? air:alt Variable Contradiction Source: http://dig.csail.mit.edu/TAMI/2007/amord/air (out dated)
:DIGPolicy a air:Policy; air:variable :REQ, :REQUESTER, :RESOURCE, :MEMBERLIST; air:rule [ air:label "DIG policy"; air:pattern { :REQ a air:Request; foaf:openid :REQUESTER; air:resource :RESOURCE. :DIG foaf:member :MEMBERLIST. }; air:rule [ air:variable :MEMBER; air:label "Member access"; air:pattern { :MEMBER air:in :MEMBERLIST. :MEMBER a foaf:Person; foaf:openid :REQUESTER. }; air:assert { :REQ air:compliant-with :DIGPolicy } ]; air:rule [ air:variable :MEMBER, :FOAF-REQ; air:label "Member referral access"; air:pattern { :MEMBER air:in :MEMBERLIST. :MEMBER foaf:knows :FOAF-REQ. :FOAF-REQ foaf:openid :REQUESTER. }; air:assert { :REQ air:compliant-with :DIGPolicy } ] ]. AIR Specification & Example • Language Constructs • Policy • Rule • Variables • Pattern • Assertion • Rule Template • label • variable definition • (propagated variable-binding) • pattern • rule • assert • alt • justification
Adding If-Then-Else Semantics • :DecAccessPolicy a air:Policy; • air:variable :REQ, :REQUESTER, :RESOURCE; • air:rule :DAP-1,:DAP-3. • :DAP-3 a air:BeliefRule; • air:variable :MEMBER, :FOAF-REQ; • air:pattern { • :MEMBER air:in :MEMBERLIST. • :MEMBER foaf:knows :FOAF-REQ. • :FOAF-REQ foaf:openid :REQUESTER. • }; • air:assert { :REQ air:compliant-with :DIGPolicy }; • air:alt [ air:rule :DAP-4 ].
Referencing RDF graph rule-pattern is RDF graph pattern assertion is RDF graph Variable within air:abstractContainer variable scoping variable binding scoping Rule modeling Based on pattern matching semantics sub-rule: air:rule If-then-else: “air:alt Efficiency: belief rule and goal rule Technical Issues
References • J. de Kleer, J. Doyle, J. Guy L. Steele, and G. J. Sussman. AMORD Explicit Control of Reasoning. SIGPLAN Not.,12(8):116–125, 1977. • http://dig.csail.mit.edu/2008/Papers/IEEE%20Policy/air-overview.pdf