SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
Rule Responder – RuleML-based Agents for
Distributed Collaboration on the Pragmatic Web
                                                     22/23rd October 2007



                    Towards a Pragmatic Agent Web
                    Rule Responder
                      Reaction RuleML – Rule Interchange Format
                      Enterprise Service Bus – Communication Middleware
                      Rule Engines – Execution Environments
                    Rule Responder Use Cases
                    Summary




               A. Paschke1, H. Boley, A. Kozlenkov, B. Craig
               1   Bioinformatics, BIOTEC Center, Technical University Dresden

               Int. Conference on the Pragmatic Web, Tilburg, Netherlands, 2007
Semantic Web Stack




             Main Principles (Semantic Web Stack 2003)
                  Development in layers
                  Downwards compatible
                  Upwards: Partial understanding
2   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
The Future of the Semantic Web?




                T. Berners-Lee. Web for real people,                     I., Horrocks: Semantic web architecture : Stack or two towers?,
       http://www.w3.org/2005/talks/0511-keynote-tbl, 2005.                             Dagstuhl Castle ,Germany, 2005.

    Semantic Web addresses syntax and semantics of representation languages for
    meta data vocabularies and semantic domain descriptions

     An explicit pragmatic layer addressing use of semantic resources within a
    pragmatic context is missing
3   2nd International Conference on the Pragmatic Web   Rule Responder            © Adrian Paschke 2007
Towards a Pragmatic Web

1. Explicit Meta-data
                vCard, PICS, Dublin Core,
                RDF, IEEE LOM (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, …




4   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Pragmatic Agent Web - Example with Two Kinds of
Collaborative Agents




                                                                 Interaction




5   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Pragmatic Web
     Semiotics, the study of sign processes, includes the study of how meaning is
     constructed and understood.

     „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
     interpretersquot; or users. “
                                                        Eugen Halton, http://www.nd.edu/~ehalton/Morrisbio.htm, 1992


     Pragmatic Web
         Utilize the heterogenous Semantic Web resources, meta data and meaning
        representations with intelligent agents and web-based services with the
        ability to understand the others intended meaning (pragmatic
        competence)
        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 like
        speech-act primitives (e.g. assert(content), retract(content), query(kb))
        Model, negotiate and control shared and invividual meanings
           requires learning and knowledge adaption / updates
6   2nd International Conference on the Pragmatic Web         Rule Responder            © Adrian Paschke 2007
Pragmatic
                                                                                          Agent Web




         Rule Responder Project:
    http://www. responder.ruleml.org/

7    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Benefits of Rule-Based Decision and
    Reaction Logic
    1. Compact declarative representation of rules
              Clear semantics
              Global rules which might apply in several contexts (reusability)
              Separation of contract rules from the application code
              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 and contextually
         transform data, derive new conclusions and decisions from existing
         knowledge and behaviourally act according to changed conditions or
         occurred events
8   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Rule Responder Architecture
    1. Computational independent model (CIM) with rules,
         processes, conversational flows (e.g. in a natural or visual
         language)


    2. Platform independent model (PIM) which represents the
         rules, events and ontologies in a common (standardized)
         interchange format (e.g. a markup language)


    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)

9   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
RuleML / Reaction RuleML
                                     Platform Independent
                                    Rule Interchange Format


                                                 http://ruleML.org
                                http://ibis.in.tum.de/research/ReactionRuleML/


10   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
RuleML as 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
11   2nd International Conference on the Pragmatic Web     Rule Responder            © Adrian Paschke 2007
RuleML Enables ...



                                      modelling
                                        markup                                                    UML
                                      translation                                                 RDF
Rule                           interchange in                                                     XML
                                     execution                                                    ASCII
                                    publication
                                     archiving
12   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
RuleML Language Family – Derivation RuleML




13   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
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:
         -   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 to maintain, manage and
             extend in a distributed environment

14   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
RuleML as Rule Interchange Format

     ''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>
                                                                                                    5.0 percent
                                                                                         Ind
          </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>
        </body>
      </Implies>
15    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Scope of Reaction RuleML




16   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Reaction RuleML is intended for …
      Enable interoperation between various domains of reaction rules,
      event/action definition and processing such as:
            Event Processing Networks
            Complex Event Processing (CPE)
            Event Driven Architectures (EDAs)
            Reactive, rule-based Service-Oriented Architectures (SOAs)
            Active Semantic Web Applications
            Real-Time Enterprise (RTE)
            Business Activity Management (BAM)
            Business Performance Management (BPM)
           Service Level Management (SLM) with active monitoring and
           enforcing of Service Level Agreements (SLAs) or e-Contracts
            Supply Chain Event Management
            Policies
            …
17   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
General Concepts

      General (reaction) rule form that can be
     specialized as needed
       Three general execution styles:
           Active: 'actively' polls/detects occurred events in global ECA style,
           e.g. by a ping on a service/system or a query on an internal or
           external event database
            Messaging: Waits for incoming complex event message
           Reasoning: KR event/action logic reasoning and transitions (as e.g.
           in Event Calculus, Situation Calculus, TAL formalizations)

       Appearance
            Global: ‘globally’ defined reaction rule
            Local: ‘locally’ defined (inline) reaction rule nested in an outer rule


