Advanced Semantic Web Policies ____ Preferences and Reactivity Philipp Kärger L3S Research Center, Leibniz University Hannover Research Seminar, DERI Galway, Ireland, July 31 st 2008
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Outline Semantic Web Policies what are they? what do they serve for? Preferences and Policies Why should there be preferences? A Trust Negotiation scenario. Preferences used in two ways for solving the problem Reactive Policies Why should they be reactive? A communication scenario. Combing a reactivity framework and a policy framework
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Me and the intention of this talk three weeks research visit at DERI This talk should provide you with some background in Semantic Web policies ideas of past and planned research not too many details, rather general for questions, please interrupt! my project context: REWERSE OKKAM TENCompetence
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity What is a policy? In a very broad way, a policy is defined as a statement defining the behaviour of an entity.
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Policies - Examples “If customers are younger than 26 give a 20% discount on goods subclassing ‘educational item’.” “Up to 15% of network bandwidth can be reserved if payment is done with an accepted credit card” “Move s sent by my FOAF-friends to the folder ‘private’.”
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Policies are everywhere Business rules, B2B contracts e.g. quantity flexible contracts, late delivery penalties Negotiation e.g. rules associated with auction mechanisms Security e.g. access control policies Privacy Information Collection Policies (“ P3P Privacy Policies”) Workflow management What to do under different sets of conditions Context aware computing Context-sensitive preferences [ by Norman Sadeh, Semantic Web Policy Workshop panel, ISWC 2005 ]
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Policies on the Semantic Web Build Semantic Web applications/systems/agents where Behaviour can depend on Semantic Web knowledge, that is events, facts, relation between concepts, messages exchanged, etc. e.g., “You can get access if you are a FOAF of mine.”
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Policies on the Semantic Web: Benefits Reasoning about agent behavior Behaviour can be changed/updated without re-coding, re-compiling, re-installing, etc. in a costless manner Explicit license for autonomous behavior Reusability Extensibility Context-sensitivity Verifiability Support for simple as well as sophisticated agents Protection from poorly-designed, buggy agents
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Trust Negotiation: Policies in Action Aliceon-line book shop Disclose CreditCard IF Requestor has BBB certificate Disclose Book IF Requestor discloses valid CredidCard Disclose BBB certificate to any requestor request for a book “for the book I need a CreditCard” “for the CreditCard I need a BBB cert.” policy:
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Trust Negotiation: used for … Trust Negotiation is used for Access control Dynamic contracts E.g., in web service composition Autonomic computing Pervasive environments E.g., sensor networks Service-level agreements e.g., more service for certain requestors Etc.
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Protune – Rule-based Policies on the Semantic Web a policy framework developed at L3S Research Center and Naples University provides a logic-based, declarative policy language features include trust negotiation external actions access to relational databases, RDF stores, file system requests, time and location-aware packages policy explanations “You cannot access because …” (in contrast to just “Access denied.”) Demo at:
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Let’s talk about advanced policies … Current Semantic Web policy frameworks miss two important features: 1. Preferences 2. Reactivity
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Policies and Preferences What if a policy evaluation has more than one result? Aliceon-line book shop Disclose CreditCard IF Requestor has BBB certificate Disclose bank account information IF Requestor has BBB certificate request for a book “for the book I need a CreditCard or your bank account information” Which Credential? CreditCard or bank account information? exploit user preferences in the negotiation process to decide
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Preference handling a preference is an order of values having a decreasing preference “I prefer green to red and my last option is brown.” “I prefer English but German is also fine.” preferences are known from: databases: preference queries [Werner Kießling: Preference SQL: design, implementation, experiences. 2002] [Jan Chomicki: Preference formulas in relational queries. 2003] logic programming: preferring answer set [Gerhard Brewka, Thomas Eiter: Preferred Answer Sets for Extended Logic Programs. 1999] 1 2
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Preferences in Policies - the database approach Idea: exploit user preferences over the credentials: generate all possible next steps in the negotiation and select the optimal step according to these preferences like selecting the optimal entry in a database with a preference query for example { , date of birth, passport, credit card } is preferred to { name, ID, bank account } according to the above preferences.
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Preferences in Policies - the database approach (2) drawbacks of this approach: non-preferred disclosure sets are first created although they will be thrown away later conditional preferences can not depend on arbitrary conditions e.g., “A is preferred to B only if it is sunny in Galway.” preferences are defined on grounded literals (representing credentials) i.e., preference statements with variables are impossible e.g., “ X is preferred to Y only if age( X ) > age( Y ).” Solution: defining the preferences as parts of the policies.
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Preference and Policies – a log. progr. approach A policy with preferences: If possible: Disclose bank account Otherwise: Disclose credit card IF Requestor has BBB certificate inspired by Answer Set Programming with Ordered Disjunctions: advantage: variables in preferences arbitrary conditions for preferences non-preferred solutions (here answer sets) are not created so far no partial order preferences possible requires extensions
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Let’s talk about advanced policies … Current Semantic Web policies miss two important features: 1. Preferences 2. Reactivity
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies While doing valuable research … Notify me if one of my contacts has birthday and goes online. If someone phones me while I am on a call, deny the call and open a chat instead. Show my date of birth only to family members. Automatically accept “share contact dates” for DERI members and for the contacts of my family. Always accept files sent by DERI members but only if it’s not an exe file. My students can call me only on Wednesday morning. After the semester, deny their calls. DERI members can only call me during business hours.
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies vs. Current Policies Current policies define under which circumstances conditions are true. for example, who exactly gets access why we grant access what is needed to get access
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies vs. Current Policies But what is missing in current policy frameworks? When is the policy evaluated? Triggering Events What exactly happens if a policy is evaluated to true or false? Actions (as reactions to events) IF EVENT “call comes in” HAPPENS AND “I am on another call” HOLDS PERFORM ACTION “deny call and open chat” If someone phones me while I am on a call, deny the call and open a chat instead. Reactivity!
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies - Applications applications for Reactive Semantic Web Policies: react to changes in the Semantic Web notifications of changes propagation of events and updates automated re-crawling of Semantic Web resources making applications Semantic Web driven (e.g., communication in messengers)
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Research on Reactivity Reactivity in Databases: “Active Database Systems”, Book, 1995 many more Reactivity on the web: “An Event Condition Action Language for XML”, WWW2002 EDBT 2006 Workshop “Reactivity on the Web” REWERSE Work Package “Evolution and Reactivity” some more
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies - Approach Claim: We need policies that allow for reactivity. Solution: Reactive Policies also called Event Condition Action Policies
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Event Condition Action Policies -inspired by Event Condition Action Rules (ECA rules) -always three components: -Event: when is the rule evaluated -Condition: what has to be satisfied -Action: what is the reaction to the event ON a call comes in IF I am on another call DO deny call and open chat If someone phones me while I am on a call, deny the call and open a chat instead.
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies – An Implementation Idea: Combining a Reactive Framework and a Policy Framework: r³ and Protune
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies r 3 – Resourceful Reactive Rules r 3 – Resourceful Reactive Rules (developed at the AI Center, Universida de Nova de Lisboa (Portugal)) (Semantic) Web Rule Engine for Reactive Rules evaluates rules of the form: myEventLanguage:SkypeCallComesIn(User) myConditionLanguage:isNotTrusted(User) myActionLanguage:denyCall(User) plugging in arbitrary languages makes it really flexible
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies - Combining r 3 and Protune L3S Research Seminar Protune external actions any event language (e.g., XChange, Prova) myEventLanguage:SkypeCallComesIn(User) PROTUNE:isNotTrusted(User) PROTUNE:denyCall(User) Protune goals
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Reactive Policies - Benefits Protune allows for negotiations, information exchange provides explanations allows for (external) actions r³ allows for arbitrary event languages evaluates Event Condition Action rules handles the binding across events, conditions, actions making policies reactive enhance reactivity with policies
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Summary Semantic Web Policies used to define automated behavior Policies in action: Trust Negotiation a Semantic Web policy framework: Protune Preferences in Policies needed for adequate representation of user intention two approaches inspired by Databases and Log. Progr. ECA policies enhance policies with events and actions needed for many Semantic Web applications combining r³ and Protune merges policies and reactivity L3S Research Seminar
Philipp Kärger, L3S Research Center DERI Galway, July 31 st, Advanced Semantic Web Policies – Preferences and Reactivity Thank you for your attention. Please let me know if there are any questions. Philipp Kärger