Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information...

48
Distributed Rule Distributed Rule Responder Querying on the Responder Querying on the Semantic Web Semantic Web Harold Boley Harold Boley Institute for Information Technology Institute for Information Technology National Research Council, Canada National Research Council, Canada Fredericton, NB, Canada Fredericton, NB, Canada ICDIM 2010 6 July 2010 6 July 2010 ISO 15926 and Semantic Technology Conference 2010 10 September 2010 10 September 2010

Transcript of Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information...

Page 1: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

Distributed Rule Responder Distributed Rule Responder Querying on the Semantic Querying on the Semantic

WebWeb

Harold BoleyHarold BoleyInstitute for Information TechnologyInstitute for Information TechnologyNational Research Council, Canada National Research Council, Canada

Fredericton, NB, CanadaFredericton, NB, Canada

ICDIM 20106 July 20106 July 2010

ISO 15926 and Semantic Technology Conference 2010

10 September 201010 September 2010

Page 2: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

22

OutlineOutline Rule Responder OverviewRule Responder Overview Agent TypesAgent Types

Personal, Organizational, and ExternalPersonal, Organizational, and External Infrastructure for Realizing AgentsInfrastructure for Realizing Agents

Reaction RuleML Messages: PerformativesReaction RuleML Messages: Performatives Mule ESB: Communication MiddlewareMule ESB: Communication Middleware Rule Engines: Prova, OO jDREW, and DR-DeviceRule Engines: Prova, OO jDREW, and DR-Device

Symposium Planner Use CaseSymposium Planner Use Case Query Delegation and AnsweringQuery Delegation and Answering Knowledge in Organizational and Personal AgentsKnowledge in Organizational and Personal Agents Role Assignment Ontology: Topic Role Assignment Ontology: Topic Personal Agent Personal Agent Assisting the General, Publicity, and Program ChairsAssisting the General, Publicity, and Program Chairs

Conclusion and Future WorkConclusion and Future Work

Page 3: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

33

Overview of Rule Responder Overview of Rule Responder (I)(I)

Rule Responder is a multi-agent systemRule Responder is a multi-agent systemfor for collaborative teamcollaborative team and and communitycommunity support on the (Social Semantic) Websupport on the (Social Semantic) Web

Enables rule-based collaboration betweenEnables rule-based collaboration betweenthe distributed human members the distributed human members personspersons of such a of such a virtual organizationvirtual organization

Persons of an organization are assisted by Persons of an organization are assisted by semi-automated rule-based agentssemi-automated rule-based agents, , which use rules (and various ontologies) to which use rules (and various ontologies) to describe the describe the decisiondecision and and behavioralbehavioral logiclogic

Page 4: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

44

Overview of Rule Responder Overview of Rule Responder (II)(II)

Uses languages and engines of the Uses languages and engines of the RuleML family for rule serialization, RuleML family for rule serialization, based on logic and XML: based on logic and XML: Hornlog RuleML: Reasoning (Hornlog RuleML: Reasoning (decisiondecision)) Reaction RuleML: Interaction Reaction RuleML: Interaction

((behaviorbehavior) ) Implemented on top of a Mule-basedImplemented on top of a Mule-based

Enterprise Service Bus (ESB) as aEnterprise Service Bus (ESB) as aService Oriented Architecture (SOA)Service Oriented Architecture (SOA)

Page 5: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

55

Personal AgentsPersonal Agents

A personal agent assists a A personal agent assists a personperson

or a tight subteam or a tight subteam of an organization, of an organization,

semi-autonomously acting on their behalfsemi-autonomously acting on their behalf It works on a profile of FOAF*-like It works on a profile of FOAF*-like factsfacts

plus FOAF-extending plus FOAF-extending rulesrules that encode that encode

‘routine’ knowledge of its human owner(s)‘routine’ knowledge of its human owner(s)

* The Friend of a Friend (FOAF) project: http://www.foaf-project.org

Page 6: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

66