18   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
General Syntax for Reaction Rules (Reaction RuleML 0.2)

                                    <Rule style=quot;activequot; evaluation=quot;strongquot;>
                                       <label> <!-- metadata --> </label>
                                       <scope> <!-- scope --> </scope>
                                       <qualification> <!-- qualifications --> </qualification>
                                       <oid> <!-- object identifier --> </oid>

                                       <on> <!-- event --> </on>
                                       <if> <!-- condition --> </if>
                                       <then> <!-- conclusion --> </then>
                                       <do> <!-- action --> </do>
                                       <after> <!-- postcondition --> </after>
                                       <else> <!-- else conclusion --> </else>
                                       <elseDo> <!-- else/alternative action --> </elseDo>
                                       <elseAfter> <!-- else postcondition --> </elseAfter>
                                    </Rule>
19    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Messages in Reaction RuleML
     <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
      or more FIPA ACL performatives, KQML, OWL-QL, Standard Deontic Logic
      norms, …
      < oid > – the conversation id used to distinguish multiple conversations and
      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
20    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Complex Event Processing (1)

        Event Definition
             Definition of event pattern by event algebra

        Event Selection
             Defines selection function to select one event from several occurred events (stored in
             an event instance sequence) of a particular type, e.g. “first”, “last”
             Crucial for the outcome of a reaction rule, since the events may contain different
             (context) information, e.g. different message payloads or sensing information

        Event Consumption
             Defines which events are consumed after the detection of a complex event
             An event may contribute to the detection of several complex events, if it is not
             consumed
             Distinction in event messaging between “multiple receive” and “single receive”
             Events which can no longer contribute, e.g. are outdated, should be removed

       Separation of this phases is crucial for the outcome of a reaction rule
      base in the context of complex events
       Declarative configuration of different selection and consumption
      policies


21   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Complex Event Algebra

                                          Complex Event Algebra Operators:
                                                Sequence | Disjunction | Xor |
                                                Conjunction | Concurrent | Not | Any |
                                                Aperiodic | Periodic
                                            and
                                                Complex Event Message Patterns

                                          Semantics:
                                                Interval-based KR Event Calculus semantics (model-theory +
                                                proof theory) based on time intervals modeled as fluents


                                                Example: B;(A;C) (Sequence)

                                              T1               T2             T3                           T4

                                                         B              A                      C

                                                                                     (A;C)
22   2nd International Conference on the Pragmatic Web       Rule Responder        © Adrian Paschke 2007
Example: Request / Query
     ...
     <Message mode=quot;outboundquot; directive=quot;ACL:query-refquot;>
         <oid> <Ind>RuleML-2007</Ind> </oid>
         <protocol> <Ind>esb</Ind> </protocol>
         <sender> <Ind>User</Ind> </sender>    FIPA ACL directive
         <content>
            <Atom>
                   <Rel>getContact</Rel>
                   <Ind>Website</Ind>
                   <Var>Contact</Var>
            </Atom>
         </content>
     </Message>
     ...

       Message is local to the conversation state (oid) and
      pragmatic context (directive)
23    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Example: Response / Answer
     <Message …>
     ...
       <content>
          <Atom>
              <Rel>getContact</Rel>
                 <Ind>Website</Ind>
                  <Expr>
                     <Fun>person</Fun>
                     <Ind>Adrian</Ind>
                     <Ind>Program Co-Chair RuleML-2007</Ind>
                     <Ind>Technical University Munich</Ind>
                     <Ind>paschke@in.tum.de</Ind>
                     <Ind>+49 89 289 17504</Ind>
                </Expr>
          </Atom>
       </content>
     ...
     </Message>
24    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Enterprise Service Bus
                             Communication Middleware
                                         +
                               Service Object Broker




25   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Mule Enterprise Service Bus

                                                                             Mule ESB Open Source
                                                                            Message Platform and
                                                                            distributed Object Broker
                                                                            Staged Event Driven
                                                                            Architecture (SEDA)
                                                                            > 30 Protocols (JMS, HTTP,
                                                                            SOAP …)
                                                                            Synchronous and
                                                                            Asynchronous
                                                                            Communication
                                                                            Complex Message-driven
                                                                            Event Processing (CEP)



26   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Mule Enterprise Service Bus




27   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Platform Specific Execution
                       Environments

     Rule Engines / Inference Services



