Chapter 79. Decision engine in Red Hat Process Automation Manager
The decision engine is the rules engine in Red Hat Process Automation Manager. The decision engine stores, processes, and evaluates data to execute the business rules or decision models that you define. The basic function of the decision engine is to match incoming data, or facts, to the conditions of rules and determine whether and how to execute the rules.
The decision engine operates using the following basic components:
- Rules: Business rules or DMN decisions that you define. All rules must contain at a minimum the conditions that trigger the rule and the actions that the rule dictates.
- Facts: Data that enters or changes in the decision engine that the decision engine matches to rule conditions to execute applicable rules.
- Production memory: Location where rules are stored in the decision engine.
- Working memory: Location where facts are stored in the decision engine.
- Agenda: Location where activated rules are registered and sorted (if applicable) in preparation for execution.
When a business user or an automated system adds or updates rule-related information in Red Hat Process Automation Manager, that information is inserted into the working memory of the decision engine in the form of one or more facts. The decision engine matches those facts to the conditions of the rules that are stored in the production memory to determine eligible rule executions. (This process of matching facts to rules is often referred to as pattern matching.) When rule conditions are met, the decision engine activates and registers rules in the agenda, where the decision engine then sorts prioritized or conflicting rules in preparation for execution.
The following diagram illustrates these basic components of the decision engine:
Figure 79.1. Overview of basic decision engine components
For more details and examples of rule and fact behavior in the decision engine, see Chapter 81, Inference and truth maintenance in the decision engine.
These core concepts can help you to better understand other more advanced components, processes, and sub-processes of the decision engine, and as a result, to design more effective business assets in Red Hat Process Automation Manager.