Business Rules Technology and Rule-Based Systems

"Inference Engines for Everyone"

Aut inveniam
viam aut faciam
Home News About This Site All Pages All Tags Wiki


A Short History of Rule Based Systems

Rule-based systems started out as toy systems in the 1980s, became prototypes of business systems in the 1990s and then, after great struggle, the foundation of large-scale transaction processing applications over the next decade It took close to 20 years.

  • Lack of Consistent Business Focus - a lack of a consistent business focus and rigorous methodology.
  • Poor Performance - they could run very very slowly on pre-Pentium and early-Pentium computers.
  • High Complexity - a more fundamental reason, was the sheer complexity of building and maintaining a large rule-based system. A rule base of three or four thousand rules required a massive, highly-trained staff to maintain, a hundred people or more in the case of the Digital Equipment product configurator, XCON.
  • High Cost of Entry - early implementations of rule based systems became too tied down with a particular technology. The cost of entry into a new computer language environment ( such has LISP or Scheme ) was very high. The alternative was to use a commercial "expert system" packages, in a time when standards for exchange of rule-base information were non-existent.
  • Lack of Standards - the company was locked into proprietary technology and packages, often within a workstation-only technical infrastructure . This situation was not unique to rule based systems - there were no standards for metadata interchange between data modeling and CASE tools until the 1990s.
  • Islands of Automation - after succeeding in overcoming the barriers listed above, the "expert system" was often doomed to remain an island of automation in the corporate firmament.

In short, the entire approach was too demanding, too technical and too 'computery' for practical use in business situations.

Why the Business Rules Approach Succeeded

The business rules approach succeeded in changing the focus from knowledge-intensive business processes, such as product configuration, to enterprise-level business rules, effectively rising above the parochialism of early implementations. In fact, business rules technology grew in tandem with CASE and modeling tools extended for modeling business rules. The UML modeling standard and Rational Rose modeling tools are prime examples.

Why Business Rules May Not Be As Useful for the Semantic Web

But, the types of situations which will be encountered in the building of a semantic web may not be as well-defined as those encountered in business processes. The shadow of incomplete, inconsistent and outright unreliable information looms on every corner of Web. How can a set of well-defined rules deal with ill-defined information ?

New Definitions ?

Can new definitions for rules, rule base and rule engine be found which will be sufficiently precise to meet the level of exactitude demanded by computer applications and still be fuzzy enough to capture all the nuances of inexact reasoning ? I think the answer is, maybe.

Returning to an Older Definition

In fact, by lumping inexact reasoning in our definition, we are returning to an earlier, more inclusive definition of rule based systems as describing how people tend to reason in different situations, probably more similar to 'cognitive science' as currently defined. For example, an expanded definition would include the tricky subjects of truth maintenance and belief revision, subject well outside the realm of business rules or classical expert systems.

It's About Reasoning, Not About Computers

This entire section contains very few mentions of computers or discussions about about computer implementations or, even worse, about the 'best' computer languages. The following sections are far more concerned with the subject of how people reason about the world and things in the world than it is about computers. I think that 'reasoning' is the proper level of inquiry for 'rule based systems', rather than focusing too much on the technical considerations which too often come to dominate and obscure the underlying issue of how people do what they do when solving common problems.

A Broader Definition of Rules and Inexact Reasoning

The definition of 'rule' can be extended beyond sense of 'exact reasoning' implicit in the business rules definition of the word. A 'rule' in the larger sense could be more than an exact expression of business logic, it could also be a expression of inexact reasoning, such as is a judgment about taking an umbrella along or leaving it behind. Potentially, the decision could include inexact criteria, such as the decision whether to bring along an umbrella for a morning walk on a misty fog-shrouded beach. Of course, the correct answer is "no", for me anyway.

Associations and Associative Networks as Rules

A broader definition of 'rule' can extend well beyond the narrow sense of deductive systems encountered in rule-based "expert" systems and their kin. This broader definition of rules and rule-based technology includes inexact reasoning based on associations inferred between the subjects of a rule. Inference by association uses the inductive and abductive modes of inference and a different set of inference engines, such as associative networks, fuzzy logic, 'case-based reasoning' or any other inferential tools that work by association rather than deductive logic.

Knowledge Based Systems and Knowledge Technology

In this context, the definition of 'rule based systems' is similar to 'knowledge based systems', if more focused on logic inference and less abstract in its application than KBS. In fact, the Wikipedia may have a better name for it than either 'knowledge based systems' or a 'rule based systems', that is knowledge technology.

Knowledge technology is one [ concept ] that adds a layer of intelligence to information technology, to filter appropriate information and deliver it when it is needed.

The term knowledge technologies refers to a fuzzy set of tools including languages and software enabling better representation, organization and exchange of information and knowledge ...

Among knowledge technologies are ontologies, topic maps, blogs, groupware, document management, expertise locators, latent semantic analysis, semantic networks, social networking engines, and wikis.

This sounds very close to the 'broader' definition outlined above.

More Definitions ...

Four Components of a Simple Rule Based System

The technical foundations of rule based systems rest based largely on "object" and "expert systems" technology developed in the late 1980 and early 90s. It is a very big and complex topic, among several dozen major subjects, such as monitoring, planning and diagnostic systems, natural language analysis, machine learning, etc.

Below are four subject areas of rule-based system which seem to be 1 ) powerful enough to support a simple 'web rules' methodology and toolset and 2 ) simple enough for someone who has life interests outside of computer programming to manage small sets of 'web rules' within a semantic or 'knowledge' web ( whatever those ill-defined terms may turn out to mean in the future ).

1 - Logical Inference - Deductive, Inductive and Abductive inference.

2 - Conceptual Modeling - Qualitative and Commonsense Reasoning, Analytic Frameworks and Design Patterns.

3 - Rule Base Design and Management - Classifying Rules, Rule Structure, Managing Rules.

4 - Workflow Modeling - Special issues for rule based systems concerning surrounding workflows and temporal logic.

About the Four Subject Areas

Each of the four subjects is worthy of many articles and FAQ sheets.

Just Enough Detail

The objective is to cover each area in just enough detail to give the reader a sense of how the tools might be used to perform practical, knowledge-intensive tasks and at the same time avoid excessive complexity in the subject matter.

Irreducible Complexity

However, the subject of 'logical inference' seems to posses a core of irreducible, even irrepressible complexity. Even when it looks simple on the surface, there will be important details that will give the person using inference tools pause for deeper consideration and second thoughts.

The source of the difficulty seems to be in how we use language in a natural, everyday context. Mapping everyday language into the confines of a conceptual framework is bound to be a complex topic in the best of "well-defined" circumstances, but in an inherently inexact situation, the result can only be more complex and more likely to be erroneous.

The Fuzziness of Natural Language and Its Perils

The same problem of fuzzy language is encountered in the subject of workflows, maybe more critically than in area logical inference since workflows are actually doing things and consequently have the capability to do things wrong in a potentially disastrous and costly way.

Principles versus Pragmatics

So, obviously there must be a continuous balancing act between principles and pragmatics to achieve a workable, "adequately-defined" solution to the problems raised by inexact reasoning.


Tags:   Rule   Based   Systems

Other BBcom-related sites - Quick Links




A  Dial-Up Friendly Site  

We Do SVGA ( mostly )

Hisssss ...