28   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Prova – A Semantic Web Rule Engine
     Open-Source Project hosted at Sourceforge (http://www.prova.ws/)

     Distributed Semantic Web Rule Engine and Agent/Service Oriented
     Architecture written in Java focusing among other application domains on
     bioinformatics applications
     Principles: Separation of logic (declarative), data access (procedural
     attachments and query languages), and computation (inference and
     external procedural computation)
      Combines the benefits of declarative (rule-based), Semantic Web meta
     data and ontology, procedural/object oriented (e.g., Java), and workflow
     languages (e.g., BPEL)
      Standard ISO Prolog scripting syntax + extended logic programming
     semantics + tight integration of Java and “webized” Semantic Web
     languages as type systems (vocabularies)
     “Distributed Modular Meta-Data Annotated Labeled Order-Sorted Typed
     Extended Logic Programs”
29    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Prova – Selected Expressive Features

      External Data and Object Integration + Query Built-Ins
         Java Integration
          XML Integration
         SQL Integration
         RDF Integration
     External Type Systems: Order-Sorted Polymorphic Typed Logic
         Java Class Hierarchies
         Semantic Web Ontologies
      Input/Output Mode Declarations
     Module Import and Integration: Order Modularized Logic Programs
     Meta Data Labels and Scopes (constructive views)
     Integrity Constraints and Test Cases for Verification and Validation
     Backward-reasoning Derivation rules + ECA-style rules
     Messaging Reaction Rules
     Dynamic Transactional Updates

30   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Prova Agent Architecture

     Prova-AA offers
           message-oriented context-dependend reaction rules;
           message sending and receiving for local and remote communication actions;
           uniform handling of communication protocols (JMS, JADE, plus any of the
        more than 30 protocol supported by the Enterprise Service Bus).
           message payload as complex terms containing typed or untyped Java
        variables
           and serializable Java objects;
           state machine, Petri nets, or pi-calculus based conversation protocols;
          context-dependent inline reactions for asynchronous message exchange;
           ability to distribute mobile rulebases to remote agents;
           Communicator class for simplified embedding of Prova agents in Java and
        Web
           applications;
           Prova Universal Message Object gateway for reactive agents on ESB.
           Multi-threaded Swing programming with Prova Java calls and reaction rules.



31    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
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)


     Description:
         XID is the conversation identifier
         Protocol: transport protocol e.g. self, jade, jms, esb
         Agent: denotes the target or sender of the message
         Performative: pragmatic context, e.g. FIPA ACL
         [Predicate|Args] or Predicate(Arg1,..,Argn): Message payload

32   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Example:
     quot;Request – Responsequot; Flow with Delegation

     % receive query and delegate it to another agent
     rcvMsg(CID,esb, Requester, acl_query-ref, Query) :-
       ... (other goals) ...
       sendMsg(Sub-CID,esb,Agent,acl_query-ref, Query),
       rcvMsg(Sub-CID,esb,Agent,acl_inform-ref, Answer),
       ... (other goals)...
       sendMsg(CID,esb,Agent,acl_inform-ref,Answer).


     % answers query quot;Agentquot;
     rcvMsg(XID, esb, From, Performative, [X|Args]):-
       derive([X|Args]),
       sendMsg(XID,esb,From, answer, [X|Args]).



33    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Complex Event Messaging and Processing
- Semantics a la Petri nets and pi-calculus
- Workflow patterns




                   process_join() :-
                        iam(Me),
                        init_join(XID,join_1,[c(_),b(_)]),
                        fork_a_b(Me,XID).
                   fork_a_b(Me,XID) :-
                        rcvMsg(XID,self,Me,reply,a(1)),
                        fork_c_d(Me,XID).
                   fork_a_b(Me,XID) :-
                        rcvMsg(XID,self,Me,reply,b(1)),
                        join(Me,XID,join_1,b(1)).
                   fork_c_d(Me,XID) :-
                        rcvMsg(XID,self,Me,reply,c(1)),
                        % Tell the join join_1 that a new pattern is ready
                        join(Me,XID,join_1,c(1)).

                   % The following rule is invoked by join once all the inputs are assembled.
                   join_1(Me,XID,Inputs) :-
                        println([quot;Joined for XID=quot;,XID,quot; with inputs: quot;,Inputs]).

                   % Prints
                   % Joined for XID=agent@hostname001 with inputs [[b,1],[c,1]]

 34   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
State machines based conversations
                                                         query_ref( Product )
                                         0                                             1

                                                      [ product(Product,_) ]
                                                                                                   [ !product(Product,_) ]

                                                   2(yes)                                                    2(no)
                                    entry/ ^Buyer.agree(Product)                                entry/ ^Buyer.refuse(Product)
                                    entry/ ^Buyer.inform_result(Product)


                       request( Product,Price )                                               4(refuse)
                                                  [ !Price>SellerPrice ]        entry/ ^Buyer.refuse(Product,Price)
                                        3

                     entry/ ^self.product(Product,SellerPrice)


                                     [ Price>SellerPrice ]
                                                                                   4(agree)

                                                                 entry/ ^Buyer.agree(Product,Price)
                                                                 entry/ ^Buyer.inform_done(Product,Price)




         directbuy_seller_1(XID,Protocol,From,Product) :-
              product(Product|_),
              !,
              sendMsg(XID,Protocol,From,agree,Product,seller),
              sendMsg(XID,Protocol,From,inform_result,Product,seller),
              directbuy_seller_2(yes,XID,Protocol,From,Product).
         directbuy_seller_1(XID,Protocol,From,Product) :-
              sendMsg(XID,Protocol,From,refuse,Product,seller),
              directbuy_seller_2(no,XID,Protocol,From,Product).
         directbuy_seller_2(yes,XID,Protocol,From,Product) :-
              !,
              rcvMsg(XID,Protocol,From,request,[Product,Price],buyer),
              product(Product,SellerPrice),
              directbuy_seller_3(XID,Protocol,From,Product,Price,SellerPrice).
         directbuy_seller_2(no,XID,Protocol,From,Product).
35   2nd International Conference on the Pragmatic Web           Rule Responder                      © Adrian Paschke 2007
Other Rule Engines: OO jDREW

     OO jDREW is used for personal agents in
     Rule Responder
       Two modes of Rule Execution:
            Bottom-up (forward reasoning)
            Top-down (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)



36   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Rule Responder


                                           Use Cases


37   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Expert Finding (1)




38   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Expert Finding (2)



                                                                                   Expert




