[jboss-svn-commits] JBL Code SVN: r26900 - in labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl: src/main/java/org/drools/chance/fuzzyTest and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 10 07:59:23 EDT 2009
Author: dsotty
Date: 2009-06-10 07:59:23 -0400 (Wed, 10 Jun 2009)
New Revision: 26900
Modified:
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest0.log
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest0.java
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/fuzzy/FuzzyTest0.drl
labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml
Log:
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest0.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest0.log 2009-06-10 11:52:03 UTC (rev 26899)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest0.log 2009-06-10 11:59:23 UTC (rev 26900)
@@ -1,57 +1,38 @@
-Room is hot in degree 0.75
-Evaluator is called directly
-
-
-Room is hot in degree 0.75
-Evaluator from temp domain, requires a method in Room
-
-
-Room is warm in degree 0.25
+Room is warm in degree 0.1875
Room is warm in degree Eval Record info(1.0) for args L : Room 47
AND{
-(47 at 21) : 0.25 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm))) [EVAL 0.25,]
-(47 at 22) : 1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
+(47 at 6) : 0.1875/1.0 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)))) [EVAL 0.1875,PRIOR o,]
+(47 at 7) : 1.0/1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
}
-(47 at 23) : 0.25 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm))),Hot v3 (Warm)) [EVAL 0.25,]
- (47 at 21) : 0.25 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm))) [EVAL 0.25,]
- (47 at 1) : 0.25 dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm)) [EVAL 0.25,]
- (47 at 3) : 1.0 ==(class,org.drools.chance.fuzzyTest.Room) [EVAL 1.0,]
- (47 at 18) : 0.25 seems(org.drools.chance.fuzzyTest.Room.temperature,warm) [EVAL 0.25,]
- (47 at 22) : 1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
+(47 at 8) : 0.1875/1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)))),Hot v3 (Warm)) [EVAL 0.1875,PRIOR o,]
+ (47 at 6) : 0.1875/1.0 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)))) [EVAL 0.1875,PRIOR o,]
+ (47 at 1) : 0.1875/1.0 dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot))) [EVAL 0.1875,PRIOR o,]
+ (47 at 3) : 1.0/1.0 ==(class,org.drools.chance.fuzzyTest.Room) [EVAL 1.0,PRIOR o,]
+ (47 at 4) : 0.1875/1.0 dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)) [EVAL 0.1875,PRIOR o,]
+ (47 at 4) : 0.25/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,warm) [EVAL 0.25,PRIOR o,]
+ (47 at 4) : 0.75/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,hot) [EVAL 0.75,PRIOR o,]
+ (47 at 7) : 1.0/1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
Evaluator from temp domain, runtime call (no method in room)
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-Room is hot in degree 0.75
-Room returns Evaluator via getHot(), which is dynamically called on temp.
-
-Room is hot in degree 0.0
-Evaluator is called directly
-
-
-Room is hot in degree 0.0
-Evaluator from temp domain, requires a method in Room
-
-
-Room is warm in degree 0.13
+Room is warm in degree 0.0
Room is warm in degree Eval Record info(1.0) for args L : Room 47
AND{
-(47 at 21) : 0.13 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm))) [EVAL 0.13,]
-(47 at 22) : 1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
+(47 at 6) : 0.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)))) [EVAL 0.0,PRIOR o,]
+(47 at 7) : 1.0/1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
}
-(47 at 23) : 0.13 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm))),Hot v3 (Warm)) [EVAL 0.13,]
- (47 at 21) : 0.13 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm))) [EVAL 0.13,]
- (47 at 1) : 0.13 dotAnd(==(class,org.drools.chance.fuzzyTest.Room),seems(org.drools.chance.fuzzyTest.Room.temperature,warm)) [EVAL 0.13,]
- (47 at 3) : 1.0 ==(class,org.drools.chance.fuzzyTest.Room) [EVAL 1.0,]
- (47 at 18) : 0.13 seems(org.drools.chance.fuzzyTest.Room.temperature,warm) [EVAL 0.13,]
- (47 at 22) : 1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
+(47 at 8) : 0.0/1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)))),Hot v3 (Warm)) [EVAL 0.0,PRIOR o,]
+ (47 at 6) : 0.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)))) [EVAL 0.0,PRIOR o,]
+ (47 at 1) : 0.0/1.0 dotAnd(==(class,org.drools.chance.fuzzyTest.Room),dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot))) [EVAL 0.0,PRIOR o,]
+ (47 at 3) : 1.0/1.0 ==(class,org.drools.chance.fuzzyTest.Room) [EVAL 1.0,PRIOR o,]
+ (47 at 4) : 0.0/1.0 dotAnd(seems(org.drools.chance.fuzzyTest.Room.temperature,warm),seems(org.drools.chance.fuzzyTest.Room.temperature,hot)) [EVAL 0.0,PRIOR o,]
+ (47 at 4) : 0.12999999523162842/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,warm) [EVAL 0.12999999523162842,PRIOR o,]
+ (47 at 4) : 0.0/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,hot) [EVAL 0.0,PRIOR o,]
+ (47 at 7) : 1.0/1.0 Hot v3 (Warm) [EVAL 0.0,PRIOR 1.0,]
Evaluator from temp domain, runtime call (no method in room)
-
-
-Room is hot in degree 0.0
-Room returns Evaluator via getHot(), which is dynamically called on temp.
\ No newline at end of file
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest0.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest0.java 2009-06-10 11:52:03 UTC (rev 26899)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/fuzzyTest/FuzzyTest0.java 2009-06-10 11:59:23 UTC (rev 26900)
@@ -15,16 +15,20 @@
FactHandle handle = getSession().insert(r);
getSession().fireAllRules();
+ this.log("|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||");
+
getSession().retract(handle);
+
+
r.setTemperature(11.3);
getSession().insert(r);
getSession().fireAllRules();
- getSession().insert(new Double(37.0));
- getSession().fireAllRules();
+// getSession().insert(new Double(37.0));
+// getSession().fireAllRules();
}
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/fuzzy/FuzzyTest0.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/fuzzy/FuzzyTest0.drl 2009-06-10 11:52:03 UTC (rev 26899)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/fuzzy/FuzzyTest0.drl 2009-06-10 11:59:23 UTC (rev 26900)
@@ -9,6 +9,11 @@
global FileWriter writer;
+
+
+
+
+
rule "Hot v1"
when
$r : Room( temperature ~hot )
@@ -31,9 +36,10 @@
end
+
rule "Hot v3 (Warm)"
when
- $r : Room( temperature ~seems "warm" && temperature ~seems "hot")
+ $r : Room( $w: temperature ~seems "warm" && @(kind="Prod") $h: temperature ~seems "hot")
then
writer.write("\n\n");
Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml 2009-06-10 11:52:03 UTC (rev 26899)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml 2009-06-10 11:59:23 UTC (rev 26900)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://www.ruleml.org/0.91/xsd/naffologeq.xsd">
<oid>
<Data>org.drools.DRL</Data>
@@ -10,116 +10,6 @@
</oid>
<Forall>
<declare>
- <Var type="org.drools.chance.fuzzyTest.Room">Hot v1.$r</Var>
- </declare>
- <formula>
- <Implies direction="forward">
- <oid>
- <Data>Hot v1</Data>
- </oid>
- <body>
- <And>
- <Atom>
- <oid>
- <Var>Hot v1.$r</Var>
- </oid>
- <Rel>Room</Rel>
- <Reify>
- <And>
- <Atom>
- <op>
- <Rel>isA</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Class">class</Ind>
- <Var/>
- </slot>
- <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
- </Atom>
- <Atom>
- <op>
- <Rel>hot</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Object">temperature</Ind>
- <Var/>
- </slot>
- </Atom>
- </And>
- </Reify>
- </Atom>
- </And>
- </body>
- <head>
- <Atom>
- <Rel/>
- <Data>writer.write("\n\n");
- writer.write("Room is hot in degree "+drools.getConsequenceDegree()+"\n");
- writer.write("Evaluator is called directly\n");</Data>
- </Atom>
- </head>
- </Implies>
- </formula>
- </Forall>
- <Forall>
- <declare>
- <Var type="org.drools.chance.fuzzyTest.Room">Hot v2.$r</Var>
- </declare>
- <formula>
- <Implies direction="forward">
- <oid>
- <Data>Hot v2</Data>
- </oid>
- <body>
- <And>
- <Atom>
- <oid>
- <Var>Hot v2.$r</Var>
- </oid>
- <Rel>Room</Rel>
- <Reify>
- <And>
- <Atom>
- <op>
- <Rel>isA</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Class">class</Ind>
- <Var/>
- </slot>
- <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
- </Atom>
- <Atom>
- <op>
- <Rel>seems</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Object">temperature</Ind>
- <Var/>
- </slot>
- <Expr>
- <Fun>getHot</Fun>
- <Var>Hot v2.$r</Var>
- </Expr>
- </Atom>
- </And>
- </Reify>
- </Atom>
- </And>
- </body>
- <head>
- <Atom>
- <Rel/>
- <Data>writer.write("\n\n");
- writer.write("Room is hot in degree "+drools.getConsequenceDegree()+"\n");
- writer.write("Evaluator from temp domain, requires a method in Room\n");</Data>
- </Atom>
- </head>
- </Implies>
- </formula>
- </Forall>
- <Forall>
- <declare>
<Var type="org.drools.chance.fuzzyTest.Room">Hot v3 (Warm).$r</Var>
</declare>
<formula>
@@ -146,26 +36,31 @@
</slot>
<Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
</Atom>
- <Atom>
- <op>
- <Rel>seems</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Object">temperature</Ind>
- <Var/>
- </slot>
- <Ind type="java.lang.String">warm</Ind>
- </Atom>
- <Atom>
- <op>
- <Rel>seems</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Object">temperature</Ind>
- <Var/>
- </slot>
- <Ind type="java.lang.String">hot</Ind>
- </Atom>
+ <And>
+ <!--unsupported attribute -
+<kind>kind:Prod</kind>
+-->
+ <Atom>
+ <op>
+ <Rel>seems</Rel>
+ </op>
+ <slot>
+ <Ind type="java.lang.Object">temperature</Ind>
+ <Var/>
+ </slot>
+ <Ind type="java.lang.String">warm</Ind>
+ </Atom>
+ <Atom>
+ <op>
+ <Rel>seems</Rel>
+ </op>
+ <slot>
+ <Ind type="java.lang.Object">temperature</Ind>
+ <Var/>
+ </slot>
+ <Ind type="java.lang.String">hot</Ind>
+ </Atom>
+ </And>
</And>
</Reify>
</Atom>
@@ -183,63 +78,6 @@
</Implies>
</formula>
</Forall>
- <Forall>
- <declare>
- <Var type="org.drools.chance.fuzzyTest.Room">Hot v4.$r</Var>
- </declare>
- <formula>
- <Implies direction="forward">
- <oid>
- <Data>Hot v4</Data>
- </oid>
- <body>
- <And>
- <Atom>
- <oid>
- <Var>Hot v4.$r</Var>
- </oid>
- <Rel>Room</Rel>
- <Reify>
- <And>
- <Atom>
- <op>
- <Rel>isA</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Class">class</Ind>
- <Var/>
- </slot>
- <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
- </Atom>
- <Atom>
- <op>
- <Rel>evaluates</Rel>
- </op>
- <slot>
- <Ind type="java.lang.Object">hot</Ind>
- <Var/>
- </slot>
- <Expr>
- <Fun>getTemperature</Fun>
- <Var>Hot v4.$r</Var>
- </Expr>
- </Atom>
- </And>
- </Reify>
- </Atom>
- </And>
- </body>
- <head>
- <Atom>
- <Rel/>
- <Data>writer.write("\n\n");
- writer.write("Room is hot in degree "+drools.getConsequenceDegree()+"\n");
- writer.write("Room returns Evaluator via getHot(), which is dynamically called on temp.");</Data>
- </Atom>
- </head>
- </Implies>
- </formula>
- </Forall>
</Rulebase>
</Assert>
</RuleML>
More information about the jboss-svn-commits
mailing list