240 likes | 390 Views
Design and Implementation of a Distributed Rule-Based Query System Supporting Conference Organization. Chaudhry Usman Ali. Conference Organization. Involves multitude of processes, consuming much time and effort of the organizing body.
E N D
Design and Implementation of a Distributed Rule-Based Query System Supporting Conference Organization Chaudhry Usman Ali
Conference Organization • Involves multitude of processes, consuming much time and effort of the organizing body. • Individual tasks which might not seem laborious at first, bundled together, form a formidable challenge for any committee. • Typically involves organization partner coordination, sponsoring correspondence, panel participants management, etc.
Visualize the organization/conference as a virtual entity. • Use multi-agent systems where each agent is a semi-automated representation of a member of the conference. • In artificial intelligence, agent-based systems have been hailed as a new paradigm for designing and implementing software systems.
Rule Responder • Rule Responder is an intelligent multi-agent system for collaborative teams and virtual communities. • Supports rule-based collaboration between different members of the virtual organization. • Uses RuleML as its Rule Markup Language, based on logic and XML. • Implemented as a Web-based service architecture.
Architecture External Agent Rule Base Scripts Semantic and Pragmatic Vocabularies Enterprise Service Bus Web Service Web Service Client Personal Agent 2 JMS OO jDREW Rule Engine Rule Base JMS Personal Agent 1 JMS OO jDREW Rule Engine Rule Base JMS JMS Conference Management System One Super-OA OA@SymposiumPlanner-2012 Semantic and Pragmatic Vocabularies Queries at Runtime Rule Base Scripts Prova Rule Engine Rule Base Internal/External Knowledge Sources Role Assignment Matrix (OWL) Two Sub-OAs OA@RuleML OA@ECAI-2012 Prova Rule Engine Rule Base Prova Rule Engine Rule Base Semantic and Pragmatic Vocabularies Semantic and Pragmatic Vocabularies Conference Organization Role Assignment Matrix (OWL) Role Assignment Matrix (OWL)
Agents Personal Agents • A personal agent represents a single person of an organization. • The personal agent contains rules and facts governing the role of an individual in the organization. • Personal Agents assist symposium chairs.
Organizational Agents • Organizational agents are used to represent shared goals and strategies of each person in the organization. • Organizational agents contain rule sets that describe their organization`s policies, regulations, opportunities, etc.
External Agents • External agents communicate with the virtual organization by sending messages that transport queries, answers, or complete rule sets to the public interface of the organizational agents. • HTTP interface to the system. • Support for multiple end users. • Current interface: web browser to communicate with the system.
Responsibility Assignment Ontology Metatopics Personal Agents Topics Metatopics Topics General Chair General Chair General Chair Symposium Symposium Publicity Chair Publicity Chair Publicity Chair Sponsoring Sponsoring Program Chair Program Chair Program Chair Coordinate Local Chair Coordinate Local Chair Doctoral Symposium General Chair Doctoral Symposium General Chair Doctoral Symposium General Chair Media Partners Media Partners Int`l Rule Challenge Chair Int`l Rule Challenge Chair Int`l Rule Challenge Chair Website Website Metadata and Social Media Chair Metadata and Social Media Chair Metadata and Social Media Chair Challenge Challenge Technical Group Technical Group Chair Technical Group Chair Responsible Accountable Properties:
Reaction RuleML • Is a branch of the RuleML family that supports actions and events. • Works as interchange language between agents, where Reaction RuleML messages are sent through the ESB. • The ESB carries RuleML queries (requests), answers (results), and rulebases to/from agents.
Example Reaction RuleML Message Pragmatic Context Description Transport Protocol Message Payload
POSL • A presentation, shorthand, and exchange syntax is described that integrates Prolog's positional and F-logic's slotted syntaxes for representing knowledge (facts and rules) in the Semantic Web. mediaPartnerCommunity(?Meeting,?Community,?Interest) :- sponsoringComMeet(?Meeting,?Community), sponsoringComInt(?Community, ?Interest). sponsoringComMeet(RuleML_2012, sigart). sponsoringComMeet(RuleMl_2012, sigweb). sponsoringComInt(sigart, "Artificial Intelligence"). sponsoringComInt(sigweb, "HyperText").
Prova • Is both a rule language and a rule engine • Tight integration of Java and Semantic Web technologies • Provais used to implement the organizational agents
Prova: Messaging Reaction Rules • Send a message sendMsg(XID,Protocol,Agent,Performative,[Predicate|Args]|Context) • Receive a message rcvMsg(XID,Protocol,Agent,Performative,[Predicate|Args]|Context) • Receive multiple messages rcvMult(XID,Protocol,Agent,Performative,[Predicate|Args]|Context) • XID is the conversation identifier • Protocol: protocol e.g. self, jms, esbetc • Agent: denotes the target or sender of the message • Performative: pragmatc context, e.g. FIPA Agent Communication • [Predicate|Args] or Predicate(Arg1,..Argn): Message payload
Example getTracks(XID,Track):- %look-up responsible agent from RAM assigned(XID,Agent,ruleml2012ATecai_ProgramChair,ruleml2012ATecai_responsible), % send the query to personal agent. sendMsg(XID,esb,Agent, "query", getTrack(Track)), % receive answers multiple times rcvMult(XID,esb,Agent, "answer", substitutions(Track)).
OO jDREW • OO jDREW is used for personal agents. Modes of Rule Execution • Bottom-Up • Top-Down Support for rules in the following formats: • POSL (Positional Slotted Language) • RuleML
Enterprise Service Bus • Mule Enterprise Service Bus • Is used to create communication end points at each Personal and Organizational Agent. • Provides a highly scalable and flexible application messaging framework to communicate synchronously or asynchronously. • Supports a variety of transport protocols including HTTP,JMS, JDBC, SOAP, etc. • Is based on a staged event-driven architecture (SEDA).
User Client SymposiumPlanner-2012 • Uses XML file, which describes publicly accessible rule functions together with their mode and type declarations to create HTML forms • Displayed queries can be changed according to user choice • Assigned values to parameters are combined with function rules to create a Reaction RuleML message. Interface Interface Interface translate System Interface Descriptions translate translate RuleML HTML Form
Deployment • RuleMLSymposium was held in conjunction with ECAI 2012, the 20th biennial European Conference on Artificial Intelligence, in Montpellier, France ,August 27-29, 2012. http://dbis.informatik.tu-cottbus.de/ruleml2012/
Contributions • Generalized conference management architecture. • Capability to map a conference and an organization. • Internal and external data sources. • Mule ESB 3.1.2 with improvements in cloud connect, supporting custom schemas for each connector. • Human feedback was sought before and during the conference for system improvements. • New queries were introduced. • New checks were implemented to enable system integrity. • Evaluation of servlet response times.
Future • The 7th International Symposium on Rules and the Web (RuleML 2013) will be held in Seattle Metropolitan Area, in the U.S. state of Washington, on July 11-13th, 2013 co-located directly before the AAAI 2013 conference.
Improvements • Prova 3 includes improvements to optimize intra-JVM message reactions for enhanced performance. Prova 3.1.9 includes improvements including fixis to way Java functions handle Prova objects in arguments. • Mule 3.3 ESB comes with MEL (Mule Expression Language) for implementing business logic as well as support for Java 7. • Tomcat 7 has better garbage collection. Memory leaks effect performance.