Organizational AgentsOrganizational Agents

An organizational agent represents An organizational agent represents goals and strategies shared by each goals and strategies shared by each member of the member of the organizationorganization

It contains rule* sets that describeIt contains rule* sets that describethe policies, regulations, the policies, regulations, opportunities, and expertise of its opportunities, and expertise of its organizationorganization

* For brevity the term ‘rule’ encompasses ‘fact’ (which is a rule without premises)* For brevity the term ‘rule’ encompasses ‘fact’ (which is a rule without premises)

Page 7: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

77

External AgentsExternal Agents External agents exchange messages withExternal agents exchange messages with

(the public interface of) organizational (the public interface of) organizational agents, sending queries (requests), agents, sending queries (requests), receiving answers (results), or receiving answers (results), or interchanging complete rule sets interchanging complete rule sets

End users, via external agents, employ theEnd users, via external agents, employ theWeb (HTTP) interface of Rule Responder Web (HTTP) interface of Rule Responder (currently an API-like browser interface)(currently an API-like browser interface)

Support for simultaneous external agents:Support for simultaneous external agents:- Currently, end users (B2C)- Currently, end users (B2C)- Ultimately, other organizations (B2B)- Ultimately, other organizations (B2B)

Page 8: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

88

Rule Responder as a Rule Responder as a Multi-Agent InfrastructureMulti-Agent Infrastructure

Rule Responder realizes virtual Rule Responder realizes virtual organizations in which an OA links organizations in which an OA links between an EA and PAsbetween an EA and PAs Built on top of the Mule ESBBuilt on top of the Mule ESB

The OA is realized with an instance of aThe OA is realized with an instance of arule enginerule engine

Each PA is realized with a servlet using aEach PA is realized with a servlet using arule engine rule engine sometimes several sometimes several

Combines methods of Combines methods of multi-agent multi-agent systemssystems, , distributed rule distributed rule management systemsmanagement systems,,as well as as well as service-oriented service-oriented andandevent-drivenevent-driven architectures architectures

Page 9: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

99

Two Simple Rule Responder Two Simple Rule Responder Virtual Organizations on ESB Virtual Organizations on ESB

Infrastructure Infrastructure

Page 10: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1010

Translation Between PAs' Native Languages and OA's Interchange

Language Each Each rule enginerule engine can use can use

its its ownown rule languagerule language Agents require an Agents require an interchange languageinterchange language

so they can communicate with each otherso they can communicate with each other Rule Responder uses RuleML as its Rule Responder uses RuleML as its

interchange languageinterchange language Translations between the interchange Translations between the interchange

language and the PA languageslanguage and the PA languagesare done by the PAsare done by the PAs

Page 11: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1111

Reaction RuleMLReaction RuleML

Reaction RuleML is a branch of the Reaction RuleML is a branch of the RuleML family that supports actions and RuleML family that supports actions and events events

When two agents want to communicate, When two agents want to communicate, each others’ Reaction RuleML each others’ Reaction RuleML messagesmessages are sent through the ESB are sent through the ESB

The ESB carries RuleML queries The ESB carries RuleML queries (requests), answers (results), and rule (requests), answers (results), and rule bases to/from agentsbases to/from agents

Page 12: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1212

Example Reaction RuleML MessageExample Reaction RuleML Message <RuleML xmlns="http://www.ruleml.org/0.91/xsd"<RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsdxsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd"http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd" xmlns:ruleml2010="http://ibis.in.tum.de/projects/paw#">xmlns:ruleml2010="http://ibis.in.tum.de/projects/paw#"> <Message mode=<Message mode="outbound""outbound" directive= directive="query-"query-

sync" sync" >> <oid> <oid> <Ind>RuleML-2010</Ind> <Ind>RuleML-2010</Ind> </oid></oid> <protocol><protocol> <Ind>esb</Ind> <Ind>esb</Ind> </protocol></protocol> <sender><sender> <Ind>User</Ind> <Ind>User</Ind> </sender></sender> <content><content> <Atom><Atom> <Rel>getContact</Rel><Rel>getContact</Rel>