39   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Job/Task Scheduling
     % Manager

     upload_mobile_code(Remote,File) :
       Writer = java.io.StringWriter(), % Opening a file fopen(File,Reader),
       copy(Reader,Writer),
       Text = Writer.toString(),
       SB = StringBuffer(Text),
       sendMsg(XID,esb,Remote,eval,consult(SB)).

     % Service (Contractor)

     rcvMsg(XID,esb,Sender,eval,[Predicate|Args]):-derive([Predicate|Args]).




                                                                                         Contract Net Protocol


40    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Interactive Inductive Logic
     Programming with Conversations




41   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case:
     Symposium Organization (Virtual Organization)




42   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
43   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Virtual Organization (3)
          Request / Response Conversation




44   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Example: Request Registration Fee (1)
Query from External Agent (e.g. Web form)
     <RuleML ...>
        <Message mode=quot;outboundquot; directive=quot;queryquot;>
           ...
          <content>
                <Atom> <Rel>computeFee</Rel>
                             <Ind>Adrian Paschke</Ind>
                             <Var>Fee</Var>
               </Atom>
          </content>
        </Message>
     </RuleML>
Delegation Logic of Organizational Agent (Prova)
fee(Phase,Fee):-
 % look-up responsible agent
 assigned(Agent,ruleml2007_Submission,ruleml2007_responsible),
 % query permission from responsible agent
 sendMsg(XID,esb,Agent, quot;queryquot;, fee(Phase,Fee)),
 % receive answers multiple times
 rcvMult(XID,esb,Agent,quot;answerquot;, fee(Phase,Fee)).


45   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Example: Request Registration Fee (2)
Rule of Personal Program Chair Agent: (Prova)
computeFee(Participant,Fee,T):-
 holdsAt(open(RegistrationPhase),T),
 fee(RegistrationPhase,BasicFee),
 sendMsg(XID,esb,ruleml2007_PublicityChair,query,
 registrationDiscount(Participant,BasicFee,1,Discount,Cost)),
 rcvMsg(XID,esb,ruleml2007_PublicityChair, answer,
 registrationDiscount(Participant,BasicFee,1,Discount,Cost)),
 Fee = Cost - (Cost * Discount).
 fee(earlyRegistration,currency_Dollar:500).
 fee(regularRegistration,currency_Dollar:600).
Rule of Publicity Chair Agent: (OO jDrew)
%This rule is used to calculate the discount of registration if
 % the organization is a collaboration partner.
 registrationDiscount(?Organization:collaborationPartner,?Regist
 rationCost:real,?NumberOfRegistrations:integer,?IndividualDisco
 untCost:real,?TotalCost:real) :-
   multiply(?IndividualDiscountCost:real,
   ?RegistrationCost:real,0.9:real),
   multiply(?TotalCost:real,
   ?NumberOfRegistrations:integer,?IndividualDiscountCost:real).
 46   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Virtual Organization (4)
                Meeting Scheduling




47   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Virtual Organization (5)
                Review Allocation




48   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case: Virtual Organization (6)
                Registration Process




49   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Use Case:
     Rule Based Service Level Agreement Project (1)




                                               http://ibis.in.tum.de/projects/rbsla/ 2007
50   2nd International Conference on the Pragmatic Web  Rule Responder     © Adrian Paschke
Rule Based Service Level Agreement Project (2)




                                                                                       1.         Service Dashboard
                                                                                                  •    (Monitoring and
                                                                                                       Contract Tracking)
                                                                                       2.         RBSLA Editor / Contract
                                                                                                  Manager
                                                                                                  •    (Contract Mgt. and
                                                                                                       Authoring)
51   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Conclusion: Rule-Responder A RuleML-based Pragmatic
     Agent Web (1)
       Develops an effective methodology and an efficient
      infrastructure to interchange and reuse knowledge on the
      Web (ontologies and rules) and communicate contextual
      actions

       Adds a pragmatic rule-based layer (Pragmatic Web),
            defines the rules for using information resources and ontologies to support
            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 driven architectures
       Addresses real-world software engineering needs for a
      highly distributed, open, interoperable, efficient and scalable
      Semantic Web service and agent infrastructure
             Design Science Research Approach
52    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Conclusion: Rule-Responder A RuleML-based Pragmatic
     Agent Web (1)

       Demonstrates the interoperation of various distributed
      platform-specific rule execution environments based on
      Reaction RuleML as a platform-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
       Demonstrates the integration and interoperation of rule
      standards (RuleML), Object-Oriented programming (Java)
      and Semantic Web (RDF, RDFS, OWL) and metadata
      standards (e.g. iCal, vCard, FOAF)
53    2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
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 Bioinformatics
                 DoReMoPat: Domain-specific Reference Models for Complex Event Patterns
                 Rule Responder Expert Finder
54   2nd International Conference on the Pragmatic Web   Rule Responder   © Adrian Paschke 2007
Rule Responder: A RuleML-based Pragmatic Agent Web



               http://responder.ruleml.org




                                                                          Sourceforge SVN:

                                                                          https://mandarax.svn.sourceforge.net/
                                                                          svnroot/mandarax.

                                                                          Sub-project quot;pragmatic-agent-webquot;




55   2nd International Conference on the Pragmatic Web   Rule Responder     © Adrian Paschke 2007

Contenu connexe

En vedette

En vedette (6)

ICPW2007.AgerfalkSjostrom
ICPW2007.AgerfalkSjostromICPW2007.AgerfalkSjostrom
ICPW2007.AgerfalkSjostrom
 
