Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 2. Key Terminology
2.1. The Basics Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
2.1.1. JBoss Rules Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
JBoss Rules is the name of the business rule engine provided as part of the JBoss Enterprise SOA Platform product.
2.1.2. The JBoss Rules Engine Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
The JBoss Rules engine is the computer program that applies rules and delivers Knowledge Representation and Reasoning (KRR) functionality to the developer.
2.1.3. Expert Systems Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Expert systems are often used to refer to production rules systems or Prolog-like systems. Although acceptable, this comparison is technically incorrect as these are frameworks to build expert systems with, rather than expert systems themselves. An expert system develops once there is a model demonstrating the nature of the expert system itself; that is, a domain encompassing the aspects of an expert system which includes facilities for knowledge acquisition and explanation. Mycin is the most famous expert system.
2.1.4. Production Rules Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
A production rule is a two-part structure that uses first order logic to represent knowledge. It takes the following form:
when
<conditions>
then
<actions>
2.1.5. The Inference Engine Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
The inference engine is the part of the JBoss Rules engine which matches production facts and data to rules. It will then perform actions based on what it infers from the information. A production rules system's inference engine is stateful and is responsible for truth maintenance.
2.1.6. Production Memory Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
The
production memory is where rules are stored.
2.1.7. Working Memory Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
The
working memory is the part of the JBoss Rules engine where facts are asserted. From here, the facts can be modified or retracted.
2.1.8. Conflict Resolution Strategy Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Conflict resolution is required when there are multiple rules on the agenda. As firing a rule may have side effects on the working memory, the rule engine needs to know in what order the rules should fire (for instance, firing ruleA may cause ruleB to be removed from the agenda).
2.1.9. Hybrid Rule Systems Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
A hybrid rule system pertains to using both forward-chaining and backward-chaining rule systems to process rules.
2.1.10. Forward-Chaining Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Forward-chaining is a production rule system. It is data-driven which means it reacts to the data it is presented. Facts are inserted into the working memory which results in one or more rules being true. They are then placed on the schedule to be executed by the agenda.
JBoss Rules is a forward-chaining engine.
2.1.11. Backward-Chaining Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
A backward-chaining rule system is goal-driven. This means the system starts with a conclusion which the engine tries to satisfy. If it cannot do so it searches for sub-goals, that is, conclusions that will complete part of the current goal. It continues this process until either the initial conclusion is satisfied or there are no more unsatisfied sub-goals.
Prolog is an example of a backward-chaining engine.
Important
Backward-chaining was implemented in JBoss BRMS 5.2.
2.1.12. Reasoning Capabilities Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
JBoss Rules uses backward-chaining reasoning capabilities to help infer which rules to apply from the data.