Going on 5 years ago, I wrote part 1. Now, finally, it’s time for the rest of the story.
This is not all that simple of an article, but it walks you through, from start to finish, how we get from English to logic. In particular, it shows how English sentences can be directly translated into formal logic for use with in automated reasoning with theorem provers, logic programs as simple as Prolog, and even into production rule systems.
There is a section in the middle that is a bit technical about the relationship between full logic and more limited systems (e.g., Prolog or production rule systems). You don’t have to appreciate the details, but we include them to avoid the impression of hand-waving
The examples here are trivial. You can find many and more complex examples throughout Automata’s web site.
Consider the sentence, “A cell has a nucleus.”:
Here is a graphic on how various reasoning technologies fit the practical requirements for reasoning discussed below:
This proved surprisingly controversial during correspondence with colleagues from the Vulcan work on SILK and its evolution at http://www.coherentknowledge.com.
The requirements that motivated this were the following: Continue reading “Requirements for Logical Reasoning”
If you are using one of the more popular rules engines, chances are you can blame me. I popularized the technology of forward-chaining production rules based on the Rete Algorithm. Others have certainly contributed; my path is the one that led to open-source implementations and many commercial products, including those of IBM, Oracle, SAP, TIBCO, Red Hat, and too many others to mention (e.g., see this).
Today, I want to make clear that the future prospects for production rule technology are diminishing. My objective here is to explain why most rule-based technologies are no good and why some are much better. Although production rule technology is much better than most rule-based technologies, I hope to also make clear that in the age of IBM’s Watson, Google’s Brain, and the semantic web, production rule technology is inadequate.
They are not created equal.
Rules have become so pervasive in the software business that vendors of all types of software say they have them. Consider, for example, that even Microsoft Outlook has rules!
I received notice of a Victorian government position offering $106k, as follows, today:
BRMS Developer (WebSphere ILOG JRules)
You will have proven experience as a BRMS Developer within a Java/JEE environment using IBM‘s WebSphere ILOG JRules platform. You will have implementation experience using integration technologies (e.g. Web Services, JMS) and have the ability to liaise with and engage key stakeholders. Ideally you will also have knowledge and/or exposure to IBM‘s WebSphere integration suite (including the MQ Series).
This got a reaction out of me since we’re looking for people (although emphasizing logic, semantics, and English rather than any particular engine). At first, I thought it must be a Java job, but stakeholder engagement indicates this is a full-fledged knowledge engineering position.
$100k for anyone with strong, specific experience seems low. For someone that can understand objectives and translate requirements into operational business logic, it seems lower.
I’m surprised there isn’t more of an Ilog premium, too. JBoss Drools consultants can make more than this.
The slides for my keynote at RuleFest 2011 are here.
Excellent presentations on complex event processing by Paul Vincent of TIBCO and Mauricio Salatano who showed simple, effective integration of events and rules using Drools. Mauricio’s was a good demo and Paul’s slides are worth perusing once they go on-line. (Some comments from Carlos about Paul’s, Mauricio’s, and my presentations are here, here and here, FYI.)
Christian St. Marie and Hugues Citeau each of Ilog (IBM) on improving RIF support in JRules and the worthy ONTORULE project, respectively. Both presentations confirm the gulf between production rules and sufficient logical expressiveness to support natural language or natural logic knowledge management, but IBM is clearly aware of and trying to address the challenges raised in my presentation.
If you are considering the use of any of the following business rules management systems (BRMS):
- IBM Ilog JRules
- Red Hat JBoss Rules
- Fair Isaac Blaze Advisor
- Oracle Policy Automation (i.e., Haley in Siebel, PeopleSoft, etc.)
- Oracle Business Rules (i.e., a derivative of JESS in Fusion)
you can learn a lot by carefully examining this video on decisions using scoring in Ilog. (The video is also worth considering with respect to Corticon since it authors and renders conditions, actions, and if-then rules within a table format.)
This article is a detailed walk through that stands completely independently of the video (I recommend skipping the first 50 seconds and watching for 3 minutes or so). You will find detailed commentary and insights here, sometimes fairly critical but in places complimentary. JRules is a mature and successful product. (This is not to say to a CIO that it is an appropriate or low risk alternative, however. I would hold on that assessment pending an understanding of strategy.)
The video starts by creating a decision table using this dialog:
Note that the decision reached by the resulting table is labeled but not defined, nor is the information needed to consult the table specified. As it turns out, this table will take an action rather than make a decision. As we will see it will “set the score of result to a number”. As we will also see, it references an application. Given an application, it follows references to related concepts, such as borrowers (which it errantly considers synonomous with applicants), concerning which it further pursues employment information.
On the heels of IBM’s acquisition of Lombardi comes Progress Software’s acquisition of Savvion. The salient similarities are that IBM is adding BPM applications to its middleware stack as is Progress, at least with regard to its enterprise service bus offerings. More interesting is the relationship between Progress’ complex event processing software and Savvion’s BPM. Also of note is the vendor-provided integration of JBOSS Rules within Savvion versus the unrealized potential of IBM’s Ilog with respect to Lombardi.
We’ve written several times about the artificial distinction between CEP and BPM, their inevitable convergence, and the immature integration of business rules with business process management and event processing that inhibits knowledge-driven governance and decisioning. Continue reading “Rule and event-driven business process M&A”
Externalizing enterprise decision management using service-oriented architecture orchestrated by business process management makes increases agility and allows continuous performance improvement, but…
How do you implement the rules of EDM in an SOA decision service? Continue reading “Agile decision services without XML details”
The ART syntax lives on in yet another product!
JBOSS Rules (formerly Drools) just described its imminent support for rules expressed in the CLIPS syntax here.
NASA derived CLIPS from the syntax of Inference Corporation’s Automated Reasoning Tool (ART) in the mid-80s. I designed and implemented the ART syntax with Chuck Williams on a team with Brad Allen and Mark Wright.
CLIPS didn’t have many of the features of ART (including an ATMS or backward chaining, for example), but it Continue reading “Haley / ART syntax lives on in open-source Java rules”