<Ind>ruleml2010_PanelChair</Ind><Ind>ruleml2010_PanelChair</Ind> <Ind>update</Ind><Ind>update</Ind> <Var>Contact</Var><Var>Contact</Var> </Atom></Atom> </content></content> </Message></Message> </RuleML></RuleML>

Page 13: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1313

Message PerformativesMessage Performatives

The attribute The attribute directive=directive="...""..."specifies the pragmatic performativespecifies the pragmatic performative Message exchange/interaction protocolsMessage exchange/interaction protocols

Rule Responder PerformativesRule Responder Performatives In In the the tradition of KQML and FIPA-ACLtradition of KQML and FIPA-ACL Currently implemented: Query and AnswerCurrently implemented: Query and Answer Retract and Update requests planned in Retract and Update requests planned in

collaboration with W3C RIF-PRD / OMG PRRcollaboration with W3C RIF-PRD / OMG PRR

Page 14: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1414

Agent Communication Agent Communication ProtocolsProtocols

WSDL-like communication protocols:WSDL-like communication protocols: In-OnlyIn-Only

Message is sent from agentMessage is sent from agent11 to agent to agent22;;then agentthen agent22 executes performative executes performative

Request-ResponseRequest-Response Performs above In-Only;Performs above In-Only;

then agentthen agent22 sends response to agent sends response to agent11

Request-Response-AcknowledgeRequest-Response-Acknowledge Performs Request-Response;Performs Request-Response;

then agentthen agent11 sends an acknowledgement to agent sends an acknowledgement to agent22

WorkflowsWorkflows Generalizes the above protocols to allow other Generalizes the above protocols to allow other

compositions of message interchange between compositions of message interchange between agentsagents

Page 15: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1515

Communication MiddlewareCommunication Middleware MuleMule Enterprise Service Bus (ESB) Enterprise Service Bus (ESB)

Mule* is used to create communicationMule* is used to create communicationend points at each personal and end points at each personal and organizational agent of Rule Responderorganizational agent of Rule Responder

Mule supports around 50 transport Mule supports around 50 transport protocolsprotocols(including(including HTTP, JMS, JDBC,HTTP, JMS, JDBC, and SOAP)SOAP)

Rule Responder currently uses HTTP and Rule Responder currently uses HTTP and JMS as transport protocolsJMS as transport protocols

* Mule – The open source SOA infrastructure: http://mulesource.com

Page 16: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1616

Rule EnginesRule Engines

Prova: Prova: ProProlog + Jalog + Javava

OO jDREW: OO jDREW: OObject bject OOrientedrientedjjava ava DDeductive eductive RReasoning easoning EEngine for ngine for the the WWebeb

DR-Device: DR-Device: DDefeasible Logic efeasible Logic RReasoner easoner for the Semantic Webfor the Semantic Web

Page 17: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1717

ProvaProva

Prova is mainly used to realize the Prova is mainly used to realize the organizational agents of Rule organizational agents of Rule ResponderResponder

It implements Reaction RuleML for It implements Reaction RuleML for agent interaction (event-condition-agent interaction (event-condition-action rules)action rules)

Page 18: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

1818

OO jDREW OO jDREW

OO jDREW is used to realize theOO jDREW is used to realize thepersonal agents of Rule Responderpersonal agents of Rule Responder

It implements Hornlog RuleML for It implements Hornlog RuleML for agent reasoning (Horn logic rules)agent reasoning (Horn logic rules)

Supports rules in two formats:Supports rules in two formats: POSL: POSL: Positional Slotted presentation Positional Slotted presentation

syntaxsyntax RuleML: RuleML: XML interchange syntaxXML interchange syntax

