[jboss-svn-commits] JBL Code SVN: r19223 - labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 25 02:30:57 EDT 2008


Author: irooskov at redhat.com
Date: 2008-03-25 02:30:57 -0400 (Tue, 25 Mar 2008)
New Revision: 19223

Modified:
   labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml
   labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml
Log:
began editing the reference guide


Modified: labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml
===================================================================
--- labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml	2008-03-25 00:35:56 UTC (rev 19222)
+++ labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-What_is_a_Rule_Engine.xml	2008-03-25 06:30:57 UTC (rev 19223)
@@ -12,47 +12,46 @@
     such as Neural Networks, Genetic Algorithms, Decision Trees, Frame Systems
     and Expert Systems. Knowledge representation is the area of A.I. concerned
     with how knowledge is represented and manipulated. Expert Systems use
-    Knowledge representation to facilitate the codification of knowledge into
-    a knowledge base which can be used for reasoning - i.e. we can process
-    data with this knowledge base to infer conclusions. Expert Systems are
+    knowledge representation to facilitate the codification of knowledge into
+    a knowledge base which can be used for reasoning; for instance data can be processed with this knowledge base to infer conclusions. Expert Systems are
     also known as Knowledge-based Systems and Knowledge-based Expert Systems
     and are considered 'applied artificial intelligence'. The process of
     developing with an Expert System is Knowledge Engineering. EMYCIN was one
-    of the first "shells" for an Expert System, which was created from the
-    MYCIN medical diagnosis Expert System. Where-as early Expert Systems had
-    their logic hard coded, "shells" separated the logic from the system,
+    of the first <emphasis>shells</emphasis> for an Expert System, which was created from the
+    MYCIN medical diagnosis Expert System. Whereas early Expert Systems had
+    their logic hard coded, <emphasis>shells</emphasis> separated the logic from the system,
     providing an easy to use environment for user input. Drools is a Rule
     Engine that uses the Rule Based approached to implement an Expert System
     and is more correctly classified as a Production Rule System.</para>
 
-    <para>The term "Production Rule" originates from formal grammar - where it
-    is described as "an abstract structure that describes a formal language
+    <para>The term <firstterm>Production Rule</firstterm> originates from formal grammar, where it
+    is described as <citation>an abstract structure that describes a formal language
     precisely, i.e., a set of rules that mathematically delineates a (usually
-    infinite) set of finite-length strings over a (usually finite) alphabet"
+    infinite) set of finite-length strings over a (usually finite) alphabet</citation>
     (<ulink
-    url="http://en.wikipedia.org/wiki/Formal_grammar">wikipedia</ulink>).</para>
+    url="http://en.wikipedia.org/wiki/Formal_grammar">Wikipedia</ulink>).</para>
 
-    <para>Business Rule Management Systems build additional value on top of a
-    general purpose Rule Engines by providing, business user focused, systems
+    <para>Business Rule Management Systems (BRMS) build additional value on top of a
+    general purpose Rule Engines by providing, business user focused systems
     for rule creation, management, deployment, collaboration, analysis and end
     user tools. Further adding to this value is the fast evolving and popular
-    methodology "Business Rules Approach", which is helping to formalize the
+    methodology <emphasis>Business Rules Approach</emphasis>, which is helping to formalize the
     role of Rule Engines in the enterprise.</para>
 
     <para>The term Rule Engine is quite ambiguous in that it can be any system
     that uses rules, in any form, that can be applied to data to produce
     outcomes; which includes simple systems like form validation and dynamic
-    expression engines. The book "How to Build a Business Rules Engine (2004)"
+    expression engines. The book <citetitle>How to Build a Business Rules Engine (2004)</citetitle>
     by Malcolm Chisholm exemplifies this ambiguity. The book is actually about
     how to build and alter a database schema to hold validation rules. The
     book then shows how to generate VB code from those validation rules to
-    validate data entry - while a very valid and useful topic for some, it
+    validate data entry and while a very valid and useful topic for some, it
     caused quite a surprise to this author, unaware at the time in the
     subtleties of Rules Engines differences, who was hoping to find some
     hidden secrets to help improve the Drools engine. JBoss jBPM uses
     expressions and delegates in its Decision nodes; which control the
-    transitions in a Workflow. At each node it evaluates there is a rule set that
-    dictates the transition to undertake - this is also a Rule Engine. While a
+    transitions in a Workflow. At each node it evaluates the rule set that
+    dictates the transition to undertake; this is also a Rule Engine. While a
     Production Rule System is a kind of Rule Engine and also an Expert System,
     the validation and expression evaluation Rule Engines mentioned previously
     are not Expert Systems.</para>
