> David Pautler wrote:
> I'm evaluating Drools and other RMSs, looking for one that provides
> the following features:
>
> 1) Citation tracking. I need to note what articles or scenarios
> motivated a rule, and be able to provide a short description of how
> the rule supports each. This goes beyond commenting because I need to
> have access to a list of all articles and scenarios used and be able
> to jump to the rules that hang from them.
Mark Proctor:
Not quite sure what you mean, this is an addition you want to the rule
language itself? Can you provide more details, maybe we can help you
work on this.
I'm not sure if the feature belongs in the rule language or only in a RMS.
Here's a description of how it would be used:
1) When creating a rule in an IDE, there would be an option to indicate
the source of the rule. Specifically, there would be a pulldown menu of
article titles previously used as sources, plus a way of indicating the
page range within the article.
2) In addition to specifying the source, the widget would allow entering
a text description. For example, the description might indicate how the
syntax of the original ruleset was changed to accomodate one's own syntax.
3) As a ruleset is maintained, and one finds that rules need to be
altered to fit new-found scenarios, one would want to append a new
source (article or scenario) to the ones already listed for a rule. The
history of sources and descriptions would really help avoid mistakes
such as changing a rule to fit a new case but breaking it for older cases.
4) Whenever one wants to write a publication about the ruleset, the
source histories would help a great deal in describing the intellectual
history of the ruleset, not to mention in generating the bibliography.
Is this the sort of detail you were looking for?
> 2) Jess rule language. Our team has a symbolic AI background,
and
> Drools' language is non-intuitive to us. It appears that Drools is
> built on Jess, and Jess' language would work much better for us. Is
> there a way to use Jess' language, including intellisense support?
Drools is not built on Jess or related to Jess in anyway,
I guessed that it was, due to listing the Jess book in your bibliography
of the overview page, and there was no explanation of the relation of it
to Drools.
other than
that we all have our own implementations of the Rete algorithm and have
followed many of the features implemented in Clips, which itself was
derived from ART. The Drools DRL language itself was designed as a more
intuitive and less verbose language, this becomes increasinly important
as you start to add more complex syntax which becomes harder to read
with a lisp approach. I think most people in here would agree that the
Drools DRL approach is an improvement over the lisp approach of
clips/jess - apart from the die hard lisp fans.
I'm not a die-hard Lisp fan. The CLIPS/Jess language style is just more
similar to the way most people write predicate calculus formulas.
That said I have an experimental project to provide some level of
clips
support. See this blog for detalis:
http://blog.athico.com/search/label/Clips
This looks very promising for us.
Drools was designed from the start to work with pojos, Jess has an
internal data structure that the pojos must be copied into. For this
reason our performance compared to Jess when working with pojos is
atleast double. Drools 5.0 also has a new more robust Rete algorithm,
that is not subject to inconsistencies affecting modify and retract, we
call this assymetrical Rete, rather than Jess' symmetrical Rete. Further
to this our Rete supports partitioning for parallel evaluation, which
was needed for our CEP work.
This performance note is great info to have. If you have more details on
this "inconsistency affecting modify and retract", I'd like to hear more,
too.
> 3) Export to sourceforge. Our deployments involve exporting the
> rulebase and associated citation tracking to sourceforge or google
> code. That is, we want to deploy text rather than binaries. Is there a
> better way to do this than a simple db export?
>
> I've checked the user manuals and list archives for each of these
> questions but wasn't able to answer them for myself.
Again not really sure what you are discussing, wouldn't just putting the
.drl up at sourceforce achieve this?
I'm not sure of all that goes into these DRL files...it appears that
they use xml to describe the entire ruleset of a package. This would
work fine for us, although we would like to have a way of associating
them with the "source histories" I described above -- perhaps by using
the same filename for both, in the same dir, but a different extension
for the history.
Btw if you do continue your research on Drools, I would encourage to
put
your details and your research up on the Drools Research Network page,
We'd be happy to do so.
and also join the mailing list
I'm already on the users list; I didn't see a research-specific one.