(can be generated from POSL: (can be generated from POSL: http://www.ruleml.org/posl/converter.jnlp))

Page 19: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2020

Use Case: Symposium Use Case: Symposium Planner Planner

RuleML-20xy SymposiaRuleML-20xy Symposia An external agent linked to an An external agent linked to an

organizational agent acts as the single point organizational agent acts as the single point of entry to of entry to supportsupport the symposium the symposium organization: organization:

Currently, query answering about the symposium Currently, query answering about the symposium Ultimately, preparing and running the symposium Ultimately, preparing and running the symposium

Personal agents have Personal agents have assistedassisted symposium symposium chairs since 2007 (deployed as chairs since 2007 (deployed as Q&A since 2008)

General Chair, Publicity Chair, Program Chair,General Chair, Publicity Chair, Program Chair,Panel Chair, etc.Panel Chair, etc.

Page 20: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2121

EA: External Agent

OA

General ChairPA

Program ChairProfile User

Challenge ChairProfile User

Rule Rule Responder Responder Architecture Architecture

PA: Personal Agent

OA: Organizational Agent

VirtualOrganization

Publicity ChairPA

LiaisonChair

PA

Program ChairPA

Challenge ChairPA

Liaison ChairProfile User

Publicity ChairProfile User

General ChairProfile User

Enquiry User

Page 21: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2222

Online Use Case DemosOnline Use Case Demos Rule Responder:Rule Responder:

http://responder.ruleml.org

Virtual organizations for RuleML-2007/.../2010 Virtual organizations for RuleML-2007/.../2010 Symposia:Symposia:

External agents:External agents:Each an HTTP browser interface using Reaction Each an HTTP browser interface using Reaction RuleML:RuleML:http://ibis.in.tum.de/projects/paw/ruleml-2007http://ruleml.org/RuleML-2008/RuleResponderhttp://ruleml.org/RuleML-2008/RuleResponderhttp://ruleml.org/RuleML-2009/RuleResponderhttp://ruleml.org/RuleML-2010/RuleResponder/http://ruleml.org/RuleML-2010/RuleResponder/RuleResponder.htmRuleResponder.htm

Organizational agents:Organizational agents:Each supporting one symposium as a wholeEach supporting one symposium as a whole

Personal agents:Personal agents:Supporting all Chair subteams of a symposiumSupporting all Chair subteams of a symposium

Online

Page 22: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2323

Query DelegationQuery Delegation

The organizational agent delegates The organizational agent delegates queries to appropriate personal agentsqueries to appropriate personal agents

Tasks for the symposium organization Tasks for the symposium organization are managed via a are managed via a role assignment role assignment matrixmatrix

Defined here by an OWL Lite ontologyDefined here by an OWL Lite ontology(alternatives: RDFS, RuleML, ...)(alternatives: RDFS, RuleML, ...)

Assigns (meta)topics to PAs within the Assigns (meta)topics to PAs within the virtual organization: virtual organization: ... see next slide ...... see next slide ...

Page 23: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2424

Role Assignment OntologyRole Assignment Ontology

Publicity Chair

Topics

Personal Agents

Sponsoring

Publicity Chair

.

..

Liaison Chair

General Chair

..

.

.

.

.

Challenge Chair

Challenge

Demos

Media Partners

Sponsors

Responsible

Accountable

Press Release

Challenge Chair

Liaison Chair

General Chair

Metatopics ...

.

..

.

..Registration

Visa Letter

.

..

Program Chair

.

..

.

..

Program Chair

Submissions

Presentations

.

..Properties:

Page 24: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2525

Multiple Query Answers by Multiple Query Answers by PAsPAs

Some queries have more than one answerSome queries have more than one answer

The PA will send the answersThe PA will send the answersone at a time to the OAone at a time to the OA Interleaving backtracking and transmissionInterleaving backtracking and transmission

When the PA finds no more answers,When the PA finds no more answers,it sends an end-of-transmission messageit sends an end-of-transmission message

Page 25: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2626

Knowledge Shared Between Personal Agents

Rules can be shared amongRules can be shared amongpersonal agentspersonal agents

Rules that apply to all PAs can be Rules that apply to all PAs can be lifted to the OA levellifted to the OA level

... see next slide ...... see next slide ...

Page 26: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2727

Symposium OA Knowledge BaseSymposium OA Knowledge Base

% Sample Prova rule stored in the OA:% Sample Prova rule stored in the OA:

getContact(XID,getContact(XID,TopicTopic,Request,,Request,

person(Role,Name,Title,EMail,Telephone)) :-person(Role,Name,Title,EMail,Telephone)) :-

% Retrieve the responsible PA (% Retrieve the responsible PA (AgentAgent) for the ) for the TopicTopic

assigned(XID,assigned(XID,AgentAgent,,TopicTopic,ruleml2009_responsible),,ruleml2009_responsible),

% Query contact information from that PA% Query contact information from that PA

sendMsg(XID,esb,sendMsg(XID,esb,AgentAgent,"query", ,"query", person(Role,Name,Title,Email,Telephone)person(Role,Name,Title,Email,Telephone) ), ),

% Receive the answer(s) % Receive the answer(s)

rcvMult(XID,esb,rcvMult(XID,esb,AgentAgent,"answer", ,"answer",

substitutions(Role,Name,Title,EMail,Telephone)).substitutions(Role,Name,Title,EMail,Telephone)).

Page 27: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

General Chair PAGeneral Chair PAKnowledge Base: FactsKnowledge Base: Facts

% OA rule delegates queries to PAs which use FOAF-like% OA rule delegates queries to PAs which use FOAF-like factsfacts% such as to the General Chair PA which uses this fact:% such as to the General Chair PA which uses this fact:

person(person( symposiumChair[ ruleML_2009, general ], symposiumChair[ ruleML_2009, general ], foafname[ firstName[ Adrian ], lastName[ Paschke ]], foafname[ firstName[ Adrian ], lastName[ Paschke ]], foaftitle[ title[ Dr ]], foaftitle[ title[ Dr ]], foafmbox[ foafmbox[ email[ adrianDOTpaschkeATbiotecDOTtuDASHdresdenDOTde ]], email[ adrianDOTpaschkeATbiotecDOTtuDASHdresdenDOTde ]], exphones[ telephoneNumbers[ office[ 4935146340074 ]]]). exphones[ telephoneNumbers[ office[ 4935146340074 ]]]).

% Sample query in RuleML syntax:% Sample query in RuleML syntax:... see next slide ...... see next slide ...

2828

Page 28: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

2929

Sample Message to Organizational Sample Message to Organizational AgentAgent

<RuleML xmlns="http://www.ruleml.org/0.91/xsd"<RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsdxsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd"http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsd" xmlns:ruleml2007="http://ibis.in.tum.de/projects/paw#">xmlns:ruleml2007="http://ibis.in.tum.de/projects/paw#">

<Message mode="outbound" directive="query-sync"><Message mode="outbound" directive="query-sync"><oid><oid>

<Ind>RuleML-2009</Ind><Ind>RuleML-2009</Ind></oid></oid><protocol><protocol>

<Ind>esb</Ind><Ind>esb</Ind></protocol></protocol><sender><sender>

<Ind>User</Ind><Ind>User</Ind></sender></sender><content><content>

<Atom><Atom><Rel>getContact</Rel><Rel>getContact</Rel><Ind>ruleml2009_GeneralChair</<Ind>ruleml2009_GeneralChair</

Ind>Ind><Ind>update</Ind><Ind>update</Ind><Var>Contact</Var><Var>Contact</Var>

</Atom></Atom></content></content>

</Message></Message></RuleML></RuleML>

Online

http://ruleml.org/RuleML-2009/RuleResponder/

Query Selection: General Chair Contact

Page 29: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3030

Architecture - ExecutionArchitecture - Execution

Page 30: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3131

Architecture - ExecutionArchitecture - Execution

Page 31: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3232

Architecture - ExecutionArchitecture - Execution

Page 32: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3333

Architecture - ExecutionArchitecture - Execution

Page 33: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3434

Architecture - ExecutionArchitecture - Execution

Page 34: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3535

Page 35: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3636

Page 36: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3737

Sample Message to Publicity Chair PA (I)Sample Message to Publicity Chair PA (I)<content><content> <Atom><Atom> <Rel>sponsor</Rel><Rel>sponsor</Rel> <Expr><Expr> <Fun>contact</Fun><Fun>contact</Fun> <Ind>Mark</Ind><Ind>Mark</Ind> <Ind>JBoss</Ind><Ind>JBoss</Ind> </Expr></Expr> <Ind type="integer"><Ind type="integer">500500</Ind></Ind> <Expr><Expr> <Fun>results</Fun><Fun>results</Fun> <Var>Level</Var><Var>Level</Var> <Var>Benefits</Var><Var>Benefits</Var> <Var>DeadlineResults</Var><Var>DeadlineResults</Var> </Expr></Expr> <Expr><Expr> <Fun>performative</Fun><Fun>performative</Fun> <Var>Action</Var><Var>Action</Var> </Expr></Expr> </Atom></Atom></content></content>

Online

http://www.ruleml.org/RuleML-2009/RuleResponder

Query Selection: Publicity Chair Sponsoring

English Description:

Mark from JBoss would like to sponsor RuleML-2009 with $500. What level, benefits, and deadline results will this provide, and what kind of action should be taken?

Page 37: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3838

Page 38: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

3939

Publicity Chair PAPublicity Chair PAKnowledge Base: RulesKnowledge Base: Rules

% Rule stored in the Publicity Chair’s PA:% Rule stored in the Publicity Chair’s PA:

sponsor(contact[?Name,?Organization],sponsor(contact[?Name,?Organization], ?Amount:integer, ?Amount:integer, results[?Level,?Benefits,? results[?Level,?Benefits,?DeadlineResults],DeadlineResults], performative[?Action]) performative[?Action]) :-:-

requestSponsoringLevel(?Amount:integer,?Level),requestSponsoringLevel(?Amount:integer,?Level),

requestBenefits(?Level,?Benefits), requestBenefits(?Level,?Benefits),

checkDeadline(?DeadlineResults), checkDeadline(?DeadlineResults),

checkAction(?Action,?Level,?Amount:integer).checkAction(?Action,?Level,?Amount:integer).

Yellow:Query other rules

Page 39: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

Publicity Chair PAPublicity Chair PAKnowledge Base:Knowledge Base: 11stst & 2 & 2ndnd Rule Rule

PremisePremiserequestSponsoringLevel(?Amount:integer,?Level),requestSponsoringLevel(?Amount:integer,?Level),

% Satisfied by presponsor, bronze, ..., emerald rule:% Satisfied by presponsor, bronze, ..., emerald rule: . . .. . .

requestSponsoringLevel(?Amount:integer,?Level) :-requestSponsoringLevel(?Amount:integer,?Level) :-

sponsoringLevel(rank5,?Level,us$[?sponsoringLevel(rank5,?Level,us$[?EmeraldAmount:integer]),EmeraldAmount:integer]),greaterThanOrEqual(?Amount:integer,greaterThanOrEqual(?Amount:integer,

?EmeraldAmount:integer).?EmeraldAmount:integer).

requestBenefits(?Level,?Benefits),requestBenefits(?Level,?Benefits),

% Satisfied by rule:% Satisfied by rule:requestBenefits(?Level,?Benefits) :- requestBenefits(?Level,?Benefits) :-

benefits(?Level,?Benefits).benefits(?Level,?Benefits). 4040

Pink:Query facts

Page 40: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

Publicity Chair PAPublicity Chair PAKnowledge Base:Knowledge Base: 33rdrd & 4 & 4thth Rule Rule

PremisePremisecheckDeadline(?DeadlineResults),checkDeadline(?DeadlineResults), % Satisfied by rule:% Satisfied by rule:checkDeadline(passed[deadline]):- checkDeadline(passed[deadline]):-

date(?X:integer), date(?X:integer), deadline(sponsoring,?D:integer), deadline(sponsoring,?D:integer), greaterThan(?X:integer,?D:integer).greaterThan(?X:integer,?D:integer).

checkAction(?Action,?Level,?Amount:integer).checkAction(?Action,?Level,?Amount:integer).% Satisfied by rule:% Satisfied by rule:checkAction(?Action,?Level,?Amount:integer) :- checkAction(?Action,?Level,?Amount:integer) :-

actionPerformed(?Action,?Level,?Amount:integer).actionPerformed(?Action,?Level,?Amount:integer).

What happens if we now provide a $What happens if we now provide a $50005000 sponsorship? sponsorship?... see next slide ...... see next slide ...

4141

Page 41: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

4242

Sample Message to Publicity Chair PA (II)Sample Message to Publicity Chair PA (II) <content><content> <Atom><Atom> <Rel>sponsor</Rel><Rel>sponsor</Rel> <Expr><Expr> <Fun>contact</Fun><Fun>contact</Fun> <Ind>Mary</Ind><Ind>Mary</Ind> <Ind>Super</Ind><Ind>Super</Ind> </Expr></Expr> <Ind type="integer"><Ind type="integer">50005000</Ind></Ind> <Expr><Expr> <Fun>results</Fun><Fun>results</Fun> <Var>Level</Var><Var>Level</Var> <Var>Benefits</Var><Var>Benefits</Var> <Var>DeadlineResults</Var><Var>DeadlineResults</Var> </Expr></Expr> <Expr><Expr> <Fun>performative</Fun><Fun>performative</Fun> <Var>Action</Var><Var>Action</Var> </Expr></Expr> </Atom></Atom> </content></content>

Online

http://www.ruleml.org/RuleML-2009/RuleResponder

Query Selection: Publicity Chair Sponsoring (edited)

English Description:

Mark from JBoss would like to sponsor RuleML-2009 with $5000. What level, benefits, and deadline results will this provide, and what kind of action should be taken?

Page 42: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

43434343

Page 43: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

Program Chair PA (RuleML-Program Chair PA (RuleML-2010)2010)

Contains knowledge aboutContains knowledge abouttracks of RuleML-2010tracks of RuleML-2010 Track title, Track topics, Track chairsTrack title, Track topics, Track chairs

Answers queries for finding a relevant Answers queries for finding a relevant track for a papertrack for a paper Uses a paper’s keywords within (the Uses a paper’s keywords within (the

strings of) the track titles and topicsstrings of) the track titles and topics Rule-based heuristic scoring functionsRule-based heuristic scoring functions

4545

Page 44: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

Program Chair PA:Program Chair PA:Find Relevant TracksFind Relevant Tracks

<Message <Message ……>>

……

<content><content>

<Atom><Atom>

<Rel><Rel>findTracksfindTracks</Rel></Rel>

<Ind type="<Ind type="stringstring">">

defeasibility; rule exceptionsdefeasibility; rule exceptions

</Ind></Ind>

<Var><Var>ScoredTrackScoredTrack</Var></Var>

</Atom></Atom>

</content></content>

</Message></Message>

4646

<Expr><Expr>

<Fun>track</Fun><Fun>track</Fun>

<Ind type="<Ind type="stringstring">">

Rules and NormsRules and Norms

</Ind></Ind>

<Expr><Expr>

<Fun>relevance</Fun><Fun>relevance</Fun>

<Ind <Ind type="real">type="real">1001710017</Ind></Ind>

</Expr></Expr>

</Expr></Expr>

Query

Answer

CfP

Page 45: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

5050

Conclusion (I)Conclusion (I) Rule Responder was implemented & tested Rule Responder was implemented & tested

for various use cases (for various use cases (http://responder.ruleml.org) ) and deployed for RuleML-2008/and deployed for RuleML-2008/....../2010 /2010 Q&A

Its organizational agents delegate external Its organizational agents delegate external queries to topic-assigned personal agentsqueries to topic-assigned personal agents

It couples rule engines It couples rule engines Prova & OO jDREW & & OO jDREW & DR-Device (& Euler) via Mule middlewareDR-Device (& Euler) via Mule middlewareand RuleML 0.91 XML interchange formatand RuleML 0.91 XML interchange format Without a Reaction Rule Dialect, W3C RIF could Without a Reaction Rule Dialect, W3C RIF could

not be used for behavioral Responder logicnot be used for behavioral Responder logic

Page 46: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

5151

Conclusion (II)Conclusion (II) Current system is reusable on all levels:Current system is reusable on all levels:

Symposium Planner, Rule Responder, (D-)POSL, Symposium Planner, Rule Responder, (D-)POSL, RuleML, OO jDREW, DR-Device, Prova, and MuleRuleML, OO jDREW, DR-Device, Prova, and Mule

RuleML Responder Technical Group jointly with RuleML Responder Technical Group jointly with Adrian Paschke, Alexander Kozlenkov, Ben Adrian Paschke, Alexander Kozlenkov, Ben Craig, Taylor Osmun, Derek Smith, Irfan ul Haq, Craig, Taylor Osmun, Derek Smith, Irfan ul Haq, Omair Shafiq, Mahsa Kiani, Nick Bassiliades, Omair Shafiq, Mahsa Kiani, Nick Bassiliades, Stratos Kontopoulos, and Kalliopi KravariStratos Kontopoulos, and Kalliopi Kravari

Integrated another ‘partner engine’, Euler, for Integrated another ‘partner engine’, Euler, for recent use cases, e.g. in WellnessRules2 and recent use cases, e.g. in WellnessRules2 and PatientSupporter (generating RuleML/XML PatientSupporter (generating RuleML/XML queries from menus for POSL and N3). More queries from menus for POSL and N3). More upcomingupcoming

Page 47: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

5252

Future Work (I)Future Work (I) Communication betweenCommunication between

Personal Agent and Human OwnerPersonal Agent and Human Owner The PA may need to interact with its Human The PA may need to interact with its Human

OwnerOwner Formal interaction between PAs and their owners Formal interaction between PAs and their owners

can employ Reaction RuleML emails (SMTP)can employ Reaction RuleML emails (SMTP) Semi-formal interaction could use Controlled Semi-formal interaction could use Controlled

EnglishEnglish Query DecompositionQuery Decomposition

Queries decomposed into subqueries, delegated Queries decomposed into subqueries, delegated to multiple PAs, and partial answers re-integratedto multiple PAs, and partial answers re-integrated

Applications in information (data and knowledge) Applications in information (data and knowledge) integrationintegration

Page 48: Distributed Rule Responder Querying on the Semantic Web Harold Boley Institute for Information Technology National Research Council, Canada Fredericton,

5353

Future Work (II)Future Work (II) Centralized, Distributed-Hierarchical (here), and Centralized, Distributed-Hierarchical (here), and

Distributed-Networked (future) query answeringDistributed-Networked (future) query answering Centralized: Avoids all communication overheadCentralized: Avoids all communication overhead Distributed: More fault-tolerant and typically fasterDistributed: More fault-tolerant and typically faster

Alternative agents when an agent becomes defunctAlternative agents when an agent becomes defunct Hierarchical:Hierarchical: OAOA maymay sometimesometime becomebecome aa bottleneckbottleneck Networked: Peer-to-peer exchange between PAsNetworked: Peer-to-peer exchange between PAs

FromFrom centralizedcentralized toto distributeddistributed knowledgeknowledge maintenancemaintenance Easier to keep distributed rules up-to-dateEasier to keep distributed rules up-to-date

Discussed in Technical Report by Ben Craig andDiscussed in Technical Report by Ben Craig andexplored in PhD project by Mahsa Kianiexplored in PhD project by Mahsa Kiani