It has been ten years to the day since John E. Laird and Michael van Lent published their paper “Human-level AI’s Killer Application: Interactive Computer Games”. In ten years, what has and hasn’t changed?
Are you interested in helping to shape Microsoft’s future rules products?
Microsoft is running a survey on rule engines in general, and its own rule products (WF Rules, MS BRE) in particular through the end of this week – June 4. (I would have blogged it yesterday, but was off due to holiday.)
The survey should take approximately 5 minutes to complete. If you have used the WF Rules product, you will get a few additional questions about your usage of the features. If you only use non-Microsoft rule engines, your participation is welcome as well.
Your input is appreciated.
I am often asked to describe the rule engines that Microsoft ships. (The first question being: “Microsoft has rule engines?”) This question frequently comes from folks who know rules, but don’t know .NET. This post is specifically written to answer the question. Should the offerings change in the future, I will update this post as needed.
As always, this is not an official Microsoft statement. Questions about the future directions for these products should be directed to Microsoft.
As of this writing, Microsoft is currently shipping two rule engines. They are aimed at somewhat different audiences as described below.
The first rule engine is called the Microsoft Business Rule Engine (sometimes called “MS BRE” or “BRE”) and it has shipped as part of BizTalk Server since early 2004. BRE has shipped in BizTalk Server 2004, BizTalk Server 2006, BizTalk Server 2006 R2, BizTalk Server 2009 and I’m sure it will be included in the upcoming BizTalk Server 2009 R2.
The second rule engine is part of Windows Workflow Foundation in .NET, it is the Windows Workflow Foundation Rules Engine (sometimes called “Workflow Rules” or “WF Rules”). The WF rule engine originally shipped in late 2006 as part of .NET 3.0. It was also included in .NET 3.5 and .NET 4.0. If you are running Windows 7, Windows Server 2008 R2, Windows Server 2008, or Windows Vista or have installed .NET 3.0 or higher – you already have the WF rule engine on your computer. Update: I have an additional post specifically about rules in WF4.
Comparing MS BRE & WF Rules
Here are some comparisons of these engines written by other folks. Charles Young has written extensively on this topic.
- Charles Young – Comparing WF rules and the Microsoft Business Rule Engine
- Charles Young – BizTalk Server or WF for rules and tracking?
- Charles Young – WF Rules and MS BRE – Comparing Performance
- Stephen Kaufman’s comparison that was presented to the Twin Cities BizTalk User Group. (In my opinion, the agenda terminology in this presentation could be a little more crisp. In addition, the “Types vs Instances” section should mention the fact that the single-rooted structure can also be used in BRE.)
A Short Summary Of Differences For Those Who Know Rules
If you asked me to summarize differences for a rules specialist, my comments would be along the following lines:
- MS BRE is part of a BizTalk Server, which is a business-oriented server package, while WF Rules is part of the free .NET Framework which is more developer-oriented. (MS BRE may be used standalone outside of BizTalk, but is only licensed with BizTalk.) Both engines provide forward chaining execution. WF Rules also provides the option for sequential execution.
- MS BRE rules are typically authored in the Rules Composer, while WF Rules are typically authored in Visual Studio. There are partners that provide a more BRMS-like authoring environment. MS BRE has features such as vocabularies and a respository, and is therefore closer to what Gartner defines as a BRMS.
- MS BRE implements the Rete algorithm, while WF Rules does not. MS BRE uses eager evaluation, while WF Rules uses lazy evaluation. The performance profiles are accordingly different – WF “first hit” execution being faster, for example.
- WF does not have assert/retract keywords or a Working Memory, while MS BRE does – so WF Rules requires all objects to be reachable from a common root object (this). (In WF Rules, support for multiple instances is achieved through forward chaining.) WF Rules supports “Else”, while MS BRE does not. MS BRE has some known restrictions around negation-as-failure. MS BRE has special handling for XML and DB fact types.
I would be remiss if I did not mention some Microsoft offerings that apply to related areas:
- Microsoft Solver Foundation – a constraint-solving framework
- Microsoft StreamInsight – a Complex Event Processing engine
- Reactive Framework (Rx) – adds operators such as ForkJoin to .NET
Lastly, I should also point out that the Mono Project is reimplementing Windows Workflow Foundation – including WF Rules.
Cheers to James Owen for his stewardship of the October Rules Fest for 2008 and 2009. I was only able to attend a small portion of the 2009 conference, but those portions were quite good. The sign of a healthy conference is one where attendees return as presenters and this year had a few such presentations (Andrew! David!). It was great to see everyone again, but I missed a few folks who were unable to return.
I think my previously posted comments from last year are largely still applicable:
Since James is now returning to working for a vendor, October Rules Fest will now be organized by Jason Morris. The conference is in good hands – Jason is an excellent choice. Make your wishes for ORF 2010 known now.
Certainly, if you’ve been around the rule space long enough, you will be familiar with such terms as “knowledge engineering” and “knowledge capture”.
Robert X. Cringely’s latest column is (somewhat) about a knowledge capture platform. Nestled in among the usual rant about IBM and outsourcing (and I say that as a fan), is a link to an IBM patent for a “Platform for Capturing Knowledge”.
I haven’t read the patent myself, only Cringely’s commentary. But it seems the end result is not an expert system, but a video game for training experts. That’s an interesting aspect, although I’m not sure what the patent has that is unique. I seem to recall seeing plenty of prior art in this area years ago, especially in terms of expert systems for training medical personnel.
I don’t have time to spend digging up prior art right now, but I bet a number of readers have seen some as well.
Gary Riley’s comment here on November 6 alerted me to a book that I didn’t have: The Engineering of Knowledge-Based Systems: Theory and Practice by Avelino J. Gonzalez and Douglas D. Dankel. So, I went to Amazon to track it down. The book is out of print, so I purchased a used copy.
When my copy arrived a little while ago, I quickly noticed that the owner’s name written inside the cover was that of John Durkin, the noted author of Expert Systems: Design and Development. I spotted it quickly since at a previous employer this book (along with Gary Riley’s book) was used in both internal and external training.
Clearing out some of the backlog of drafts, it seems I have one more post on this topic to wrap up…
Here are some thoughts on content for future October Rules Fest gatherings. This is, of course, highly subjective.
In general, I think James Owen shouldn’t have to bear the burden of organizing all the content. I think there should be a small panel of folks to solicit, select and approve the content. In addition, I think there should be plenty of lead time and slides should have to be presented in advance. Better yet, let’s have real papers rather than just PPT slides.
As my friend Larry says “it’s still the wild west”. The spectrum of talks that can be given is still very wide. Here are some topics I would like to see included.
I may be in the minority, but I would prefer something a little more structured than the October Rules Fest 2008 call for suggestions.
If I was authoring a feedback form for the conference, I would solicit feedback for a number of key areas. I will outline some of those areas below. This is obviously not a finished feedback form. Some of these are free-form-answer questions and some should be multiple choice. That said, if you attended and are planning to provide feedback to the organizers, consider addressing some of these areas in your comments.