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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 27 12:31:57 EDT 2009


Author: dsotty
Date: 2009-05-27 12:31:56 -0400 (Wed, 27 May 2009)
New Revision: 26751

Modified:
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.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/java/org/drools/chance/impliesTest/ImpliesTest1.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/ComplexFormulaTest.ruleml.xml
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml
   labs/jbossrules/branches/DroolsChance/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt
Log:
Meta-Evaluator

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-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log	2009-05-27 16:31:56 UTC (rev 26751)
@@ -1,27 +1,27 @@
 Degrees test Eval Record info(1.0) for args L : Message 1	 
 AND{
-(1 at 25) : 0.08620529 dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(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))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))) [EVAL 0.08620529,]
+(1 at 25) : 0.048865642 dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(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))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))) [EVAL 0.048865642,]
 (1 at 26) : 1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
 }
 
-(1 at 27) : 0.08620529 minAnd(dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(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))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))),TestOpDegs) [EVAL 0.08620529,]
-	(1 at 25) : 0.08620529 dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(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))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))) [EVAL 0.08620529,]
-		(1 at 11) : 0.56920236 maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))) [EVAL 0.56920236,]
+(1 at 27) : 0.048865642 minAnd(dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(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))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))),TestOpDegs) [EVAL 0.048865642,]
+	(1 at 25) : 0.048865642 dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(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))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))) [EVAL 0.048865642,]
+		(1 at 11) : 0.2999273 maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))) [EVAL 0.2999273,]
 			(1 at 1) : 0.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)) [EVAL 0.0,]
 				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
 				(1 at 4) : 1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,]
 				(1 at 5) : 0.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 0.0,]
-			(1 at 1) : 0.56920236 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2)) [EVAL 0.56920236,]
+			(1 at 1) : 0.2999273 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2)) [EVAL 0.2999273,]
 				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 9) : 0.56920236 random(org.drools.chance.Message.status,2) [EVAL 0.56920236,]
-		(1 at 20) : 0.9093653 -dotAnd(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.9093653,]
-			(1 at 1) : 0.33255377 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)) [EVAL 0.33255377,]
+				(1 at 9) : 0.2999273 random(org.drools.chance.Message.status,2) [EVAL 0.2999273,]
+		(1 at 20) : 0.21129096 -dotAnd(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.21129096,]
+			(1 at 1) : 0.9881322 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)) [EVAL 0.9881322,]
 				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 14) : 0.33255377 random(org.drools.chance.Message.status,3) [EVAL 0.33255377,]
-			(1 at 1) : 0.27254146 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4)) [EVAL 0.27254146,]
+				(1 at 14) : 0.9881322 random(org.drools.chance.Message.status,3) [EVAL 0.9881322,]
+			(1 at 1) : 0.7981817 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4)) [EVAL 0.7981817,]
 				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 18) : 0.27254146 random(org.drools.chance.Message.status,4) [EVAL 0.27254146,]
