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
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.
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
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
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.