[jboss-svn-commits] JBL Code SVN: r27020 - in labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl: src/main/java/org/drools/chance and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 19 01:29:53 EDT 2009


Author: dsotty
Date: 2009-06-19 01:29:53 -0400 (Fri, 19 Jun 2009)
New Revision: 27020

Modified:
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/Exists2Test.log
   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/AbstractChanceTest.java
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl
   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/ComplexFormulaTest.ruleml.xml
   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/ComplexFormulaTest.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log	2009-06-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log	2009-06-19 05:29:53 UTC (rev 27020)
@@ -1,31 +1,39 @@
 Degrees test Eval Record info(1.0) for args L : Message 1	 
 AND{
-(1 at 27) : 0.03900929540395737/1.0 dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6))) [EVAL 0.03900929540395737,PRIOR o,]
-(1 at 28) : 1.0/1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
+(1 at 35) : 0.06492201238870621/1.0 dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),exists()distEquiv(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,8)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,9)))) [EVAL 0.06492201238870621,PRIOR o,]
+(1 at 36) : 1.0/1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
 }
 
-(1 at 29) : 0.03900929540395737/1.0 lukAnd(dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6))),TestOpDegs) [EVAL 0.03900929540395737,PRIOR o,]
-	(1 at 27) : 0.03900929540395737/1.0 dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6))) [EVAL 0.03900929540395737,PRIOR o,]
-		(1 at 11) : 0.07807037234306335/1.0 lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))) [EVAL 0.07807037234306335,PRIOR o,]
-			(1 at 1) : 0.04750553518533707/1.0 minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))) [EVAL 0.04750553518533707,PRIOR 0.044440001249313354,]
+(1 at 37) : 0.06492201238870621/1.0 lukAnd(dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),exists()distEquiv(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,8)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,9))))TestOpDegs) [EVAL 0.06492201238870621,PRIOR o,]
+	(1 at 35) : 0.06492201238870621/1.0 dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),exists()distEquiv(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,8)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,9)))) [EVAL 0.06492201238870621,PRIOR o,]
+		(1 at 11) : 1.0/1.0 lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))) [EVAL 1.0,PRIOR o,]
+			(1 at 1) : 0.39226871728897095/1.0 minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))) [EVAL 0.39226871728897095,PRIOR 0.044440001249313354,]
 				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
-				(1 at 5) : 0.04750553518533707/1.0 lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1))) [EVAL 0.04750553518533707,PRIOR o,]
+				(1 at 5) : 0.39226871728897095/1.0 lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1))) [EVAL 0.39226871728897095,PRIOR o,]
 					(1 at 5) : 1.0/1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,PRIOR o,]
-					(1 at 5) : 0.04750553518533707/1.0 dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)) [EVAL 0.04750553518533707,PRIOR o,]
-						(1 at 5) : 0.10262562334537506/1.0 random(org.drools.chance.Message.status,1) [EVAL 0.10262562334537506,PRIOR o,]
-						(1 at 5) : 0.4629012942314148/1.0 random(org.drools.chance.Message.status,-1) [EVAL 0.4629012942314148,PRIOR o,]
-			(1 at 1) : 0.030564839020371437/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2)) [EVAL 0.030564839020371437,PRIOR o,]
+					(1 at 5) : 0.39226871728897095/1.0 dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)) [EVAL 0.39226871728897095,PRIOR o,]
+						(1 at 5) : 0.40388643741607666/1.0 random(org.drools.chance.Message.status,1) [EVAL 0.40388643741607666,PRIOR o,]
+						(1 at 5) : 0.9712352156639099/1.0 random(org.drools.chance.Message.status,-1) [EVAL 0.9712352156639099,PRIOR o,]
+			(1 at 1) : 0.9443910121917725/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2)) [EVAL 0.9443910121917725,PRIOR o,]
 				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