@@ -66,10 +65,12 @@
     conclusions which result in actions. A Production Rule is a two-part
     structure using First Order Logic for knowledge representation.</para>
 
-    <programlisting>when
+<screen>
+when
     &lt;conditions&gt;
 then
-    &lt;actions&gt;</programlisting>
+    &lt;actions&gt;
+</screen>
 
     <para>The process of matching the new or existing facts against Production
     Rules is called <indexterm>
@@ -110,7 +111,7 @@
     marketing where, unlike the original published Rete Algorithm, no details
     of the implementation are published. This makes questions such as "Does
     Drools implement Rete III?" nonsensical. The most common enhancements are
-    covered in "Production Matching for Large Learning Systems (Rete/UL)"
+    covered in <citetitle>Production Matching for Large Learning Systems (Rete/UL)</citetitle>
     (1995) by Robert B. Doorenbos.</para>
 
     <para>The Rules are stored in the <indexterm>
@@ -139,11 +140,11 @@
     enforce truthfulness - called Truth Maintenance. A logical relationship can
     be declared by actions which means the action's state depends on the
     inference remaining true; when it is no longer true the logical dependent
-    action is undone. The "Honest Politician" is an example of Truth
+    action is undone. The <emphasis>Honest Politician</emphasis> is an example of Truth
     Maintenance, which always ensures that hope can only exist for a
     democracy while we have honest politicians.</para>
 
-    <programlisting>
+<screen>
 when
     an honest Politician exists
 then
@@ -158,17 +159,17 @@
    Hope does not exist
 then
    print "Democracy is Doomed" 
-</programlisting>
+</screen>
 
     <para>There are two methods of execution for a Production Rule Systems -
     Forward Chaining and Backward Chaining; systems that implement both are
     called Hybrid Production Rule Systems. Understanding these two modes of
     operation are key to understanding why a Production Rule System is
     different and how to get the best from them. Forward chaining is
-    'data-driven' and thus reactionary - facts are asserted into the working
+    <emphasis>data-driven</emphasis> and thus reactionary. Facts are asserted into the working
     memory which results in one or more rules being concurrently true and
-    scheduled for execution by the Agenda - we start with a fact, it
-    propagates and we end in a conclusion. Drools is a forward chaining
+    scheduled for execution by the Agenda. Starting with a fact, it
+    propagates and ends in a conclusion. Drools is a forward chaining
     engine.</para>
 
     <figure>
@@ -182,13 +183,12 @@
       </mediaobject>
     </figure>
 
-    <para>Backward chaining is 'goal-driven', meaning that we start with a
-    conclusion which the engine tries to satisfy. If it can't it then searches
-    for conclusions that it can, known as 'sub goals', that will help satisfy
-    some unknown part of the current goal - it continues this process until
+    <para>Backward chaining is <emphasis>goal-driven</emphasis>, meaning that the engine starts with a
+    conclusion that is tried to be satisfied. If it cannot be, then the engine searches
+    for conclusions that it can, known as <emphasis>sub goals</emphasis>, that will help satisfy
+    some unknown part of the current goal. This process is continued until
     either the initial conclusion is proven or there are no more sub goals.
-    Prolog is an example of a Backward Chaining engine; Drools will be adding
-    support for Backward Chaining in its next major release.</para>
+    Drools will be adding support for Backward Chaining in its next major release.</para>
 
     <figure>
       <title>Backward Chaining</title>

Modified: labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml
===================================================================
--- labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml	2008-03-25 00:35:56 UTC (rev 19222)
+++ labs/jbossrules/branches/irooskov_docs/drools-docs/drools-docs-referenceguide/en/Chapter-Rule_Engine/Section-Why_use_a_Rule_Engine.xml	2008-03-25 06:30:57 UTC (rev 19223)
@@ -2,7 +2,7 @@
 <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 ]>
 <section>
-  <title>Why use a Rule Engine?</title>
+  <title>Why to use a Rule Engine</title>
 
   <para>Some frequently asked questions:</para>
 
@@ -24,7 +24,7 @@
     </listitem>
   </orderedlist>
 
-  <para>We will attempt to address these questions below.</para>
+  <para>These questions are addressed below.</para>
 
   <section>
     <title>Advantages of a Rule Engine</title>




More information about the jboss-svn-commits mailing list