Published on March 11, 2008
Rule Responder: RuleML-Based Semantic Web Ser ices Services Talk at Dept. of Computer Science, NCCU Taipei, Taiwan, 7 March 2008 Harold Boley1, Benjamin Craig1, Adrian Paschke2 y j g 1 National Research Council of Canada University of New Brunswick, Canada 2 Bioinformatics, BIOTEC Center, , , Technical University Dresden, Germany
Introduction t oduct o Topic of this talk Rule Responder: Extending the Semantic Web towards a Semantic-Pragmatic Web Service infrastructure for distributed rule-based human-computer collaboration Rules employed for semi-automated decision support delegation/coordination negotiation flow reaction logic 1
Towards a Pragmatic Web o a ds ag at c eb 1. Explicit Meta-data vCard, PICS, Dublin Core, RDF IEEE LOM C RDF, (Learning Objects Metadata), Micro Formats, FOAF, SIOC … 2. Ontologies RDFS, OWL Lite|DL|Full 3. Logic and Inference e.g. Logic Programming Rule/Inference Engines 4. Software Agents and Web Services FIPA, Semantic Web Services, RBSLA, … 2
Pragmatic Web with Two Kinds of Collaborative Agents Interaction 3
Pragmatic Web Semiotics, the study of sign processes, includes the study of how signs are constructed, understood, disseminated, and acted upon. „Pragmatics, a basic field of linguistics today, originally had its roots in Morris's idea of a division of signs concerned with quot;the relations of signs to their interpreters or the interpretersquot; users. “ Eugen Halton, http://www.nd.edu/~ehalton/Morrisbio.htm, 1992 Pragmatic Web Utilize the heterogenous Semantic Web resources meta data and resources, meaning representations with intelligent agents and web-based services with the ability to understand the others‘ intended meaning (pragmatic competence) p ) Collaborate in a communicative conversation-based process where content and context is interchanged in terms of messages (relation of signs) between senders and receivers (interpreters/users). Pragmatic layer/wrapper around semantic/content e g by KQML / ACL e.g. KQML- like speech-act primitives (e.g. assert(content), retract(content), query(kb), known under the technical term performatives) Model, negotiate and control individual and shared meanings learning and knowledge adaption / updates 4
Pragmatic Agent Web R l R Rule Responder P j t d Project: http://responder.ruleml.org 5
Benefits of Rule-Based Decision and Reaction Logic 1. Compact declarative representation of rules p p Clear semantics Global rules which might apply in several contexts (reusability) Separation of contract rules from the application code p pp Extensibility of the rule base (without changing the interpreter) 2. Efficient, generic interpreters (rule engines) for automated rule chaining and execution of reaction rules 3. Automated conflict detection of rule conflicts Traceable and verifiable results Integrity constraints are possible Automated conflict resolution by rule prioritization Rules play an important role to automatically transform contextual data, derive new conclusions and decisions from existing knowledge and behaviourally act according to changed conditions or occurred events 6
Rule Responder Architecture (MDA) 1. Computational independent model (CIM) with rules, ti processes, conversational fl l flows ( in (e.g. i a natural or visual t l i l language) 2. Platform independent model (PIM) which represents the rules, events and ontologies in a common (standardized) interchange format (e g a markup language) (e.g. 3. Platform specific model (PSM) which encodes the rule statements in the language of a specific execution environment (e.g. a rule engine / inference service or compiled code) 7
RuleML / Reaction RuleML Platform Independent Rule Interchange Format http://ruleml.org http://ruleml org http://ibis.in.tum.de/research/ReactionRuleML/ 8
RuleML: Common Rule Interchange Format Rule Markup and Modeling Initiative (RuleML) (www.ruleml.org) Standardization effort for a rule markup and modelling language, tools and applications RuleML is the de facto open language standard for rule interchange / rule markup on the Web Reaction RuleML (http://ibis.in.tum.de/research/ReactionRuleML/) Language family for reaction rules and complex event messaging / processing RuleML Derivation Reaction Integrity Transformation Rules Rules Constraints Rules RuleML Translators Homogeneous Approach Reaction RuleML Integrity RuleML Derivation RuleML 9
RuleML Enables ... ue ab es modelling markup UML translation t l ti RDF Rule interchange in XML execution ASCII publication bli ti archivingg 10
RuleML Language Family – Derivation RuleML 11
Schema Modularization XML Schema + EBNF Syntax Full RDF compatibility via type and role tags (akin to triple syntax); XML Schema Modularization: Layered and uniform design The layers are organized around increasing expressiveness levels Benefits: B fi - easier to learn the language and to understand their relationships - facilitates reusability and complex language assemblies from modules - provides certain guidance to vendors who might be interested only in a particular subset of the features - easier t maintain, manage and i to i t i d extend in a distributed environment 12
RuleML Business Rule Example ''The discount for a customer buying a product is 5.0 percent if the customer is premium and the product is regular.'' <Implies> Implies <head> head <Atom> Atom <op><Rel>discount</Rel></op> op Rel discount <Var>customer</Var> Var customer <Var>product</Var> Var product <Ind>5.0 percent</Ind> Ind 5.0 percent </Atom> </head> <body> body <And> And <Atom> Atom <op><Rel>premium</Rel></op> op Rel premium <Var>customer</Var> Var customer </Atom> <Atom> Atom <op><Rel>regular</Rel></op> opr Rel regular <Var>product</Var> Var product </Atom> </And> </A d> </body> </Implies> 13
Scope o Reaction RuleML of eact o ue 14
General Syntax for Reaction Rules (Reaction R l ML 0 2) (R ti RuleML 0.2) <Rule style=quot;activequot; evaluation=quot;strongquot;> <label> <!-- metadata --> </label> <scope> <!-- scope --> </scope> <qualification> <!-- qualifications --> </qualification> <oid> <!-- object identifier --> </oid> od objec de e /o d <on> <!-- event --> </on> <if> <!-- condition --> </if> <then> <!-- conclusion --> </then> <do> <!-- action --> </do> <after> <!-- postcondition --> </after> <else> <!-- else conclusion --> </else> <elseDo> <!-- else/alternative action --> </elseDo> l D ! l / lt ti ti / l D <elseAfter> <!-- else postcondition --> </elseAfter> </Rule> 15
Messages in Reaction RuleML essages eact o ue <Message mode=quot;outboundquot; directive=quot;ACL:informquot;> <oid> <!-- conversation ID--> </oid> <protocol> <!-- transport protocol --> </protocol> <sender> <!-- sender agent/service --> </sender> <content> <!-- message payload --> </content> </Message> @mode = inbound|outbound – attribute defining the type of a message @directive – attribute defining the pragmatic context of the message, e g one message e.g. or more FIPA ACL performatives, KQML, OWL-QL, Standard Deontic Logic norms, … < oid > – the conversation id used to distinguish multiple conversations and g p conversation states < protocol > – a transport protocol such as HTTP, JMS, SOAP, Jade, Enterprise Service Bus (ESB) ... < sender >< receiver > – the sender/receiver agent/service of the message < content > – message payload transporting a RuleML / Reaction RuleML query, answer, or rule base 16
Enterprise Service Bus Communication Middleware + Service Object Broker 17
Mule Enterprise Se ce Bus u e te p se Service us Mule ESB Open Source Message Pl tf M Platform and d distributed Object Broker Staged Event Driven Architecture (SEDA) > 30 Protocols (JMS, (JMS HTTP, SOAP …) Synchronous and Asynchronous Communication Complex Message- driven E di Eventt Processing (CEP) 18
Mule Enterprise Se ce Bus u e te p se Service us 19
Use Case: Symposium Question-Answering (by it Vi t l Organization) (b its Virtual O i ti ) 20
Use Case: Symposium Question-Answering (by it Vi t l Organization) (b its Virtual O i ti ) 22
Personal Agents e so a ge ts A personal agent assists a single person of an organization, (semi-autonomously) acting on his/her behalf The personal agent contains a FOAF*-like profile plus FOAF-extending rules * The Friend of a Friend (FOAF) project: http://www.foaf-project.org 23
Organizational Agents O ga at o a ge ts Organizational agents are used to represent goals and strategies shared by each person in the organization Organizational agents contain rule sets that describe their organizations’ policies, regulations, opportunities, etc. 24
External Agents te a ge ts External agents communicate with the public interface of the organizational agents, exchanging messages that transport queries queries, answers, or complete rule sets End users employ a Web (HTTP) interface as an external agent of Rule Responder (currently an API-like browser interface) Support for multiple external agents (end users) at the same time 25
Architecture - Overview 26
Rule Engines ue g es Prova (Prolog + Java) ( g ) OO jDREW (Object Oriented Java Deductive Reasoning Engine for the Web) 27
Prova Prova is used to implement the organizational agents of Rule Responder Prova is also used for some personal agents 28
OO jDREW OO jDREW is used for implementing personal agents of Rule Responder Two modes of Rule Execution: Bottom-up (fact-directed forward reasoning) Top-down (query-directed backward reasoning) Rule Responder primarily uses top-down Supports rules in the following formats: POSL (Positional Slotted presentation syntax) RuleML (XML syntax, can be generated from POSL) 29
Use Case Sy pos u O ga e Case: Symposium Organizer RuleML-200x Symposium One organizational agent acts as the single point of entry to the symposium Assists with planning, preparing, and running the symposium Personal agents support chairs of the y p symposium Program Chair, Publicity Chair, Panel Chair, General Chair, etc. 30
Online Demo O e e o http://responder.ruleml.org/ Use Case Demo Link: http://ibis.in.tum.de/projects/paw/ruleml-2007/ 31
Ex : Personal Agent’s Knowledge Base Ex.: Agent s % Sample OO j p jDREW rule in POSL syntax: y person(?person, ?role, ?title, ?email, ?telephone) :- mailphone(?person, ?email, ?telephone), mailphone(?person ?email ?telephone) role(?person, ?role), title(?person, ?title). title(?person ?title) % Sample OO jDREW facts used by the above rule: mailphone(John, email@example.com, 1-555-555-5555). role(John, P l (J h Panel Ch i ) l Chair). title(John, PHD). 32
Ex.: Ex : Organizational Agent’s Knowledge Base (Abridged) Agent s % Sample Prova-like rule in POSL syntax: getContact(?conference_part, ?info, getContact(?conference part ?info ?contact) :- person(?contact, ?role, ?title, ?email, ?telephone), ... . 33
Sample Query to the Organizational Agent: getContact <RuleML xmlns=quot;http://www.ruleml.org/0.91/xsdquot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot; xsi:schemaLocation=quot;http://www.ruleml.org/0.91/xsd http://ibis.in.tum.de/research/ReactionRuleML/0.2/rr.xsdquot; htt //ibi i t d / h/R ti R l ML/0 2/ dquot; xmlns:ruleml2007=quot;http://ibis.in.tum.de/projects/paw#quot;> <Message mode=quot;outboundquot; directive=quot;query-syncquot;> g q y y <oid><Ind>RuleML-2007</Ind></oid> <protocol><Ind>esb</Ind></protocol> <sender><Ind>user</Ind></sender> <content> <Atom> <Rel>getContact</Rel> <Ind>ruleml2007_Challenge</Ind> <Ind>ruleml2007 Challenge</Ind> <Ind>update</Ind> <Var>Contact</Var> </Atom> </content> </Message> 34 </RuleML>
Architecture - Execution 35
Architecture - Execution 36
Architecture - Execution 37
Architecture - Execution 38
Architecture - Execution 39
Sample Query to the Publicity Chair: sponsor (1) <content> t t <Atom> <Rel>sponsor</Rel> <Expr> Expr <Fun>contact</Fun> <Ind>ben</Ind> <Ind>nrc</Ind> </Expr> </E > <Ind type=quot;integerquot;>500</Ind> <Expr> <Fun>results</Fun> <Var>Level</Var> <Var>Benefits</Var> <Var>DeadlineResults</Var> </Expr> <Expr> <Fun>performative</Fun> <Var>Action</Var> </Expr> </Atom> 42 </content>
Sample Query to the Publicity Chair: sponsor (2) <content> t t <Atom> <Rel>sponsor</Rel> <Expr> p <Fun>contact</Fun> <Ind>ben</Ind> <Ind>nrc</Ind> </Expr> <Ind type=quot;integerquot;>5000</Ind> <Expr> <Fun>results</Fun> <Var>Level</Var> <Var>Benefits</Var> <Var>DeadlineResults</Var> </Expr> /E <Expr> <Fun>performative</Fun> <Var>Action</Var> Var Action /Var </Expr> </Atom> 44 </content>
Conclusion ( ) Co c us o (1) Rule Responder can be used to implement a wide range of use cases that require an intelligent, semi-automated decision layer semi automated The middleware of Rule Responder allows deployment of multiple use cases running concurrently Reusability on all levels: Symposium Organizer, Rule Responder, POSL, RuleML, OO jDREW, Prova, Mule j 46
Conclusion ( ) Co c us o (2) Develops an effective methodology and an efficient infrastructure to interchange and reuse knowledge on the Web ( g g (ontologies and rules) g ) and communicate contextual actions Adds a pragmatic rule-based layer (Pragmatic Web), defines the rules for using information resources and ontologies to support g g human agents in their decisions and react partially self-autonomously by means of automated agents or services Blends and tightly combines the ideas of multi-agent systems, distributed rule management systems, and service oriented and event systems driven architectures Addresses real-world software engineering needs for a highly distributed, open, interoperable, distributed open interoperable efficient and scalable Semantic Web service and agent infrastructure Design Science Research Approach 47
Conclusion (3) Co c us o Demonstrates the interoperation of various distributed platform-specific rule execution environments based on Reaction RuleML as a platform- p independent rule interchange format interchanged over an enterprise service bus as transport middleware Applies rule-based technologies to the management of virtual organizations and collaborative teams Applies negotiation and distributed coordination mechanisms of rule- based complex event processing and rule-based workflow like reaction rule patterns l tt Demonstrates the integration and interoperation of rule standards (RuleML), Object-Oriented programming (Java) and Semantic Web (RDF, RDFS (RDF RDFS, OWL) and metadata standards (e g iCal vCard FOAF) (e.g. iCal, vCard, 48
Applications and Next Steps Applications of the Pragmatic Agent Web and the Rule Responder middleware in different projects Rule Responder: http://responder.ruleml.org/ Reaction RuleML: http://ibis.in.tum.de/research/ReactionRuleML/ Prova Agent Architecture: http://www.prova.ws/ Prova Workflow Patterns: http://www.prova.ws/csp/?q=taxonomy/term/11 Rule Based Service Level Agreements: http://ibis.in.tum.de/projects/rbsla/ Next steps Integration of further rule engines into the middleware (Rule Responder project) Extending the Pragmatic Foundations of Rule Responder Syntactical standardization issues (Reaction RuleML, Rule Interchange Format) Running projects: FungalWeb project with Rule Responder agents to answer queries on chemical compunds (Chebi), enzymes (Mesh, EC classificaiton), species; Chebi and enzyme classification (EC) DILP (Distributed Inductive Logic Programming) for Mining Multi-Relation Data in Multi Relation Bioinformatics DoReMoPat: Domain-specific Reference Models for Complex Event Patterns 49 Rule Responder: Symposium Organizer, Expert Finder, ...
View 291645 Responder posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn. LinkedIn Home What is LinkedIn?
Rule Responder Nccu Taipei Mar2008 Talk [Compatibility Mode] Prof. Harold Boley Talk in NCCU Baja Rule Book Updates & Dvp Format_padmesh Sewda ...
... (*Subject to certain rules and regulations) ... TEDx Talks 18,050 views. 22:46 人生路上的加減乘除: 李含仁 Mark at TEDxNCTU ...
Discuss Web rule-based agents on the Rule Responder TG mailing list: ... Taipei, Taiwan, where it is ... Since RuleML should help rule-system ...
... (*Subject to certain rules and regulations) ... TEDx Talks 762,443 views. 18:41 選擇你應該走的路：彭蒙惠(Doris) ...
The Initiative. The participants of the RuleML Initiative constitute an open network of individuals and groups from both industry and academia.
National Chung Hsing University ... the Taipei campus including the College of Law & Business and the Taipei evening school was combined into the newly ...