-				(1 at 9) : 0.030564839020371437/1.0 random(org.drools.chance.Message.status,2) [EVAL 0.030564839020371437,PRIOR o,]
-		(1 at 20) : 0.5030843019485474/1.0 -lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))) [EVAL 0.5030843019485474,PRIOR o,]
-			(1 at 1) : 0.6145576238632202/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)) [EVAL 0.6145576238632202,PRIOR o,]
+				(1 at 9) : 0.9443910121917725/1.0 random(org.drools.chance.Message.status,2) [EVAL 0.9443910121917725,PRIOR o,]
+		(1 at 20) : 1.0/1.0 -lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))) [EVAL 1.0,PRIOR o,]
+			(1 at 1) : 0.4945790767669678/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)) [EVAL 0.4945790767669678,PRIOR o,]
 				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
-				(1 at 14) : 0.6145576238632202/1.0 random(org.drools.chance.Message.status,3) [EVAL 0.6145576238632202,PRIOR o,]
-			(1 at 1) : 0.8823580741882324/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4)) [EVAL 0.8823580741882324,PRIOR o,]
+				(1 at 14) : 0.4945790767669678/1.0 random(org.drools.chance.Message.status,3) [EVAL 0.4945790767669678,PRIOR o,]
+			(1 at 1) : 0.41534364223480225/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4)) [EVAL 0.41534364223480225,PRIOR o,]
 				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
-				(1 at 18) : 0.8823580741882324/1.0 random(org.drools.chance.Message.status,4) [EVAL 0.8823580741882324,PRIOR o,]
-		(1 at 1) : 0.9932100176811218/1.0 lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6)) [EVAL 0.0,PRIOR 0.9932100176811218,]
-			(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
-			(1 at 24) : 0.3239850103855133/1.0 random(org.drools.chance.Message.status,5) [EVAL 0.3239850103855133,PRIOR o,]
-			(1 at 25) : 0.31954556703567505/1.0 random(org.drools.chance.Message.status,6) [EVAL 0.31954556703567505,PRIOR o,]
-	(1 at 28) : 1.0/1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
+				(1 at 18) : 0.41534364223480225/1.0 random(org.drools.chance.Message.status,4) [EVAL 0.41534364223480225,PRIOR o,]
+		(1 at 25) : 0.08606775104999542/1.0 exists() [EVAL 0.08606775104999542,PRIOR o,]
+			(1 at 1) : 0.08606775104999542/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6)) [EVAL 0.08606775104999542,PRIOR o,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 23) : 0.6253952980041504/1.0 random(org.drools.chance.Message.status,5) [EVAL 0.6253952980041504,PRIOR o,]
+				(1 at 24) : 0.13762135803699493/1.0 random(org.drools.chance.Message.status,6) [EVAL 0.13762135803699493,PRIOR o,]
+		(1 at 34) : 0.7543128728866577/1.0 distEquiv(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,8)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,9))) [EVAL 0.7543128728866577,PRIOR o,]
+			(1 at 1) : 0.7999004125595093/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,8)) [EVAL 0.7999004125595093,PRIOR o,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 28) : 0.7999004125595093/1.0 random(org.drools.chance.Message.status,8) [EVAL 0.7999004125595093,PRIOR o,]
+			(1 at 1) : 0.554213285446167/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,9)) [EVAL 0.554213285446167,PRIOR o,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 32) : 0.554213285446167/1.0 random(org.drools.chance.Message.status,9) [EVAL 0.554213285446167,PRIOR o,]
+	(1 at 36) : 1.0/1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/Exists2Test.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/Exists2Test.log	2009-06-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/Exists2Test.log	2009-06-19 05:29:53 UTC (rev 27020)
@@ -1,58 +1,58 @@
 Existential check 0.0
 Eval Record info(1.0) for args L :  
 AND{
-(0 at 16) : 0.0 dotAnd(exists()) [EVAL 0.0,]
-(0 at 17) : 1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
+(0 at 16) : 0.0/1.0 dotAnd(exists()) [EVAL 0.0,PRIOR o,]
+(0 at 17) : 1.0/1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
 }
 