ICPW2007.Yetim
ICPW2007.YetimICPW2007.Yetim
ICPW2007.Yetim
 
ICPW2007.Aakhus
ICPW2007.AakhusICPW2007.Aakhus
ICPW2007.Aakhus
 
ICPW2007.Delugach
ICPW2007.DelugachICPW2007.Delugach
ICPW2007.Delugach
 
ICPW2007.deWaard
ICPW2007.deWaardICPW2007.deWaard
ICPW2007.deWaard
 
Pragmatic Web 4.0
Pragmatic Web 4.0Pragmatic Web 4.0
Pragmatic Web 4.0
 

Similaire à Rule Responder - Pragmatic Agent Web Using RuleML

2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easyIEEEMEMTECHSTUDENTSPROJECTS
 
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEEFINALYEARSTUDENTPROJECTS
 
Cooperative Architectures and Algorithms for Discovery and ...
Cooperative Architectures and Algorithms for Discovery and ...Cooperative Architectures and Algorithms for Discovery and ...
Cooperative Architectures and Algorithms for Discovery and ...Videoguy
 
Fuzzy Rules for HTML Transcoding
Fuzzy Rules for HTML TranscodingFuzzy Rules for HTML Transcoding
Fuzzy Rules for HTML TranscodingVideoguy
 
Four ways to represent computer executable rules
Four ways to represent computer executable rulesFour ways to represent computer executable rules
Four ways to represent computer executable rulesJeff Long
 
E041131823
E041131823E041131823
E041131823IOSR-JEN
 
New York City and Baltimore Semantic Web Meetups 20130221/20120226
New York City and Baltimore Semantic Web Meetups 20130221/20120226New York City and Baltimore Semantic Web Meetups 20130221/20120226
New York City and Baltimore Semantic Web Meetups 20130221/201202263 Round Stones
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlesSoundar Msr
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titlestema_solution
 
Mark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends WebinarMark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends WebinarDave Kellogg
 

Similaire à Rule Responder - Pragmatic Agent Web Using RuleML (20)

2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
 
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
 
java
javajava
java
 
Cooperative Architectures and Algorithms for Discovery and ...
Cooperative Architectures and Algorithms for Discovery and ...Cooperative Architectures and Algorithms for Discovery and ...
Cooperative Architectures and Algorithms for Discovery and ...
 
Fuzzy Rules for HTML Transcoding
Fuzzy Rules for HTML TranscodingFuzzy Rules for HTML Transcoding
Fuzzy Rules for HTML Transcoding
 
Four ways to represent computer executable rules
Four ways to represent computer executable rulesFour ways to represent computer executable rules
Four ways to represent computer executable rules
 
E041131823
E041131823E041131823
E041131823
 
New York City and Baltimore Semantic Web Meetups 20130221/20120226
New York City and Baltimore Semantic Web Meetups 20130221/20120226New York City and Baltimore Semantic Web Meetups 20130221/20120226
New York City and Baltimore Semantic Web Meetups 20130221/20120226
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mca & diplamo java titles
Mca & diplamo java titlesMca & diplamo java titles
Mca & diplamo java titles
 
Mark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends WebinarMark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends Webinar
 

