Rule Responder Agents for Distributed Query Answering Harold Boley Benjamin Craig Taylor Osmun
-
Upload
rogan-richardson -
Category
Documents
-
view
16 -
download
0
description
Transcript of Rule Responder Agents for Distributed Query Answering Harold Boley Benjamin Craig Taylor Osmun
Rule Responder Agents for Rule Responder Agents for Distributed Query AnsweringDistributed Query Answering
Harold BoleyHarold BoleyBenjamin CraigBenjamin CraigTaylor OsmunTaylor Osmun
Institute for Information TechnologyInstitute for Information TechnologyNational Research Council, Canada National Research Council, Canada
Fredericton, NB, CanadaFredericton, NB, Canada
Database SeminarDatabase SeminarSchool of Computer Science at Carleton UniversitySchool of Computer Science at Carleton University
Ottawa, ON, CanadaOttawa, ON, Canada
November 19, 2009November 19, 2009(Updated: December 8, 2009)(Updated: December 8, 2009)
22
OutlineOutline Rule Responder OverviewRule Responder Overview AgentsAgents
Personal / Organizational / ExternalPersonal / Organizational / External InfrastructureInfrastructure
Reaction RuleML MessagesReaction RuleML Messages Message PerformativesMessage Performatives Agent Communication ProtocolsAgent Communication Protocols Mule ESB (Communication Middleware)Mule ESB (Communication Middleware)
Rule Engines (for Realizing Agents)Rule Engines (for Realizing Agents) ProvaProva OO jDREWOO jDREW
Symposium Planner Use CaseSymposium Planner Use Case Query Delegation/AnsweringQuery Delegation/Answering Shared Knowledge between PasShared Knowledge between Pas Ontology DescriptionOntology Description
Future Work and ConclusionFuture Work and Conclusion
33
Overview of Rule Responder Overview of Rule Responder (I)(I)
Rule Responder is an experimentalRule Responder is an experimentalmulti-agent system for multi-agent system for collaborative collaborative teamsteams and and virtual communitiesvirtual communities on the on the WebWeb
Supports rule-based collaboration Supports rule-based collaboration between the distributed members of suchbetween the distributed members of suchvirtual organizationsvirtual organizations
Members of each virtual organization are Members of each virtual organization are assisted by assisted by semi-automated rule-semi-automated rule-based agentsbased agents, which use rules to , which use rules to describe the describe the decisiondecision and and behavioralbehavioral logiclogic
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
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)as an Enterprise Service Bus (ESB)as an Enterprise Service Bus (ESB)
55
Personal AgentsPersonal Agents
A personal agent assists a A personal agent assists a personperson
sometimes several sometimes several of an of an
organization, (semi-autonomously) organization, (semi-autonomously)
acting on their behalfacting on their behalf It contains a FOAF*-like It contains a FOAF*-like factfact profile plus profile plus
FOAF-extending FOAF-extending rulesrules to encode to encode
‘routine’ knowledge of its human owner‘routine’ knowledge of its human owner* The Friend of a Friend (FOAF) project: http://www.foaf-project.org
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 member of the organizationthe organization
It contains rule* sets that describeIt contains rule* sets that describethe policies, regulations, the policies, regulations, opportunities, etc. of its organizationopportunities, etc. of its organization
* To be brief, the term ‘rule’ encompasses ‘fact’ (which is a rule without premise)* To be brief, the term ‘rule’ encompasses ‘fact’ (which is a rule without premise)
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, as external agents, employ aEnd users, as external agents, employ aWeb (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)
88
Rule Responder as a Rule Responder as a Multi-Agent InfrastructureMulti-Agent Infrastructure
Realizes Virtual Organizations in which a Realizes Virtual Organizations in which a central OA mediates between EAs and PAscentral OA mediates between EAs and PAs Built on top of the Mule ESBBuilt on top of the Mule ESB
Each OA is realized with an instance of aEach 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 ideas of Combines ideas of multi-agent systemsmulti-agent systems, , distributed rule management systemsdistributed rule management systems,,as well as as well as service-oriented service-oriented andandevent-drivenevent-driven architectures architectures
99
Two Simple Rule Responder Two Simple Rule Responder Virtual Organizations on ESB Virtual Organizations on ESB
Infrastructure Infrastructure
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 interchange Rule Responder uses RuleML as its interchange
languagelanguage Translations between the interchange language Translations between the interchange language
and the PA languagesand the PA languagesare done by the PAsare done by the PAs
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
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:ruleml2007="http://ibis.in.tum.de/projects/paw#">xmlns:ruleml2007="http://ibis.in.tum.de/projects/paw#"> <Message mode<Message mode="outbound"="outbound" directive directive="query-="query-
sync">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_PanelChair</Ind><Ind>ruleml2009_PanelChair</Ind> <Ind>update</Ind><Ind>update</Ind> <Var>Contact</Var><Var>Contact</Var> </Atom></Atom> </content></content> </Message></Message> </RuleML></RuleML>
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 tradition of KQML and FIPA-ACLIn tradition of KQML and FIPA-ACL Currently implemented: Query and Currently implemented: Query and
AnswerAnswer Retract and Update requests plannedRetract and Update requests planned
in collaboration with RIF-PRDin collaboration with RIF-PRD
1414
Agent Communication Agent Communication ProtocolsProtocols
WSDL-like communication protocolsWSDL-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
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 various transport Mule supports various transport protocolsprotocols(e.g. HTTP, JMS, SOAP)(e.g. HTTP, JMS, 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
1616
Rule EnginesRule Engines
Prova: Prolog + JavaProva: Prolog + Java
OO jDREW: Object OrientedOO jDREW: Object Orientedjava Deductive Reasoning Engine for java Deductive Reasoning Engine for the Webthe Web
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)
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.jdrew.org/oojdrew/demo/translator))
1919
Use Case: Symposium Use Case: Symposium Planner Planner
RuleML-20xy SymposiaRuleML-20xy Symposia An organizational agent acts as the single An organizational agent acts as the single
point of entry to point of entry to assistassist with the symposium: with the symposium: 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 supported symposium Personal agents have supported symposium chairs since 2007 (deployed as chairs since 2007 (deployed as Q&A since since 2008)2008)
General Chair, Program Chair, Panel Chair,General Chair, Program Chair, Panel Chair,Publicity Chair, etc.Publicity Chair, etc.
2020
EA: External Agent
OA
General ChairPA
Program ChairExpert
Challenge ChairExpert
Star-Like Star-Like Rule Rule Responder Responder Architecture Architecture
Spoke PA: Personal Agent
Hub OA: Organizational Agent
VirtualOrganization
Publicity ChairPA
LiaisonChair
PA
Program ChairPA
Challenge ChairPA
Liaison ChairExpert
Publicity ChairExpert
General ChairExpert
2121
Online Use Case DemoOnline Use Case Demo Rule Responder:Rule Responder:
http://responder.ruleml.org
RuleML-2007/2008/2009 Symposia:RuleML-2007/2008/2009 Symposia:http://ibis.in.tum.de/projects/paw/ruleml-2007http://ibis.in.tum.de/projects/paw/ruleml-2008http://ruleml.org/RuleML-2009/RuleResponder http://ruleml.org/RuleML-2009/RuleResponder
Organizational agent:Organizational agent:Supporting Symposium as a wholeSupporting Symposium as a whole
Personal agents:Personal agents:Supporting all ChairsSupporting all Chairs
Online
2222
Query DelegationQuery Delegation
Query delegation to personal agents is Query delegation to personal agents is done by the organizational agentdone by the organizational agent
Tasks for the symposium organization are Tasks for the symposium organization are managed via a role assignment matrixmanaged via a role assignment matrix
Is defined here by an OWL Lite OntologyIs defined here by an OWL Lite Ontology(alternatives: RDFS, RuleML, ...)(alternatives: RDFS, RuleML, ...)
Assigns (meta)topics to agents within the Assigns (meta)topics to agents within the virtual organization: virtual organization: ... see next slide ...... see next slide ...
2323
Role Assignment OntologyRole Assignment Ontology
Publicity Chair
Topics
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:
2424
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
2525
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 ...
2626
Organizational SymposiumOrganizational Symposium Agent Knowledge Base Agent Knowledge Base
% Sample Prova rule stored in the OA:% Sample Prova rule stored in the OA:
getContact(XID,getContact(XID,TopicTopic,Request,Contact) :-,Request,Contact) :- % Retrieve the responsible PA (% Retrieve the responsible PA (AgentAgent) for the ) for the TopicTopic
assigned(XID,assigned(XID,AgentAgent,,TopicTopic,ruleml2009_responsibl,ruleml2009_responsible),e),
% Send the query to the PA % Send the query to the 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",Contact).,"answer",Contact).
Personal General Chair Agent Personal General Chair Agent Knowledge Base: FactKnowledge Base: Fact
% Sample FOAF-like fact used by the OA rule:% Sample FOAF-like fact used by the OA rule:% Example fact stored in the General Chair’s PA% Example fact stored in the General Chair’s PA
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[ adrianDOTpaschkeATbiotecDOTtuDASHdresdenDOT email[ adrianDOTpaschkeATbiotecDOTtuDASHdresdenDOTde ]],de ]], exphones[ telephoneNumbers[ office[ 4935146340074 ]]]). exphones[ telephoneNumbers[ office[ 4935146340074 ]]]).
% Sample query in RuleML syntax:% Sample query in RuleML syntax:... see next slide ...... see next slide ...
2727
2828
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/http://ruleml.org/RuleML-2009/RuleResponder/
Query Selection: General Chair Contact
2929
Architecture - ExecutionArchitecture - Execution
3030
Architecture - ExecutionArchitecture - Execution
3131
Architecture - ExecutionArchitecture - Execution
3232
Architecture - ExecutionArchitecture - Execution
3333
Architecture - ExecutionArchitecture - Execution
3434
3535
3636
Sample Message to Publicity Chair Agent (I)Sample Message to Publicity Chair Agent (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?
3838
Personal Publicity Chair Agent Personal Publicity Chair Agent Knowledge Base: RuleKnowledge Base: Rule
% Rule stored in the Publicity Chair’s PA% Rule stored in the Publicity Chair’s PAsponsor(contact[?Name,?Organization],sponsor(contact[?Name,?Organization],
?Amount:integer, ?Amount:integer, results[?Level,?Benefits,?DeadlineResults] , results[?Level,?Benefits,?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).
Orange:Query other rules
Personal Publicity Chair Agent Personal Publicity Chair Agent Knowledge Base:Knowledge Base: 1 1stst & 2 & 2ndnd Rule Rule
PremisePremiserequestSponsoringLevel(?Amount:integer,?Level),requestSponsoringLevel(?Amount:integer,?Level),
% Satisfied by rule:% Satisfied by rule:requestSponsoringLevel(?Amount:integer,?Level) :-requestSponsoringLevel(?Amount:integer,?Level) :- sponsoringLevel(rank0,sponsoringLevel(rank0, ?Level,?Level, under[us$[?under[us$[?
UnderBronzeAmount:integer]]),UnderBronzeAmount:integer]]), lessThan(?Amount:integer,?lessThan(?Amount:integer,?
UnderBronzeAmount:integer).UnderBronzeAmount: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).
3939
Light Red: Query facts
Personal Publicity Chair Agent Personal Publicity Chair Agent Knowledge Base:Knowledge Base: 3 3rdrd & 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 $5000 sponsorship?sponsorship?... see next slide ...... see next slide ...
4040
Yellow: Query
further rule
4141
Sample Message to Publicity Chair Agent (II)Sample Message to Publicity Chair Agent (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 (edit)
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?
4242
4343
Conclusion (I)Conclusion (I) Rule Responder was implemented & Rule Responder was implemented &
tested for various use cases tested for various use cases ((http://responder.ruleml.orghttp://responder.ruleml.org) and deployed for ) and deployed for RuleML-2008/2009 Q&ARuleML-2008/2009 Q&A
Its organizational agents delegate Its organizational agents delegate external queries to topic-assigned external queries to topic-assigned personal agentspersonal agents
It couples rule engines OO jDREW & Prova It couples rule engines OO jDREW & Prova (& Euler) via Mule middleware and(& Euler) via Mule middleware andRuleML 0.91 XML interchange formatRuleML 0.91 XML interchange format
4444
Conclusion (II)Conclusion (II) Without a Reaction Rule Dialect, RIF could Without a Reaction Rule Dialect, RIF could
not be used for behavioral Responder logicnot be used for behavioral Responder logic Current system is reusable on all levels:Current system is reusable on all levels:
Symposium Planner, Rule Responder, POSL, Symposium Planner, Rule Responder, POSL, RuleML, OO jDREW, Prova, MuleRuleML, OO jDREW, Prova, Mule
RuleML Techn. Group with Adrian Paschke, RuleML Techn. Group with Adrian Paschke, Alexander Kozlenkov and Nick BassiliadesAlexander Kozlenkov and Nick Bassiliades
Integrated another ‘partner engine’, Euler, Integrated another ‘partner engine’, Euler, for recent use cases, e.g. in WellnessRulesfor recent use cases, e.g. in WellnessRules
4545
Future Work (I)Future Work (I) Communication betweenCommunication between
Personal Agent and Expert OwnerPersonal Agent and Expert Owner The PA may need to interact with its expert The PA may need to interact with its expert
ownerowner The intended formal interaction between PAs The intended formal interaction between PAs
and their owners could use email (SMTP)and their owners could use email (SMTP) The initial interaction language for these emails The initial interaction language for these emails
could be Reaction RuleMLcould be Reaction RuleML Query DecompositionQuery Decomposition
Each subquery of a rule can be decomposed forEach subquery of a rule can be decomposed fordifferent PAs, followed by answer integrationdifferent PAs, followed by answer integration
4646
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 Communication OverheadCentralized: Avoids Communication Overhead Distributed: Fault ToleranceDistributed: Fault Tolerance
Alternative agents when an agent becomes Alternative agents when an agent becomes defunctdefunct
Hierarchical: OA still a bottleneckHierarchical: OA still a bottleneck From Centralized to DistributedFrom Centralized to Distributed
Knowledge MaintenanceKnowledge Maintenance Easier to keep Distributed Rules up-to-dateEasier to keep Distributed Rules up-to-date
Technical Report:Technical Report: http://ruleml.org/papers/EvalArchiRule.pdfhttp://ruleml.org/papers/EvalArchiRule.pdf