-(0 at 18) : 0.0 minAnd(dotAnd(exists())Test Exist 4) [EVAL 0.0,]
-	(0 at 16) : 0.0 dotAnd(exists()) [EVAL 0.0,]
-		(0 at 15) : 0.0 exists() [EVAL 0.0,]
-	(0 at 17) : 1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
+(0 at 18) : 0.0/1.0 minAnd(dotAnd(exists())Test Exist 4) [EVAL 0.0,PRIOR o,]
+	(0 at 16) : 0.0/1.0 dotAnd(exists()) [EVAL 0.0,PRIOR o,]
+		(0 at 15) : 0.0/1.0 exists() [EVAL 0.0,PRIOR o,]
+	(0 at 17) : 1.0/1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
 
 
 Existential check 1.0
 Eval Record info(1.0) for args L :  
 AND{
-(0 at 16) : 1.0 dotAnd(exists()) [EVAL 1.0,]
-(0 at 17) : 1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
+(0 at 16) : 1.0/1.0 dotAnd(exists()) [EVAL 1.0,PRIOR o,]
+(0 at 17) : 1.0/1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
 }
 
-(0 at 18) : 1.0 minAnd(dotAnd(exists())Test Exist 4) [EVAL 1.0,]
-	(0 at 16) : 1.0 dotAnd(exists()) [EVAL 1.0,]
-		(63 at 15) : 1.0 exists() [EVAL 1.0,]
-			(31 at -1) : 0.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 0.0,]
-				(31 at 13) : 0.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 0.0,]
-					(31 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 1.0,]
-						(31 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(31 at 7) : 1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,]
-					(31 at 1) : 0.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 0.0,]
-						(31 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(31 at 11) : 0.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 0.0,]
-			(63 at -1) : 0.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 0.0,]
-				(63 at 13) : 0.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 0.0,]
-					(32 at 1) : 0.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 0.0,]
-						(32 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(32 at 7) : 0.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 0.0,]
-					(31 at 1) : 0.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 0.0,]
-						(31 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(31 at 11) : 0.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 0.0,]
-			(32 at -1) : 0.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 0.0,]
-				(32 at 13) : 0.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 0.0,]
-					(32 at 1) : 0.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 0.0,]
-						(32 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(32 at 7) : 0.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 0.0,]
-					(32 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 1.0,]
-						(32 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(32 at 11) : 1.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 1.0,]
-			(63 at -1) : 1.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 1.0,]
-				(63 at 13) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 1.0,]
-					(31 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 1.0,]
-						(31 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(31 at 7) : 1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,]
-					(32 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 1.0,]
-						(32 at 6) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-						(32 at 11) : 1.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 1.0,]
-	(0 at 17) : 1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
+(0 at 18) : 1.0/1.0 minAnd(dotAnd(exists())Test Exist 4) [EVAL 1.0,PRIOR o,]
+	(0 at 16) : 1.0/1.0 dotAnd(exists()) [EVAL 1.0,PRIOR o,]
+		(63 at 15) : 1.0/1.0 exists() [EVAL 1.0,PRIOR o,]
+			(31 at -1) : 0.0/1.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 0.0,PRIOR o,]
+				(31 at 13) : 0.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 0.0,PRIOR o,]
+					(31 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 1.0,PRIOR o,]
+						(31 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(31 at 7) : 1.0/1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,PRIOR o,]
+					(31 at 1) : 0.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 0.0,PRIOR o,]
+						(31 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(31 at 11) : 0.0/1.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 0.0,PRIOR o,]
+			(63 at -1) : 0.0/1.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 0.0,PRIOR o,]
+				(63 at 13) : 0.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 0.0,PRIOR o,]
+					(32 at 1) : 0.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 0.0,PRIOR o,]
+						(32 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(32 at 7) : 0.0/1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 0.0,PRIOR o,]
+					(31 at 1) : 0.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 0.0,PRIOR o,]
+						(31 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(31 at 11) : 0.0/1.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 0.0,PRIOR o,]
+			(32 at -1) : 0.0/1.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 0.0,PRIOR o,]
+				(32 at 13) : 0.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 0.0,PRIOR o,]
+					(32 at 1) : 0.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 0.0,PRIOR o,]
+						(32 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(32 at 7) : 0.0/1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 0.0,PRIOR o,]
+					(32 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 1.0,PRIOR o,]
+						(32 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(32 at 11) : 1.0/1.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 1.0,PRIOR o,]
+			(63 at -1) : 1.0/1.0 dotAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)))) [EVAL 1.0,PRIOR o,]
+				(63 at 13) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)),dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1))) [EVAL 1.0,PRIOR o,]
+					(31 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0)) [EVAL 1.0,PRIOR o,]
+						(31 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(31 at 7) : 1.0/1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,PRIOR o,]
+					(32 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,1)) [EVAL 1.0,PRIOR o,]
+						(32 at 6) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+						(32 at 11) : 1.0/1.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 1.0,PRIOR o,]
+	(0 at 17) : 1.0/1.0 Test Exist 4 [EVAL 0.0,PRIOR 1.0,]
 
 

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-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest0.log	2009-06-19 05:29:53 UTC (rev 27020)
@@ -1,38 +1,61 @@
 
 
+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.1875
 Room is warm in degree Eval Record info(1.0) for args L : Room 47	 
 AND{
-(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 20) : 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 21) : 1.0/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 22) : 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 20) : 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,]
+			(47 at 18) : 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 18) : 0.25/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,warm) [EVAL 0.25,PRIOR o,]
+				(47 at 18) : 0.75/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,hot) [EVAL 0.75,PRIOR o,]
+	(47 at 21) : 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.0
 Room is warm in degree Eval Record info(1.0) for args L : Room 47	 
 AND{
-(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 20) : 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 21) : 1.0/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 22) : 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 20) : 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,]
+			(47 at 18) : 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 18) : 0.12999999523162842/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,warm) [EVAL 0.12999999523162842,PRIOR o,]
+				(47 at 18) : 0.0/1.0 seems(org.drools.chance.fuzzyTest.Room.temperature,hot) [EVAL 0.0,PRIOR o,]
+	(47 at 21) : 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/AbstractChanceTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/AbstractChanceTest.java	2009-06-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/AbstractChanceTest.java	2009-06-19 05:29:53 UTC (rev 27020)
@@ -45,7 +45,7 @@
 	
 	private StatefulKnowledgeSession session;
 	
