Download presentation
Presentation is loading. Please wait.
Published byBella Pooler Modified over 9 years ago
1
Sujit R Nair November 30,2009
2
Introduction Need / Requirement. Characteristics of current rule markup Languages. A sample Scenario of Rule Interchange Future Work. Conclusion.
3
Need / Requirement Expressiveness. Machine-interpretation. Automated Processing. Translation and Interchange. Publication and Serialization.
4
Current Rule Languages RuleML. SWRL. R2ML. W3C RIF. Triple. N3. Jena Rules. Prova.
5
RuleML Based on XML. Rules consists of derivation, integrity constraints, production, reaction, tools and transformation. Datalog RuleML and Hornlog RuleML.
6
SWRL Combining Sublanguages of OWL and RuleML. Union of DLP and Horn Logic. Adds rules at the cost of undecidability and lack of complete implementation. Protégé. Rules = Antecedent + Consequent.
7
R2ML Based on concept of RuleML and SWRL. Rules consists of derivation, integrity constraints, production, reaction. MOF/UML support.
8
W3C RIF Facilitate rule exchange. Dialects. Basic Logic Dialect(RIF-BLD) ↔ Horn Rule Language. Datatypes and Built-Ins(RIF-DTB). Core. Production Rule Dialect.
9
Jena Rules Java Rule object. Jena2 is much simpler, allows rules to be specified in compact form in text source files.
10
Prova Web rule language + Highly expressive distributed Web rule engine. Supports complex reaction rule-based workflow, rule- based event processing, distributed inference services, rule interchange, rule-based decision logic, dynamic access to external data, Web Services and JAVA APIs.
11
Rule Interchange Sample Using RIF to interchange F-Logic Rules and Drools. Scenario : To supply a vendor-neutral representation of rules, so that rule-system developers can do their work without concern about a vendor-specific format and in particular without concern about the compatibility with the technology of its business partners. Jane's e-commerce system uses Drools therefore the rules vocabulary is represented using Java beans John uses an OWL vocabulary and its rules are represented in F-Logic.
12
Rule Interchange (contd) The Two rules that are to be implemented : a. Rule R1: If an item is perishable and it is delivered more than 10 days after the scheduled delivery date then the item will be rejected. b. Rule R2: If an item is perishable and it is delivered more than 7 days after the scheduled delivery date but less than 14 days after the scheduled delivery date then a discount of 18.7% will be applied to this delivery.
13
Rule Interchange (contd) Points to be kept in mind: RIF needs to deal with different vocabularies. RIF needs an uniform mechanism to address vocabulary elements. The usage of URI's may be such a mechanism. Vocabulary and rules are separate layers
14
Rule Interchange (contd) John's OWL vocabulary:
15
Rule Interchange (contd)
16
Rule Interchange (contd) rejected accepted
17
Rule Interchange (contd) John Rules (F-Logic) //If an item is perishable and it is delivered more than 10 days after the scheduled delivery date then the item will be rejected RULE R1 I:item[status -> "rejected"] < - I:item[isPerishable -> true] AND I[actualDeliveryDate -> A] AND I[scheduledDeliveryDate -> S] AND R is (A - S) AND R > 10.
18
Rule Interchange (contd) //If an item is perishable and it is delivered more than 7 days after the scheduled delivery date but less than 14 days after the scheduled delivery date then a discount of 18.7% will be applied to this delivery. RULE R2 I:item[discount -> 18.7] <- D:delivery[hasItems->>Items] AND I:item[isPerishable -> true] AND I[actualDeliveryDate -> A] AND I[scheduledDeliveryDate-> S] AND member(I, Items) AND R is (A - S) AND R > 7.
19
Rule Interchange (contd) Jane's Rules (Drools) package com.sample import com.sample.Item; rule "R1" when i : Item( isPerishable==true, actualDeliveryDate : actualDeliveryDate, scheduledDeliveryDate : scheduledDeliveryDate ) eval( actualDeliveryDate.getDay() – scheduledDeliveryDate.getDay() > 10 ) then i.isRejected(true); modify(i); end
20
Rule Interchange (contd) rule "R2" when d:Delivery(hasItems: hasItems) i : Item(actualDeliveryDate : actualDeliveryDate, scheduledDeliveryDate : scheduledDeliveryDate ) eval( (actualDeliveryDate.getDay() – scheduledDeliveryDate.getDay() > 7) && hasItems.contains(i)) then i.setDiscount(18.7); modify(i); end
21
Rule Interchange (contd) Importing Jane's Rules in the John's rule system Translating from Drools into RIF Presentation Syntax proposed by RIF-BLD is used to perform the vocabulary interchange.
22
Rule Interchange (contd) Translation of Jane's Drools Rules rules into RIF rule "R1" when i : Item(isPerishable==true, actualDeliveryDate : actualDeliveryDate, scheduledDeliveryDate : scheduledDeliveryDate ) eval( actualDeliveryDate.getDay() – scheduledDeliveryDate.getDay() > 10) then i.isRejected(true); modify(i); end
23
Rule Interchange (contd) // Translation to RIF Rule ("http://jane.com/R1" ?i#Item[(isRejected- >"true"^^xs:boolean) :- And(?i#Item[(isPerishable- >"true"^^xs:boolean) (actualDeliveryDate- >?actualDeliveryDate ) (scheduledDeliveryDate - >?scheduledDeliveryDate)] op:numeric-greater-than( op:numeric-subtract( user- defined:getDay(?actualDeliveryDate), user- defined:getDay(?scheduledDeliveryDate) ), "10"^^xs:int ) ) )
24
Future Work On going research to develop a general rule mark up language. Most of the research is concentrating on RuleML and RIF. To cover the shortcomings such as – procedural call to external objects, operating systems, terminological descriptions for dealing with real world distributed Web Applications.
25
Conclusion Why is rule markup needed ? Currents rule markup languages. RuleML and RIF. W3C RIF BLD provides a robust core for the interchange of business rules among commercial and academic rule systems. Embodies both production rules and derivation rules.
26
References 1. Adrian Paschke, Harold Boley – Rule Markup Languages and SWRL. 2. W3C Rule Interchange Format, http://www.w3.org/2005/rules/wiki/RIF_Working_Grou p 3. RIF Basic Logic Dialect, http://www.w3.org/TR/rif-bld/ 4. W3C RIF Use Cases and Requirements, http://www.w3.org/TR/rif-ucr/ Gary Hallmark, Christian de Sainte Marie, Marcos Didonet Del Fabro, Patrick Albert, and Adrian Paschke - Please Pass the Rules: A Rule Interchange Demonstration
27
Contact Information Sujit Raveendran Nair. Email: srn071000@utdallas.edu. Phone: 972-983-4886.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.