[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");&#13;
-		writer.write("Room is hot in degree "+drools.getConsequenceDegree()+"\n");&#13;
-		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");			             &#13;
-		writer.write("Room is hot in degree "+drools.getConsequenceDegree()+"\n");&#13;
-		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");&#13;
-		writer.write("Room is hot in degree "+drools.getConsequenceDegree()+"\n");&#13;
-		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