-	private boolean isDumpable = true;
+	private boolean isDumpable = false;
 	
 	private RuleMLDumper dumper = new RuleMLDumper();
 	

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl	2009-06-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl	2009-06-19 05:29:53 UTC (rev 27020)
@@ -30,8 +30,12 @@
 			)
 				
 				
-		Message(status ~random 5 , status ~random 6) @( kind="Lukas" prior="0.99321")
+		exists Message(s : status ~random 5 , status ~random 6) //@( kind="Lukas" prior="0.99321")
 		
+		((equiv
+			Message( s1 : status ~random 8)
+			Message( s2 : status ~random 9)
+		))
 									
 	then
 	

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-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/fuzzy/FuzzyTest0.drl	2009-06-19 05:29:53 UTC (rev 27020)
@@ -16,7 +16,7 @@
 
 rule "Hot v1"
 	when 
-		$r : Room( temperature ~hot )		
+		$r : Room( t : temperature ~hot )		
 	then
 		
 		writer.write("\n\n");

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml	2009-06-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml	2009-06-19 05:29:53 UTC (rev 27020)
@@ -214,14 +214,6 @@
                                     <Reify>
                                         <And>
                                             <Atom>
-                                                <!--unsupported attribute - 
-<kind>kind:Lukas</kind>
--->
-                                                <!--
-<degree>
-    <Data>0.99321</Data>
-</degree>
--->
                                                 <op>
                                                     <Rel>isA</Rel>
                                                 </op>

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-19 05:29:24 UTC (rev 27019)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml	2009-06-19 05:29:53 UTC (rev 27020)
@@ -10,6 +10,116 @@
             </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>
@@ -78,6 +188,63 @@
                     </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