The panel includes: Dr. Charles Forgy (CF), Mark Proctor (MP), Gary Riley (GR), Carolos Seranno-Morales (CSM), Carole Anne Matignon (CAM), Dr. Jacob Fieldman (JF), Dr. Rick Hicks (RH), Paul Vincent (PV) and Jason Morris (JM).
I will do my best to log the “gist” of what was discussed by each person in turn. This will be a LONG post… I realize that blogging a session like that (of that length and technicality) is difficult (hey, it was my first) so this might not be the best post ever…
The question: What is needed in the rules based system now and in the future?
MP: He likes to bounce ideas off of other experts to see what others are thinking about. He is talking about features that can be implemented in the next couple.
RH: The difficulty of building these systems and to maintaining them over time. That is why he is focusing on building rules and verifications.
PV: Would not want to drive any car that HE designed. 🙂 But feels that you can offload SOME of the work to end users.
CSM: Decouple the work that a software developer would do from the decisions. Should not expect BAs to understand the underlying technology, but to understand the business logic. The BAs don’t think about syntax. You can create templates by pairing BAs with Experts and then have a bit more control on what the BAs can do.
JM: The challenge is to bridge the gap between the techies and the BAs.
CAM: It is a challenge, but the fact that you can decouple the decisions from the technical stuff is a good thing. BAs take time to get used to being able to change things in production. As they get more familiar and start to take ownership you can expose them to more and more capabilities.
JF: Making things easy for BAs is important. For example a questionnaire for insurance could theoretically require thousands of questions, but you can’t ask customer to answer that many questions. He want to generate rules based on historical data to improve decisions.
CAM: Business worry about generated rules because they have to worry about compliance with regulations.
CSM: Trying to learn from data. 99% of what you will learn we already know. Your data will reflect the trends of today, but things are going to change. Automatically generated rules can be useful but you need to know when to stop using them.
PV: What is needed. It is an interesting indicator to see a UML vendor sponsoring a rules conference. It shows an interesting trend that rules are being recognized as an important component of software development.
CAM: We need a standard for business rules and it would help for the adoption of the technology. We need to collaborate on this to bring it to the next level. it is a slow and long process.
PV: Can we devise higher level models for things like decisions such a PRR. There are challenges. Event the Rule Interchange Format from the W3C.
CY: The PRR guys are getting it right. The problem of W3C seems to be believing that a complex approach for rule exchange.
CM: A rule standard for modeling of rules is an oxymoron because you want your business users to change rules, not go back to a model.
CY: Excellent point. The question is more where are these standards actually going to be useful in practice?
JF: Let people express relationships and rules. Don’t try to impose something. Can we build a system that doesn’t use objects.
PV: Is anyone in the audience interested in using Rule Standards for modeling or interchange?
Audience (Rolando Hernandez): Question for CAM. Users don’t necessarily want to change rules directly. Where is your model of the rules.
CAM: Although you can change a rule on the fly it doesn’t mean you have to. You need to go through a process before a change goes to production. The technology allows you to do that.
CSM: The changes that the business is going to make is made in an environment that is safe and designed for that with governance and management.
Audience (Adam Mollenkopf): (Sorry Adam, I missed your questions…)
PV: No issues from customers about having multiple rule engines as part of a solution.
Audience (David Holz): Do you think there is a distinction between what programmers are looking for in a rule engine and what the business capabilities want out of a rule engine?
GR: Finds that on the surface it may look like the tools have not evolved all that much (Text editor and Clips to debug). Tools seem to be going more to the business users. Each rule is now an item and it is understandable from a versioning point of view, but it creates a separation between the rules where we could see them as a whole before. Definitely 2 audiences.
PV: “Eat you own dog food”. You need to use your own tools to make things work. As a side note there is a text mode in Tibco
CF: I second GR’s statement. A fancy GUI is unpleasant to use.
JM: I “third” that. There are 2 distinct purposes.
CSM: Definitely 2 points of view. But if you want to give control to the business then you need to have the business view. The business views ease communication with the developers since you can have a common point of reference. No translation.
(conversation between JM and CSM edited for shortness… The post will be long enough as it is…)
CAM: Your pointing out the different between the BRE and the BRMS. One is focused on the algorithms, the other is focused on the Governance and Management piece.
Audience: IBM was apparently disappointed to learn that most implementations are not using Inference. Is the cause a lack of evangelisation?
PV: Tibco has observed something similar in the CEP world.
CAM: Execution and Management separation again. Inference engines are not necessarily the best way to resolve problems. The key value is to allow Business Users to manage millions of rules. Give the power to the users, empower them.
CF: There is a very active research projects to implement rules in DB so the DB world does recognize the fact that triggers are too limited.
CSM: Not surprised by the IBM numbers.
Audience (Thomas Cooper): Experts can draw on their experience and what they know and can resolve problems that they have never seen. Do you think we can get to that point of recognizing patterns.
CAM: Predictive modeling are very good at finding patterns in data. So a combination of technologies will be required to fit the needs of the business.
CSM: When you want to adapt, you realize that you are not “coping” as well as before. The difficulty is to detect patterns from what has happened before. The industry is providing a solution to the piece of the puzzle. We will need to close the loop in the offering.
JF: (Goes to the whiteboard and draws a picture and explains). Wants to have a way to mark each decisions as a good decision or bad decision, and then can we use that information to help making new decisions.
JM: If you are familiar with case based reasoning. Looking at previous cases. In almost all situations it requires human interaction. What if you plugged in a rule engine instead of human interaction and it resembles the diagram that JF drew on the board.
Audience: It exist in a product from Mindbox.
[Some of this conversation was very technical and they spoke quickly and I was unable to write all of it…]
MP: Semantics are the same between products. Each engine uses a similar algorithm for conflict resolution for execution control. Drools added ruleflow groups, agenda groups. etc. Rule execution groups could be another way of doing this.
CF: Doing it in the engine is probably more efficient. But doing it in the data is also interesting. Having the engine look at Data about the application and Data about the flow. Some think that a weakness, but I think otherwise.
CF: In the 70’s we used a special kind of fact called a Control Fact. First condition is the control condition. All you need is the Control Facts. You don’t need ruleflow.
MP: I’m trying to get to a common terminology. “Syntactic sugar” to let users do this declaratively. There is a disconnect in terminology. Simplify things to create Design Patterns with common vocabulary.
CF: (talking about the technical implementation) It’s not difficult, you just do it.
[Long technical conversations completely edited out…]
CY: How do we make our systems smarter. How to better compose all of this stuff (he referred to a lot of technologies) together? I think there a ways of doing it but can’t talk about it.
CAM: There is definitely a need for these different technologies to collaborate (not just work side by side). These kinds of collaborations will be required in the next 10 years.
[I stopped taking notes after that]