End of 2007 Note
Ha ! well its the end of 2007 and actually most of this worked out, surprisingly (despite many many changes and obstacles on the way).
All of the below have been addressed in one way or another, although testing and analysis GUIs are still early days at this stage, but essentially they are done functionally speaking (just not usable directly at the moment).
2007 roadmap for Michael
This is where I attempt to layout my priorities feature-wise for 2007. This is
subject to change, and (more realistically) subject to someone else
Completion of V1 of BRMS
This obviously includes the back and, and the web UI, and integration with the
IDE tooling (thanks to Mark). This should be done in Q1, but realistically I
expect it to take until the middle of the year to settle down (based on
experience with past major releases).
Rule testing tool
Matthew Shaw has been working very well on a contribution/prototype testing
tool and IDE. He has a api/engine to generate tests based on rules and models,
and also execute these "rtl" files to make test assertions on the firings of
rules. There is also the start of an IDE plug in for this. I aim to productise
this (thanks mat !) and make it a core part of the rules tools (the execution
of the rules can also be included in the BRMS lifecycle eventually).
Rule analysis module
I started drools-analysis with some spare time in Berlin, and the concept is
still sound (based on some papers James Owen gave me a while back). I would
like to take this to fruition. This requires some detailed analysis of the RHS
of rules which are currently not in the default DRL language definition, but
its doable. This would be coupled with perhaps some IDE tooling, but most
likely produce HTML/XML quality reports of ruleset "quality" and logic
This utlity will either be called on demand by a user (command line or IDE or
programmatically) or by (eventually) the BRMS as part of continuous
integration style QA of a rulebase. The API should also be such that the
analysis results can be used by a "self tuning" mechanism in future (and other
tools) for performance or execution control.
Natural Language enhancements
I plan to work on an initial "free form" natural language rule capture wizard.
Based on my pleasure in using Google Calendar: in google calendar you can
quickly add an appointment by typing in free text and it will convert that to
a calendar entry. Similarly a "quick rule" or "quick condition" feature,
knowing the domain (model) of the rules can take the natural langauge
expression and convert it to the rule model equivalent (so both can be shown
on the screen). In envisage that this would work by capturing either a pattern
or a rule as a sentence, in a popup box, and then converting this to a rule
construct on screen (this can apply on the web primarily) where the user can
quickly see that the natural language has been comprehended correctly (using
the rule modeller visual format, most likely). This is similar to the
calendar, in that the user enters their appointments textually, but verifies
that the appointments are correct visually.
BRMS repository to be extended to other assets types
Primarily this means process definitions - this is a key part of a "process
server" or platform. Other items may include service contracts, WSDL etc.
Well, thats enough for 2010, but hey, gotta be ambitious. I also know from
past experience that things change, all the time, lots, so take all this with
a grain of salt.