[rules-users] How to make a "Loop-Ruleflow"????

Kris Verlaenen kris.verlaenen at cs.kuleuven.be
Thu Nov 22 18:22:07 EST 2007


Massi,

Why do you want to use a ruleflow?  If you simply remove the ruleflow-group statements from your rule definitions, you will get your expected behaviour, as rule_ab will execute first, updating your user fact, which will then trigger rule_ba to execute, updating the user fact again, which will trigger rule_ba again, etc.

I'm not sure where you see any parallelism here, as it is always the first rule, then the second, then the first one again, etc.

But if you really want to know, you can create a loop in a ruleflow by putting whatever you would like to see repeated in between an XOR-join in front and an XOR-split at the end, and linking one of the outgoing connections of the XOR-split back to the first join :)

Kris

  ----- Original Message ----- 
  From: mmquelo massi 
  To: Rules Users List 
  Sent: Thursday, November 22, 2007 5:15 PM
  Subject: [rules-users] How to make a "Loop-Ruleflow"????


  Hi everybody. 

  I am trying to make a ruleflow that, once processed, causes the rule engine to infinitely loop. 
  I have got a User Object in my object model. It has got a getLogin() and setLogin() methods. 

  The login field stands for the "User name", so it is a String. 

  First I insert an Object in the WM, with login==A.

  Then I generate the following rule-flow-groups: 

  rule "rule_ab" 
     ruleflow-group "ab" 
      when 
         u:User( login == "A" ) 
     then 
        u.setLogin("B"); 
        System.out.println("a - > b"); 
       update(u); 
  end 

  rule "rule_ba" 
     ruleflow-group "ba" 
       when 
          u:User( login == "B" ) 
       then 
          u.setLogin("A"); 
          System.out.println("b - > a"); 
          update(u); 
  end 

  I'd like to define a ruleflow that gives me in output something like this:

  a - > b
  b - > a
  a - > b
  b - > a 
  a - > b
  b - > a
  a - > b
  b - > a 
  a - > b
  b - > a
  a - > b
  b - > a
  .... looping...

  How can I do it?

  In other words I want those rules to be executed in parallel and I want to define
  this "parallelism" using the ruleflow graph, Is It Possible???

  Thank You Again!

  Massi.

  P.S.

  Ah.... I solved that matter with the rule.package...


------------------------------------------------------------------------------


  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20071123/ade0281c/attachment.html 


More information about the rules-users mailing list