Post on 19-Dec-2015
transcript
Deploying a Distributed Deploying a Distributed SymposiumSymposium
Planner Through Rule Responder Planner Through Rule ResponderHarold BoleyHarold Boley
Benjamin Craig Benjamin Craig
Institute for Information TechnologyInstitute for Information TechnologyNational Research Council, Canada National Research Council, Canada
Fredericton, NB, CanadaFredericton, NB, Canada
RuleML-2008 ChallengeRuleML-2008 ChallengeOrlando Florida Orlando Florida
October 30-31, 2008October 30-31, 2008
22
OutlineOutline Rule Responder OverviewRule Responder Overview Symposium Planner Use CaseSymposium Planner Use Case
AgentsAgents Personal / Organizational / ExternalPersonal / Organizational / External
Rule Engines Rule Engines (for Realizing Agents)(for Realizing Agents) ProvaProva OO jDREWOO jDREW
Communication Middleware Communication Middleware (for Connecting (for Connecting Agents)Agents) Mule ESBMule ESB Reaction RuleML Messages Reaction RuleML Messages
Online DemoOnline Demo ConclusionConclusion
33
Overview of Rule ResponderOverview of Rule Responder Rule Responder is an experimentalRule Responder is an experimental
multi-agent system for collaborative multi-agent system for collaborative teams and virtual communities on the teams and virtual communities on the WebWeb
Supports rule-based collaboration Supports rule-based collaboration between the distributed members of between the distributed members of such a virtual organizationsuch a virtual organization
Members of each virtual organization are Members of each virtual organization are assisted by semi-automated rule-based assisted by semi-automated rule-based agents, which use rules to describe the agents, which use rules to describe the decision and behavioral logicdecision and behavioral logic
Implemented on top of a Mule-basedImplemented on top of a Mule-basedService Oriented Architecture (SOA)Service Oriented Architecture (SOA)
44
Use Case: Symposium Use Case: Symposium Planner Planner
RuleML-20xy SymposiaRuleML-20xy Symposia An organizational agent acts as the single point An organizational agent acts as the single point
of entry to 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 Q&A in 2008)chairs since 2007 (deployed as Q&A in 2008)
General Chair, Program Chair, Panel Chair, Publicity General Chair, Program Chair, Panel Chair, Publicity Chair, etc.Chair, etc.
55
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 organizationmember of the organization
It contains rule sets that describe the It contains rule sets that describe the policies, regulations, opportunities, policies, regulations, opportunities, etc. of its organization etc. of its organization
66
Personal AgentsPersonal Agents
A personal agent assists a single A personal agent assists a single
personperson
of an organization, (semi-of an organization, (semi-
autonomously) acting on his/her autonomously) acting on his/her
behalfbehalf Can be thought as delegating routine Can be thought as delegating routine
work to an assistantwork to an assistant
77
External AgentsExternal Agents External agents exchange messages External agents exchange messages
with (the public interface of) with (the public interface of) organizational agents, asking queries, organizational agents, asking queries, receiving answers, or interchanging receiving answers, or interchanging complete rule sets complete rule sets
End users, as external agents, employ a End users, as external agents, employ a Web (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 Support for simultaneous external agents: Currently, end users (B2C)agents: Currently, end users (B2C)Ultimately, other organizations (B2B)Ultimately, other organizations (B2B)
88
Infrastructure - OverviewInfrastructure - Overview
99
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 need to communicate, When two agents need to communicate, each others’ Reaction RuleML messages each others’ Reaction RuleML messages are sent through the ESBare sent through the ESB
Carries RuleML queries, answers, and Carries RuleML queries, answers, and rule bases to/from agentsrule bases to/from agents
1010
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
1111
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)
1212
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)
1313
Communication MiddlewareCommunication Middleware MuleMule Enterprise Service Bus (ESB) Enterprise Service Bus (ESB)
Mule* is used to create communication Mule* is used to create communication end 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
1414
Online Use Case DemoOnline Use Case Demo Rule Responder:Rule Responder:
http://responder.ruleml.orghttp://responder.ruleml.org
RuleML-2007/RuleML-2008 Symposia:RuleML-2007/RuleML-2008 Symposia:http://ibis.in.tum.de/projects/paw/ruleml-2007http://ibis.in.tum.de/projects/paw/ruleml-2007http://ibis.in.tum.de/projects/paw/ruleml-2008http://ibis.in.tum.de/projects/paw/ruleml-2008
Personal agents:Personal agents:Supporting all ChairsSupporting all Chairs
Organizational agent:Organizational agent:Supporting Symposium as a wholeSupporting Symposium as a whole
Online
2727
ConclusionConclusion 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 Q&ARuleML-2008 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 & It couples rule engines OO jDREW & Prova via Mule middleware and RuleML Prova via Mule middleware and RuleML 0.91 XML interchange format0.91 XML interchange format