Friday, July 20, 2007

Conways Game of Life updated for Rule Flow

As promised I finally got round to updating the popular Conways Game of Life example so it can be executed with both agenda-groups and ruleflows for execution control. So now people have a good example to study when trying to learn the two concepts. (click to enlarge images).

With agenda-groups we specify the stack execution order for each group, in the java code.

With ruleflow we instead specify the process id of the ruleflow:

Here you can see the ruleflow for the above process id, notice how "birth" and "kill" are executed in parallel:

This code is in trunk, and will be part of the next release for drools-examples.

From working on this example what has become obvious is we need support for sub ruleflows, so that we can have a parent ruleflow choreographing all the ruleflows in the application, which is currently being done from java code.