Rule Responder:
    RuleML-Based
    Semantic Web Ser ices
                 Services
    Talk at Dept. of Computer Science...
Introduction
  t oduct o
Topic of this talk
    Rule Responder: Extending the Semantic Web
    towards a Semantic-Pragmati...
Towards a Pragmatic Web
      o a ds     ag at c eb
1.    Explicit Meta-data
         vCard, PICS, Dublin
         Core, R...
Pragmatic Web with Two Kinds of Collaborative Agents




                      Interaction




                           ...
Pragmatic Web
Semiotics, the study of sign processes, includes the study of how signs are
constructed, understood, dissemi...
Pragmatic
                              Agent Web




 R l R
 Rule Responder P j t
              d Project:
http://respond...
Benefits of Rule-Based Decision and
 Reaction Logic
1.   Compact declarative representation of rules
        p            ...
Rule Responder Architecture (MDA)
1.   Computational independent model (CIM) with rules,
                        ti
     p...
RuleML / Reaction RuleML
    Platform Independent
    Rule Interchange Format

               http://ruleml.org
          ...
RuleML: Common Rule Interchange Format
 Rule Markup and Modeling Initiative (RuleML) (www.ruleml.org)
    Standardization ...
RuleML Enables ...
 ue      ab es

         modelling
           markup        UML
         translation
         t    l ti...
RuleML Language Family – Derivation RuleML




                                       11
Schema Modularization
 XML Schema + EBNF Syntax
 Full RDF compatibility via type and
 role tags (akin to triple syntax);
 ...
RuleML Business Rule Example
''The discount for a customer buying a product is 5.0 percent if
the customer is premium and ...
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; evaluat...
Messages in Reaction RuleML
 essages     eact o   ue
<Message mode=quot;outboundquot; directive=quot;ACL:informquot;>
    ...
Enterprise Service Bus
Communication Middleware
             +
   Service Object Broker




                           17
Mule Enterprise Se ce Bus
 u e te p se Service us
                            Mule ESB Open
                            So...
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 )




                         ...
21
Use Case: Symposium Question-Answering
(by it Vi t l Organization)
(b its Virtual O   i ti )




                         ...
Personal Agents
 e so a ge ts

 A personal agent assists a single person
 of an organization, (semi-autonomously) acting
 ...
Organizational Agents
O ga at o a ge ts

 Organizational agents are used to represent
 goals and strategies shared
 by eac...
External Agents
  te a ge ts


 External agents communicate with the public
 interface of the organizational agents,
 exch...
Architecture - Overview




                          26
Rule Engines
 ue    g es

 Prova (Prolog + Java)
       (     g       )

 OO jDREW (Object Oriented Java
 Deductive Reason...
Prova

 Prova is used to implement the organizational
 agents of Rule Responder

 Prova is also used for some personal age...
OO jDREW
 OO jDREW is used for implementing personal
 agents of Rule Responder
 Two modes of Rule Execution:
   Bottom-up ...
Use Case Sy pos u O ga e
    Case: Symposium Organizer
 RuleML-200x Symposium
   One organizational agent acts as the
   s...
Online Demo
O    e e o
 http://responder.ruleml.org/

 Use Case Demo Link:
 http://ibis.in.tum.de/projects/paw/ruleml-2007...
Ex : Personal Agent’s Knowledge Base
 Ex.:          Agent s


% Sample OO j
        p      jDREW rule in POSL syntax:
    ...
Ex.:
 Ex : Organizational Agent’s Knowledge Base (Abridged)
                     Agent s



% Sample Prova-like rule in PO...
Sample Query to the Organizational Agent: getContact
 <RuleML xmlns=quot;http://www.ruleml.org/0.91/xsdquot;
 xmlns:xsi=qu...
Architecture - Execution




                           35
Architecture - Execution




                           36
Architecture - Execution




                           37
Architecture - Execution




                           38
Architecture - Execution




                           39
40
41
Sample Query to the Publicity Chair: sponsor (1)
 <content>
     t t
  <Atom>
     <Rel>sponsor</Rel>
     <Expr>
       E...
43
Sample Query to the Publicity Chair: sponsor (2)
<content>
    t t
 <Atom>
    <Rel>sponsor</Rel>
    <Expr>
        p
   ...
45
Conclusion ( )
Co c us o (1)

 Rule Responder can be used to implement
 a wide range of use cases that require an
 intelli...
Conclusion ( )
Co c us o (2)
 Develops an effective methodology and an efficient infrastructure to
 interchange and reuse ...
Conclusion (3)
Co c us o
 Demonstrates the interoperation of various distributed platform-specific
 rule execution environ...
Applications and Next Steps
Applications of the Pragmatic Agent Web and the Rule Responder
middleware in different project...
Upcoming SlideShare
Loading in …5
×

Rule Responder Nccu Taipei Mar2008 Talk [Compatibility Mode]

2,061 views
2,003 views

Published on

Prof. Harold Boley Talk in NCCU

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,061
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
27
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Rule Responder Nccu Taipei Mar2008 Talk [Compatibility Mode]

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. Pragmatic Web with Two Kinds of Collaborative Agents Interaction 3
  5. 5. 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
  6. 6. Pragmatic Agent Web R l R Rule Responder P j t d Project: http://responder.ruleml.org 5
  7. 7. 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
  8. 8. 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
  9. 9. RuleML / Reaction RuleML Platform Independent Rule Interchange Format http://ruleml.org http://ruleml org http://ibis.in.tum.de/research/ReactionRuleML/ 8
  10. 10. 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
  11. 11. RuleML Enables ... ue ab es modelling markup UML translation t l ti RDF Rule interchange in XML execution ASCII publication bli ti archivingg 10
  12. 12. RuleML Language Family – Derivation RuleML 11
  13. 13. 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
  14. 14. 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
  15. 15. Scope o Reaction RuleML of eact o ue 14
  16. 16. 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
  17. 17. 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
  18. 18. Enterprise Service Bus Communication Middleware + Service Object Broker 17
  19. 19. 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
  20. 20. Mule Enterprise Se ce Bus u e te p se Service us 19
  21. 21. Use Case: Symposium Question-Answering (by it Vi t l Organization) (b its Virtual O i ti ) 20
  22. 22. 21
  23. 23. Use Case: Symposium Question-Answering (by it Vi t l Organization) (b its Virtual O i ti ) 22
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. Architecture - Overview 26
  28. 28. Rule Engines ue g es Prova (Prolog + Java) ( g ) OO jDREW (Object Oriented Java Deductive Reasoning Engine for the Web) 27
  29. 29. Prova Prova is used to implement the organizational agents of Rule Responder Prova is also used for some personal agents 28
  30. 30. 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
  31. 31. 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
  32. 32. Online Demo O e e o http://responder.ruleml.org/ Use Case Demo Link: http://ibis.in.tum.de/projects/paw/ruleml-2007/ 31
  33. 33. 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, john@email.com, 1-555-555-5555). role(John, P l (J h Panel Ch i ) l Chair). title(John, PHD). 32
  34. 34. 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
  35. 35. 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>
  36. 36. Architecture - Execution 35
  37. 37. Architecture - Execution 36
  38. 38. Architecture - Execution 37
  39. 39. Architecture - Execution 38
  40. 40. Architecture - Execution 39
  41. 41. 40
  42. 42. 41
  43. 43. 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>
  44. 44. 43
  45. 45. 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>
  46. 46. 45
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. 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, ...

×