Dernier

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Rule Responder - Pragmatic Agent Web Using RuleML

  • 1. Rule Responder – RuleML-based Agents for Distributed Collaboration on the Pragmatic Web 22/23rd October 2007 Towards a Pragmatic Agent Web Rule Responder Reaction RuleML – Rule Interchange Format Enterprise Service Bus – Communication Middleware Rule Engines – Execution Environments Rule Responder Use Cases Summary A. Paschke1, H. Boley, A. Kozlenkov, B. Craig 1 Bioinformatics, BIOTEC Center, Technical University Dresden Int. Conference on the Pragmatic Web, Tilburg, Netherlands, 2007
  • 2. Semantic Web Stack Main Principles (Semantic Web Stack 2003) Development in layers Downwards compatible Upwards: Partial understanding 2 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 3. The Future of the Semantic Web? T. Berners-Lee. Web for real people, I., Horrocks: Semantic web architecture : Stack or two towers?, http://www.w3.org/2005/talks/0511-keynote-tbl, 2005. Dagstuhl Castle ,Germany, 2005. Semantic Web addresses syntax and semantics of representation languages for meta data vocabularies and semantic domain descriptions An explicit pragmatic layer addressing use of semantic resources within a pragmatic context is missing 3 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 4. Towards a Pragmatic Web 1. Explicit Meta-data vCard, PICS, Dublin Core, RDF, IEEE LOM (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, … 4 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 5. Pragmatic Agent Web - Example with Two Kinds of Collaborative Agents Interaction 5 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 6. Pragmatic Web Semiotics, the study of sign processes, includes the study of how meaning is constructed and understood. „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 interpretersquot; or users. “ Eugen Halton, http://www.nd.edu/~ehalton/Morrisbio.htm, 1992 Pragmatic Web Utilize the heterogenous Semantic Web resources, meta data and meaning representations with intelligent agents and web-based services with the ability to understand the others intended meaning (pragmatic competence) 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 like speech-act primitives (e.g. assert(content), retract(content), query(kb)) Model, negotiate and control shared and invividual meanings requires learning and knowledge adaption / updates 6 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 7. Pragmatic Agent Web Rule Responder Project: http://www. responder.ruleml.org/ 7 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 8. Benefits of Rule-Based Decision and Reaction Logic 1. Compact declarative representation of rules Clear semantics Global rules which might apply in several contexts (reusability) Separation of contract rules from the application code 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 and contextually transform data, derive new conclusions and decisions from existing knowledge and behaviourally act according to changed conditions or occurred events 8 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 9. Rule Responder Architecture 1. Computational independent model (CIM) with rules, processes, conversational flows (e.g. in a natural or visual language) 2. Platform independent model (PIM) which represents the rules, events and ontologies in a common (standardized) interchange format (e.g. a markup language) 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) 9 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 10. RuleML / Reaction RuleML Platform Independent Rule Interchange Format http://ruleML.org http://ibis.in.tum.de/research/ReactionRuleML/ 10 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 11. RuleML as 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 11 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 12. RuleML Enables ... modelling markup UML translation RDF Rule interchange in XML execution ASCII publication archiving 12 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 13. RuleML Language Family – Derivation RuleML 13 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 14. 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: - 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 to maintain, manage and extend in a distributed environment 14 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 15. RuleML as Rule Interchange Format ''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> 5.0 percent Ind </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> </body> </Implies> 15 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 16. Scope of Reaction RuleML 16 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 17. Reaction RuleML is intended for … Enable interoperation between various domains of reaction rules, event/action definition and processing such as: Event Processing Networks Complex Event Processing (CPE) Event Driven Architectures (EDAs) Reactive, rule-based Service-Oriented Architectures (SOAs) Active Semantic Web Applications Real-Time Enterprise (RTE) Business Activity Management (BAM) Business Performance Management (BPM) Service Level Management (SLM) with active monitoring and enforcing of Service Level Agreements (SLAs) or e-Contracts Supply Chain Event Management Policies … 17 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 18. General Concepts General (reaction) rule form that can be specialized as needed Three general execution styles: Active: 'actively' polls/detects occurred events in global ECA style, e.g. by a ping on a service/system or a query on an internal or external event database Messaging: Waits for incoming complex event message Reasoning: KR event/action logic reasoning and transitions (as e.g. in Event Calculus, Situation Calculus, TAL formalizations) Appearance Global: ‘globally’ defined reaction rule Local: ‘locally’ defined (inline) reaction rule nested in an outer rule 18 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 19. General Syntax for Reaction Rules (Reaction RuleML 0.2) <Rule style=quot;activequot; evaluation=quot;strongquot;> <label> <!-- metadata --> </label> <scope> <!-- scope --> </scope> <qualification> <!-- qualifications --> </qualification> <oid> <!-- object identifier --> </oid> <on> <!-- event --> </on> <if> <!-- condition --> </if> <then> <!-- conclusion --> </then> <do> <!-- action --> </do> <after> <!-- postcondition --> </after> <else> <!-- else conclusion --> </else> <elseDo> <!-- else/alternative action --> </elseDo> <elseAfter> <!-- else postcondition --> </elseAfter> </Rule> 19 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 20. Messages in Reaction RuleML <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 or more FIPA ACL performatives, KQML, OWL-QL, Standard Deontic Logic norms, … < oid > – the conversation id used to distinguish multiple conversations and 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 20 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 21. Complex Event Processing (1) Event Definition Definition of event pattern by event algebra Event Selection Defines selection function to select one event from several occurred events (stored in an event instance sequence) of a particular type, e.g. “first”, “last” Crucial for the outcome of a reaction rule, since the events may contain different (context) information, e.g. different message payloads or sensing information Event Consumption Defines which events are consumed after the detection of a complex event An event may contribute to the detection of several complex events, if it is not consumed Distinction in event messaging between “multiple receive” and “single receive” Events which can no longer contribute, e.g. are outdated, should be removed Separation of this phases is crucial for the outcome of a reaction rule base in the context of complex events Declarative configuration of different selection and consumption policies 21 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 22. Complex Event Algebra Complex Event Algebra Operators: Sequence | Disjunction | Xor | Conjunction | Concurrent | Not | Any | Aperiodic | Periodic and Complex Event Message Patterns Semantics: Interval-based KR Event Calculus semantics (model-theory + proof theory) based on time intervals modeled as fluents Example: B;(A;C) (Sequence) T1 T2 T3 T4 B A C (A;C) 22 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 23. Example: Request / Query ... <Message mode=quot;outboundquot; directive=quot;ACL:query-refquot;> <oid> <Ind>RuleML-2007</Ind> </oid> <protocol> <Ind>esb</Ind> </protocol> <sender> <Ind>User</Ind> </sender> FIPA ACL directive <content> <Atom> <Rel>getContact</Rel> <Ind>Website</Ind> <Var>Contact</Var> </Atom> </content> </Message> ... Message is local to the conversation state (oid) and pragmatic context (directive) 23 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 24. Example: Response / Answer <Message …> ... <content> <Atom> <Rel>getContact</Rel> <Ind>Website</Ind> <Expr> <Fun>person</Fun> <Ind>Adrian</Ind> <Ind>Program Co-Chair RuleML-2007</Ind> <Ind>Technical University Munich</Ind> <Ind>paschke@in.tum.de</Ind> <Ind>+49 89 289 17504</Ind> </Expr> </Atom> </content> ... </Message> 24 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 25. Enterprise Service Bus Communication Middleware + Service Object Broker 25 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 26. Mule Enterprise Service Bus Mule ESB Open Source Message Platform and distributed Object Broker Staged Event Driven Architecture (SEDA) > 30 Protocols (JMS, HTTP, SOAP …) Synchronous and Asynchronous Communication Complex Message-driven Event Processing (CEP) 26 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 27. Mule Enterprise Service Bus 27 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 28. Platform Specific Execution Environments Rule Engines / Inference Services 28 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 29. Prova – A Semantic Web Rule Engine Open-Source Project hosted at Sourceforge (http://www.prova.ws/) Distributed Semantic Web Rule Engine and Agent/Service Oriented Architecture written in Java focusing among other application domains on bioinformatics applications Principles: Separation of logic (declarative), data access (procedural attachments and query languages), and computation (inference and external procedural computation) Combines the benefits of declarative (rule-based), Semantic Web meta data and ontology, procedural/object oriented (e.g., Java), and workflow languages (e.g., BPEL) Standard ISO Prolog scripting syntax + extended logic programming semantics + tight integration of Java and “webized” Semantic Web languages as type systems (vocabularies) “Distributed Modular Meta-Data Annotated Labeled Order-Sorted Typed Extended Logic Programs” 29 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 30. Prova – Selected Expressive Features External Data and Object Integration + Query Built-Ins Java Integration XML Integration SQL Integration RDF Integration External Type Systems: Order-Sorted Polymorphic Typed Logic Java Class Hierarchies Semantic Web Ontologies Input/Output Mode Declarations Module Import and Integration: Order Modularized Logic Programs Meta Data Labels and Scopes (constructive views) Integrity Constraints and Test Cases for Verification and Validation Backward-reasoning Derivation rules + ECA-style rules Messaging Reaction Rules Dynamic Transactional Updates 30 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 31. Prova Agent Architecture Prova-AA offers message-oriented context-dependend reaction rules; message sending and receiving for local and remote communication actions; uniform handling of communication protocols (JMS, JADE, plus any of the more than 30 protocol supported by the Enterprise Service Bus). message payload as complex terms containing typed or untyped Java variables and serializable Java objects; state machine, Petri nets, or pi-calculus based conversation protocols; context-dependent inline reactions for asynchronous message exchange; ability to distribute mobile rulebases to remote agents; Communicator class for simplified embedding of Prova agents in Java and Web applications; Prova Universal Message Object gateway for reactive agents on ESB. Multi-threaded Swing programming with Prova Java calls and reaction rules. 31 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 32. 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) Description: XID is the conversation identifier Protocol: transport protocol e.g. self, jade, jms, esb Agent: denotes the target or sender of the message Performative: pragmatic context, e.g. FIPA ACL [Predicate|Args] or Predicate(Arg1,..,Argn): Message payload 32 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 33. Example: quot;Request – Responsequot; Flow with Delegation % receive query and delegate it to another agent rcvMsg(CID,esb, Requester, acl_query-ref, Query) :- ... (other goals) ... sendMsg(Sub-CID,esb,Agent,acl_query-ref, Query), rcvMsg(Sub-CID,esb,Agent,acl_inform-ref, Answer), ... (other goals)... sendMsg(CID,esb,Agent,acl_inform-ref,Answer). % answers query quot;Agentquot; rcvMsg(XID, esb, From, Performative, [X|Args]):- derive([X|Args]), sendMsg(XID,esb,From, answer, [X|Args]). 33 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 34. Complex Event Messaging and Processing - Semantics a la Petri nets and pi-calculus - Workflow patterns process_join() :- iam(Me), init_join(XID,join_1,[c(_),b(_)]), fork_a_b(Me,XID). fork_a_b(Me,XID) :- rcvMsg(XID,self,Me,reply,a(1)), fork_c_d(Me,XID). fork_a_b(Me,XID) :- rcvMsg(XID,self,Me,reply,b(1)), join(Me,XID,join_1,b(1)). fork_c_d(Me,XID) :- rcvMsg(XID,self,Me,reply,c(1)), % Tell the join join_1 that a new pattern is ready join(Me,XID,join_1,c(1)). % The following rule is invoked by join once all the inputs are assembled. join_1(Me,XID,Inputs) :- println([quot;Joined for XID=quot;,XID,quot; with inputs: quot;,Inputs]). % Prints % Joined for XID=agent@hostname001 with inputs [[b,1],[c,1]] 34 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 35. State machines based conversations query_ref( Product ) 0 1 [ product(Product,_) ] [ !product(Product,_) ] 2(yes) 2(no) entry/ ^Buyer.agree(Product) entry/ ^Buyer.refuse(Product) entry/ ^Buyer.inform_result(Product) request( Product,Price ) 4(refuse) [ !Price>SellerPrice ] entry/ ^Buyer.refuse(Product,Price) 3 entry/ ^self.product(Product,SellerPrice) [ Price>SellerPrice ] 4(agree) entry/ ^Buyer.agree(Product,Price) entry/ ^Buyer.inform_done(Product,Price) directbuy_seller_1(XID,Protocol,From,Product) :- product(Product|_), !, sendMsg(XID,Protocol,From,agree,Product,seller), sendMsg(XID,Protocol,From,inform_result,Product,seller), directbuy_seller_2(yes,XID,Protocol,From,Product). directbuy_seller_1(XID,Protocol,From,Product) :- sendMsg(XID,Protocol,From,refuse,Product,seller), directbuy_seller_2(no,XID,Protocol,From,Product). directbuy_seller_2(yes,XID,Protocol,From,Product) :- !, rcvMsg(XID,Protocol,From,request,[Product,Price],buyer), product(Product,SellerPrice), directbuy_seller_3(XID,Protocol,From,Product,Price,SellerPrice). directbuy_seller_2(no,XID,Protocol,From,Product). 35 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 36. Other Rule Engines: OO jDREW OO jDREW is used for personal agents in Rule Responder Two modes of Rule Execution: Bottom-up (forward reasoning) Top-down (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) 36 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 37. Rule Responder Use Cases 37 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 38. Use Case: Expert Finding (1) 38 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 39. Use Case: Expert Finding (2) Expert 39 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 40. Use Case: Job/Task Scheduling % Manager upload_mobile_code(Remote,File) : Writer = java.io.StringWriter(), % Opening a file fopen(File,Reader), copy(Reader,Writer), Text = Writer.toString(), SB = StringBuffer(Text), sendMsg(XID,esb,Remote,eval,consult(SB)). % Service (Contractor) rcvMsg(XID,esb,Sender,eval,[Predicate|Args]):-derive([Predicate|Args]). Contract Net Protocol 40 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 41. Use Case: Interactive Inductive Logic Programming with Conversations 41 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 42. Use Case: Symposium Organization (Virtual Organization) 42 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 43. 43 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 44. Use Case: Virtual Organization (3) Request / Response Conversation 44 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 45. Example: Request Registration Fee (1) Query from External Agent (e.g. Web form) <RuleML ...> <Message mode=quot;outboundquot; directive=quot;queryquot;> ... <content> <Atom> <Rel>computeFee</Rel> <Ind>Adrian Paschke</Ind> <Var>Fee</Var> </Atom> </content> </Message> </RuleML> Delegation Logic of Organizational Agent (Prova) fee(Phase,Fee):- % look-up responsible agent assigned(Agent,ruleml2007_Submission,ruleml2007_responsible), % query permission from responsible agent sendMsg(XID,esb,Agent, quot;queryquot;, fee(Phase,Fee)), % receive answers multiple times rcvMult(XID,esb,Agent,quot;answerquot;, fee(Phase,Fee)). 45 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 46. Example: Request Registration Fee (2) Rule of Personal Program Chair Agent: (Prova) computeFee(Participant,Fee,T):- holdsAt(open(RegistrationPhase),T), fee(RegistrationPhase,BasicFee), sendMsg(XID,esb,ruleml2007_PublicityChair,query, registrationDiscount(Participant,BasicFee,1,Discount,Cost)), rcvMsg(XID,esb,ruleml2007_PublicityChair, answer, registrationDiscount(Participant,BasicFee,1,Discount,Cost)), Fee = Cost - (Cost * Discount). fee(earlyRegistration,currency_Dollar:500). fee(regularRegistration,currency_Dollar:600). Rule of Publicity Chair Agent: (OO jDrew) %This rule is used to calculate the discount of registration if % the organization is a collaboration partner. registrationDiscount(?Organization:collaborationPartner,?Regist rationCost:real,?NumberOfRegistrations:integer,?IndividualDisco untCost:real,?TotalCost:real) :- multiply(?IndividualDiscountCost:real, ?RegistrationCost:real,0.9:real), multiply(?TotalCost:real, ?NumberOfRegistrations:integer,?IndividualDiscountCost:real). 46 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 47. Use Case: Virtual Organization (4) Meeting Scheduling 47 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 48. Use Case: Virtual Organization (5) Review Allocation 48 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 49. Use Case: Virtual Organization (6) Registration Process 49 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 50. Use Case: Rule Based Service Level Agreement Project (1) http://ibis.in.tum.de/projects/rbsla/ 2007 50 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke
  • 51. Rule Based Service Level Agreement Project (2) 1. Service Dashboard • (Monitoring and Contract Tracking) 2. RBSLA Editor / Contract Manager • (Contract Mgt. and Authoring) 51 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 52. Conclusion: Rule-Responder A RuleML-based Pragmatic Agent Web (1) Develops an effective methodology and an efficient infrastructure to interchange and reuse knowledge on the Web (ontologies and rules) and communicate contextual actions Adds a pragmatic rule-based layer (Pragmatic Web), defines the rules for using information resources and ontologies to support 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 driven architectures Addresses real-world software engineering needs for a highly distributed, open, interoperable, efficient and scalable Semantic Web service and agent infrastructure Design Science Research Approach 52 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 53. Conclusion: Rule-Responder A RuleML-based Pragmatic Agent Web (1) Demonstrates the interoperation of various distributed platform-specific rule execution environments based on Reaction RuleML as a platform-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 Demonstrates the integration and interoperation of rule standards (RuleML), Object-Oriented programming (Java) and Semantic Web (RDF, RDFS, OWL) and metadata standards (e.g. iCal, vCard, FOAF) 53 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 54. 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 Bioinformatics DoReMoPat: Domain-specific Reference Models for Complex Event Patterns Rule Responder Expert Finder 54 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007
  • 55. Rule Responder: A RuleML-based Pragmatic Agent Web http://responder.ruleml.org Sourceforge SVN: https://mandarax.svn.sourceforge.net/ svnroot/mandarax. Sub-project quot;pragmatic-agent-webquot; 55 2nd International Conference on the Pragmatic Web Rule Responder © Adrian Paschke 2007