>>Actually Drools processes DSL a similar way it process rules, doesn't it ?

Not quite.  DSL matching is a brute-force process.  The engine will iterate 
across all appropriate entries in the DSL mapping file for each
line of custom rule "code."   Changes to the state of the code line do not 
cause a reset/restart of the matching.  At the end, you should have a line of 
drl code.

Rule execution and matching is different.  For one, the consequence of a 
matched rule can modify and then update a fact, and as a result cause all rules 
to be tested again against the modified state of working memory.  In theory, 
you could do this infinitely.  Secondly, if you look at a RETE tree, you'll see 
that not every node is reached (it's not an exhaustive graph traversal).  
Indexing of the data before firing the rules allows the algorithm to eliminate 
entire branches of tests during evaluation.

>>I couldn't find any documentation about Drools 5 (I downloaded it but it 
>>looks like it it the same as 4.0.7). Where could I find it ?

The info on the latest docs are at...
http://blog.athico.com/2008/11/drools-live-documentation.html

DSL's haven't changed much and Drools 5 is backward compatible.  The only 
changes are that we now use a lexer and parser instead of doing regex pattern 
matching, and you can be uber-restrictive in your matching by using regular 
expressions for your bound variables.

Example:

There is a person with a social security number of {ssn:\d{3}-\d{2}-\d{4}} = 
Person(socialSecurityNumber=='{ssn}')

This feature, while of not so much value in longer sentences, is powerful in 
creating a chain of transforming mapping entries, and allows you to build the 
kind of rule transformation engine I was referring to in my earlier emails.

As Drools 5 is not yet final, and efforts are more on bug fixes than on 
documentation at the moment, my advice (for this feature and others) is to go 
back through the archives of the drools blog (blog.athico.com) and this 
listserv.

Matt


      
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to