-		(1 at 1) : 0.16654395 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5)) [EVAL 0.16654395,]
+				(1 at 18) : 0.7981817 random(org.drools.chance.Message.status,4) [EVAL 0.7981817,]
+		(1 at 1) : 0.7710929 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5)) [EVAL 0.7710929,]
 			(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-			(1 at 23) : 0.16654395 random(org.drools.chance.Message.status,5) [EVAL 0.16654395,]
+			(1 at 23) : 0.7710929 random(org.drools.chance.Message.status,5) [EVAL 0.7710929,]
 	(1 at 26) : 1.0 TestOpDegs [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-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/FuzzyTest0.log	2009-05-27 16:31:56 UTC (rev 26751)
@@ -10,3 +10,7 @@
 
 Room is warm in degree 0.25
 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.
\ 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-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/AbstractChanceTest.java	2009-05-27 16:31:56 UTC (rev 26751)
@@ -130,6 +130,7 @@
 		getKBuilderConf().setProperty("drools.evaluator.stop", "org.drools.chance.fuzzyTest.SpeedDomain");
 		
 		getKBuilderConf().setProperty("drools.evaluator.seems", "org.drools.fuzzy.evaluators.SeemsEvaluatorDefinition");
+		getKBuilderConf().setProperty("drools.evaluator.evaluates", "org.drools.fuzzy.evaluators.EvalEvaluatorDefinition");
 		
 		getKBuilderConf().setProperty("drools.evaluator.random", "org.drools.fuzzy.evaluators.RandomEvaluatorDefinition");
 		

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/impliesTest/ImpliesTest1.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/impliesTest/ImpliesTest1.java	2009-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/impliesTest/ImpliesTest1.java	2009-05-27 16:31:56 UTC (rev 26751)
@@ -143,7 +143,7 @@
 		private Evaluator flyEvaluator = new BaseImperfectEvaluator(ValueType.BOOLEAN_TYPE, FLIES, "") {
 
 			@Override
-			protected IDegree eval(Object left, Object right, IDegreeFactory factory) {
+			public IDegree eval(Object left, Object right, IDegreeFactory factory) {
 				if (left instanceof Bird) {
 					Boolean b = ((Bird) left).getIsFlier();
 					if (b == null)

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-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/fuzzy/FuzzyTest0.drl	2009-05-27 16:31:56 UTC (rev 26751)
@@ -28,7 +28,7 @@
 		writer.write("Evaluator from temp domain, requires a method in Room\n");
 end
 
-rule "Hot v3"
+rule "Hot v3 (Warm)"
 	when 
 		$r : Room( temperature ~seems "warm" )		
 	then
@@ -37,3 +37,16 @@
 		writer.write("Room is warm in degree "+drools.getConsequenceDegree()+"\n");
 		writer.write("Evaluator from temp domain, runtime call (no method in room)\n");
 end
+
+rule "Hot v4"
+	when 
+		$r : Room( hot ~evaluates temperature )		
+	then
+		
+		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.");
+end
+
+
+

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-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml	2009-05-27 16:31:56 UTC (rev 26751)
@@ -1,35 +1,63 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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>
+    </oid>
     <Assert>
         <Rulebase>
             <oid>
                 <Data>org.drools.chance</Data>
             </oid>
-            <Implies direction="forward">
-                <oid>
-                    <Data>TestOpDegs</Data>
-                </oid>
-                <body>
-                    <And>
-                        <Or>
-                            <Atom>
-                                <Rel>Message</Rel>
-                                <Equals oriented="yes">
-                                    <lhs>
-                                        <Var>TestOpDegs.Message</Var>
-                                    </lhs>
-                                    <rhs>
+            <Forall>
+                <declare>
+                    <Var type="org.drools.chance.Message">TestOpDegs.Message_1</Var>
+                </declare>
+                <declare>
+                    <Var type="org.drools.chance.Message">TestOpDegs.Message_3</Var>
+                </declare>
+                <declare>
+                    <Var type="org.drools.chance.Message">TestOpDegs.Message_2</Var>
+                </declare>
+                <declare>
+                    <Var type="org.drools.chance.Message">TestOpDegs.Message_4</Var>
+                </declare>
+                <declare>
+                    <Var type="org.drools.chance.Message">TestOpDegs.Message</Var>
+                </declare>
+                <formula>
+                    <Implies direction="forward">
+                        <oid>
+                            <Data>TestOpDegs</Data>
+                        </oid>
+                        <body>
+                            <And>
+                                <Or>
+                                    <Atom>
+                                        <oid>
+                                            <Var>TestOpDegs.Message</Var>
+                                        </oid>
+                                        <Rel>Message</Rel>
                                         <Reify>
                                             <And>
                                                 <Atom>
                                                     <op>
+                                                        <Rel>isA</Rel>
+                                                    </op>
+                                                    <slot>
+                                                        <Ind>class</Ind>
+                                                        <Var/>
+                                                    </slot>
+                                                    <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
+                                                </Atom>
+                                                <Atom>
+                                                    <op>
                                                         <Rel>==</Rel>
                                                     </op>
                                                     <slot>
                                                         <Ind>status</Ind>
-                                                        <Var>TestOpDegs.Message</Var>
+                                                        <Var/>
                                                     </slot>
-                                                    <Data xsi:type="xs:decimal">0</Data>
+                                                    <Ind type="java.lang.Number">0</Ind>
                                                 </Atom>
                                                 <Atom>
                                                     <op>
@@ -37,24 +65,30 @@
                                                     </op>
                                                     <slot>
                                                         <Ind>status</Ind>
-                                                        <Var>TestOpDegs.Message</Var>
+                                                        <Var/>
                                                     </slot>
-                                                    <Data xsi:type="xs:decimal">1</Data>
+                                                    <Ind type="java.lang.Number">1</Ind>
                                                 </Atom>
                                             </And>
                                         </Reify>
-                                    </rhs>
-                                </Equals>
-                            </Atom>
-                            <Atom>
-                                <Rel>Message</Rel>
-                                <Equals oriented="yes">
-                                    <lhs>
-                                        <Var>TestOpDegs.Message</Var>
-                                    </lhs>
-                                    <rhs>
+                                    </Atom>
+                                    <Atom>
+                                        <oid>
+                                            <Var>TestOpDegs.Message_1</Var>
+                                        </oid>
+                                        <Rel>Message</Rel>
                                         <Reify>
                                             <And>
+                                                <Atom>
+                                                    <op>
+                                                        <Rel>isA</Rel>
+                                                    </op>
+                                                    <slot>
+                                                        <Ind>class</Ind>
+                                                        <Var/>
+                                                    </slot>
+                                                    <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
+                                                </Atom>
                                                 <Neg>
                                                     <Atom>
                                                         <op>
@@ -62,108 +96,124 @@
                                                         </op>
                                                         <slot>
                                                             <Ind>status</Ind>
-                                                            <Var>TestOpDegs.Message</Var>
+                                                            <Var/>
                                                         </slot>
-                                                        <Data xsi:type="xs:decimal">2</Data>
+                                                        <Ind type="java.lang.Number">2</Ind>
                                                     </Atom>
                                                 </Neg>
                                             </And>
                                         </Reify>
-                                    </rhs>
-                                </Equals>
-                            </Atom>
-                        </Or>
-                        <Neg>
-                            <And>
-                                <Atom>
-                                    <Rel>Message</Rel>
-                                    <Equals oriented="yes">
-                                        <lhs>
-                                            <Var>TestOpDegs.Message</Var>
-                                        </lhs>
-                                        <rhs>
+                                    </Atom>
+                                </Or>
+                                <Neg>
+                                    <And>
+                                        <Atom>
+                                            <oid>
+                                                <Var>TestOpDegs.Message_2</Var>
+                                            </oid>
+                                            <Rel>Message</Rel>
                                             <Reify>
                                                 <And>
                                                     <Atom>
                                                         <op>
+                                                            <Rel>isA</Rel>
+                                                        </op>
+                                                        <slot>
+                                                            <Ind>class</Ind>
+                                                            <Var/>
+                                                        </slot>
+                                                        <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
+                                                    </Atom>
+                                                    <Atom>
+                                                        <op>
                                                             <Rel>random</Rel>
                                                         </op>
                                                         <slot>
                                                             <Ind>status</Ind>
-                                                            <Var>TestOpDegs.Message</Var>
+                                                            <Var/>
                                                         </slot>
-                                                        <Data xsi:type="xs:decimal">3</Data>
+                                                        <Ind type="java.lang.Number">3</Ind>
                                                     </Atom>
                                                 </And>
                                             </Reify>
-                                        </rhs>
-                                    </Equals>
-                                </Atom>
-                                <Atom>
-                                    <Rel>Message</Rel>
-                                    <Equals oriented="yes">
-                                        <lhs>
-                                            <Var>TestOpDegs.Message</Var>
-                                        </lhs>
-                                        <rhs>
+                                        </Atom>
+                                        <Atom>
+                                            <oid>
+                                                <Var>TestOpDegs.Message_3</Var>
+                                            </oid>
+                                            <Rel>Message</Rel>
                                             <Reify>
                                                 <And>
                                                     <Atom>
                                                         <op>
+                                                            <Rel>isA</Rel>
+                                                        </op>
+                                                        <slot>
+                                                            <Ind>class</Ind>
+                                                            <Var/>
+                                                        </slot>
+                                                        <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
+                                                    </Atom>
+                                                    <Atom>
+                                                        <op>
                                                             <Rel>random</Rel>
                                                         </op>
                                                         <slot>
                                                             <Ind>status</Ind>
-                                                            <Var>TestOpDegs.Message</Var>
+                                                            <Var/>
                                                         </slot>
-                                                        <Data xsi:type="xs:decimal">4</Data>
+                                                        <Ind type="java.lang.Number">4</Ind>
                                                     </Atom>
                                                 </And>
                                             </Reify>
-                                        </rhs>
-                                    </Equals>
-                                </Atom>
-                            </And>
-                        </Neg>
-                        <Atom>
-                            <Rel>Message</Rel>
-                            <Equals oriented="yes">
-                                <lhs>
-                                    <Var>TestOpDegs.Message</Var>
-                                </lhs>
-                                <rhs>
+                                        </Atom>
+                                    </And>
+                                </Neg>
+                                <Atom>
+                                    <oid>
+                                        <Var>TestOpDegs.Message_4</Var>
+                                    </oid>
+                                    <Rel>Message</Rel>
                                     <Reify>
                                         <And>
                                             <Atom>
                                                 <op>
+                                                    <Rel>isA</Rel>
+                                                </op>
+                                                <slot>
+                                                    <Ind>class</Ind>
+                                                    <Var/>
+                                                </slot>
+                                                <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
+                                            </Atom>
+                                            <Atom>
+                                                <op>
                                                     <Rel>random</Rel>
                                                 </op>
                                                 <slot>
                                                     <Ind>status</Ind>
-                                                    <Var>TestOpDegs.Message</Var>
+                                                    <Var/>
                                                 </slot>
-                                                <Data xsi:type="xs:decimal">5</Data>
+                                                <Ind type="java.lang.Number">5</Ind>
                                             </Atom>
                                         </And>
                                     </Reify>
-                                </rhs>
-                            </Equals>
-                        </Atom>
-                    </And>
-                </body>
-                <head>
-                    <Atom>
-                        <Rel/>
-                        <Data>	&#13;
-		System.out.println("Degrees test " + drools.getEvaluation().expand());		&#13;
+                                </Atom>
+                            </And>
+                        </body>
+                        <head>
+                            <Atom>
+                                <Rel/>
+                                <Data>System.out.println("Degrees test " + drools.getEvaluation().expand());		&#13;
 		&#13;
 		writer.write("Degrees test " + drools.getEvaluation().expand());&#13;
 		&#13;
-		System.out.println("Final output " + drools.getConsequenceDegree());&#13;
-</Data>
-                    </Atom>
-                </head>
-            </Implies>
+		System.out.println("Final output " + drools.getConsequenceDegree());</Data>
+                            </Atom>
+                        </head>
+                    </Implies>
+                </formula>
+            </Forall>
         </Rulebase>
     </Assert>
 </RuleML>

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-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/FuzzyTest0.ruleml.xml	2009-05-27 16:31:56 UTC (rev 26751)
@@ -1,65 +1,101 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<RuleML xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ruleml.org/0.91/xsd/naffologeq.xsd" xsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://www.ruleml.org/0.91/xsd/naffologeq.xsd">
+<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>
+    </oid>
     <Assert>
-        <RuleBase>
+        <Rulebase>
             <oid>
-                <Data xs:type="xsi:string">org.drools.examples.chance.fuzzyTest</Data>
+                <Data>org.drools.examples.chance.fuzzyTest</Data>
             </oid>
-            <Implies direction="forward">
-                <oid>
-                    <Data>Hot v1</Data>
-                </oid>
-                <body>
-                    <And>
-                        <Atom>
-                            <Rel>Room</Rel>
-                            <Equals oriented="yes">
-                                <lhs>
-                                    <Var>Hot v1.$r</Var>
-                                </lhs>
-                                <rhs>
+            <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>class</Ind>
+                                                    <Var/>
+                                                </slot>
+                                                <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
+                                            </Atom>
+                                            <Atom>
+                                                <op>
                                                     <Rel>hot</Rel>
                                                 </op>
                                                 <slot>
                                                     <Ind>temperature</Ind>
-                                                    <Var>Hot v1.$r</Var>
+                                                    <Var/>
                                                 </slot>
                                             </Atom>
                                         </And>
                                     </Reify>
-                                </rhs>
-                            </Equals>
-                        </Atom>
-                    </And>
-                </body>
-                <head/>
-            </Implies>
-            <Implies direction="forward">
-                <oid>
-                    <Data>Hot v2</Data>
-                </oid>
-                <body>
-                    <And>
-                        <Atom>
-                            <Rel>Room</Rel>
-                            <Equals oriented="yes">
-                                <lhs>
-                                    <Var>Hot v2.$r</Var>
-                                </lhs>
-                                <rhs>
+                                </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>class</Ind>
+                                                    <Var/>
+                                                </slot>
+                                                <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
+                                            </Atom>
+                                            <Atom>
+                                                <op>
                                                     <Rel>seems</Rel>
                                                 </op>
                                                 <slot>
                                                     <Ind>temperature</Ind>
-                                                    <Var>Hot v2.$r</Var>
+                                                    <Var/>
                                                 </slot>
                                                 <Expr>
                                                     <Fun>getHot</Fun>
@@ -68,47 +104,131 @@
                                             </Atom>
                                         </And>
                                     </Reify>
-                                </rhs>
-                            </Equals>
-                        </Atom>
-                    </And>
-                </body>
-                <head/>
-            </Implies>
-            <Implies direction="forward">
-                <oid>
-                    <Data>Hot v3</Data>
-                </oid>
-                <body>
-                    <And>
-                        <Atom>
-                            <Rel>Room</Rel>
-                            <Equals oriented="yes">
-                                <lhs>
-                                    <Var>Hot v3.$r</Var>
-                                </lhs>
-                                <rhs>
+                                </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>
+                    <Implies direction="forward">
+                        <oid>
+                            <Data>Hot v3 (Warm)</Data>
+                        </oid>
+                        <body>
+                            <And>
+                                <Atom>
+                                    <oid>
+                                        <Var>Hot v3 (Warm).$r</Var>
+                                    </oid>
+                                    <Rel>Room</Rel>
                                     <Reify>
                                         <And>
                                             <Atom>
                                                 <op>
+                                                    <Rel>isA</Rel>
+                                                </op>
+                                                <slot>
+                                                    <Ind>class</Ind>
+                                                    <Var/>
+                                                </slot>
+                                                <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
+                                            </Atom>
+                                            <Atom>
+                                                <op>
                                                     <Rel>seems</Rel>
                                                 </op>
                                                 <slot>
                                                     <Ind>temperature</Ind>
-                                                    <Var>Hot v3.$r</Var>
+                                                    <Var/>
                                                 </slot>
-                                                <Data xsi:type="xs:string">warm</Data>
+                                                <Ind type="java.lang.String">warm</Ind>
                                             </Atom>
                                         </And>
                                     </Reify>
-                                </rhs>
-                            </Equals>
-                        </Atom>
-                    </And>
-                </body>
-                <head/>
-            </Implies>
-        </RuleBase>
+                                </Atom>
+                            </And>
+                        </body>
+                        <head>
+                            <Atom>
+                                <Rel/>
+                                <Data>writer.write("\n\n");&#13;
+		writer.write("Room is warm in degree "+drools.getConsequenceDegree()+"\n");&#13;
+		writer.write("Evaluator from temp domain, runtime call (no method in room)\n");</Data>
+                            </Atom>
+                        </head>
+                    </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>class</Ind>
+                                                    <Var/>
+                                                </slot>
+                                                <Ind type="java.lang.Class">org.drools.chance.fuzzyTest.Room</Ind>
+                                            </Atom>
+                                            <Atom>
+                                                <op>
+                                                    <Rel>evaluates</Rel>
+                                                </op>
+                                                <slot>
+                                                    <Ind>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>

Modified: labs/jbossrules/branches/DroolsChance/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt	2009-05-27 15:38:21 UTC (rev 26750)
+++ labs/jbossrules/branches/DroolsChance/drools-guvnor/src/main/java/org/drools/guvnor/public/version.txt	2009-05-27 16:31:56 UTC (rev 26751)
@@ -1 +1 @@
-5.0.0.SNAPSHOT 26142:26190M
\ No newline at end of file
+5.0.0.SNAPSHOT 26686M
\ No newline at end of file




More information about the jboss-svn-commits mailing list