Today, I came upon some commentary by a business rule colleague, Carlos Serranos-Morales, of Fair Isaac concerning a presentation I made at the Business Rules Forum. During the presentation I showed some sentences that are beyond the current state of the art in the business rules industry. Generally speaking, these were logical statements that did not use the word “if”. (Note, however, that many of the them could be expressed in SBVR, OMG’s semantics of business vocabulary and rules standard). Carlos argued that such statements should be more precisely articulated within the specific context of a business process.
Here is the slide that triggered the controversy:
The point of this slide was to show how the current “state of the art” in business rules forces users away from managing knowledge and into coding with “if-then” structure. Carlos argued in favor of situating knowledge in what he characterized as “the higher level business process”. I maintain that software should be able to figure out where knowledge is relevant and put it there in the proper manner. That is, the various “if-then” statements that can be derived from a more natural and expressive logical statement should be derived by machine. Otherwise, the sales pitch that BRMS are accessible and usable by non-technical people is not only wrong, but potentially misleading. That is, I think that knowledge is higher-level than flow-charts, although Carlos sees things in the other order. Neither one of us denies the other, but I am comfortable that the higher ambition is to empower non-programmers with knowledge management that drives automation rather than to provide automation that limits the codification of knowledge to technical personnel.
Carlos presented 4 bullet points in his post. I think these were triggered by the following slide:
The last of these bullets relates to comments above and the first few to the perception that BPM is more important than CEP. Overal, these are addressing the ignorance of most decision making applications of rules with regard to the current event or state of a business process in which the are embedded. It is clear that Carlos and I are in agreement that this is an important architectural aspect of succeeding with the three technologies.
I agree with Carlos’ first two bullets concerning the need for events and state of processes to be accessible to logical and policy-based knowledge. His third bullet, however, exposes one of the deep challenges facing convergence of business rules, processes, and events. In this bullet Carlos implies that rules are for decision management only. He misses that knowledge, which is higher level than rules, may define or govern the process itself. I would like to emphasize here, however, that we agree on the need for a representation of events, state, and processes to be shared across the event, process, rule technology stack.
Unfortunately, Carlos reiterates the Fair Isaac mantra that events are not core to process or the stack, citing colleague Carole-Ann Matignon, but are peripheral to rules for decisions in the hands of knowledge workers and BPM “tools” in whoever’s hands.
This is a problem with the BRMS and BPM industries as a whole and one that I hope Progress, if not TIBCO, drive home commercially this year. Carlos says, in line with his other thinking, that “a process is not an event”. This is consistent because if processes are events then Fair Isaac’s position would be inconsistent and untenable.
As he wrapped up, Carlos said “and, definitely, processes are not events”, presumably in response to this slide:
Here is my take on the title of Carlos’ post: Events and semantics.
An event is something that happens. The big bang was an event. The civil war was an event. The swearing in of President Obama was an event. The beginning of this day was an event. Does anyone disagree at this point?
OK, if you didn’t disagree… Is the occurrence of a war is an event? Is the swearing in of a president an event? Is the beginning of the occurrence of something an event? The answer is yes, of course!
Is war a process? Is swearing in a process? Yes. Is the beginning of an occurrence a process? Well, it depends if you are referring to the instant of time at which something begins or the process by which it begins. If you are referring to an instant of time, as in the start of something (rather than its starting), then you are referring to an event but not a process. That is, processes take some time.
In fact, processes are events that take time. If it helps, you can always throw the word “occurrence” in front of “process” to distinguish the instances of processes from their types, as in the distinctions between abstractions and realities, concepts or classes or sets and instances or members.
But the fact remains, processes are events.