Skip to navigation Skip to main content

Utilities

  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
Red Hat Customer Portal
  • Subscriptions
  • Downloads
  • Containers
  • Support Cases
  • Products & Services

    Products

    Support

    • Production Support
    • Development Support
    • Product Life Cycles

    Services

    • Consulting
    • Technical Account Management
    • Training & Certifications

    Documentation

    • Red Hat Enterprise Linux
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenStack Platform
    • Red Hat OpenShift Container Platform
    All Documentation

    Ecosystem Catalog

    • Red Hat Partner Ecosystem
    • Partner Resources
  • Tools

    Tools

    • Troubleshoot a product issue
    • Packages
    • Errata

    Customer Portal Labs

    • Configuration
    • Deployment
    • Security
    • Troubleshoot
    All labs

    Red Hat Insights

    Increase visibility into IT operations to detect and resolve technical issues before they impact your business.

    Learn More
    Go to Insights
  • Security

    Red Hat Product Security Center

    Engage with our Red Hat Product Security team, access security updates, and ensure your environments are not exposed to any known security vulnerabilities.

    Product Security Center

    Security Updates

    • Security Advisories
    • Red Hat CVE Database
    • Security Labs

    Keep your systems secure with Red Hat's specialized responses to security vulnerabilities.

    View Responses

    Resources

    • Security Blog
    • Security Measurement
    • Severity Ratings
    • Backporting Policies
    • Product Signing (GPG) Keys
  • Community

    Customer Portal Community

    • Discussions
    • Private Groups
    Community Activity

    Customer Events

    • Red Hat Convergence
    • Red Hat Summit

    Stories

    • Red Hat Subscription Value
    • You Asked. We Acted.
    • Open Source Communities
Or troubleshoot an issue.

Select Your Language

  • English
  • 한국어
  • 日本語
  • 中文 (中国)

Infrastructure and Management

  • Red Hat Enterprise Linux
  • Red Hat Satellite
  • Red Hat Subscription Management
  • Red Hat Insights
  • Red Hat Ansible Automation Platform

Cloud Computing

  • Red Hat OpenShift
  • Red Hat OpenStack Platform
  • Red Hat OpenShift Container Platform
  • Red Hat OpenShift Data Science
  • Red Hat OpenShift Dedicated
  • Red Hat Advanced Cluster Security for Kubernetes
  • Red Hat Advanced Cluster Management for Kubernetes
  • Red Hat Quay
  • OpenShift Dev Spaces
  • Red Hat OpenShift Service on AWS

Storage

  • Red Hat Gluster Storage
  • Red Hat Hyperconverged Infrastructure
  • Red Hat Ceph Storage
  • Red Hat OpenShift Data Foundation

Runtimes

  • Red Hat Runtimes
  • Red Hat JBoss Enterprise Application Platform
  • Red Hat Data Grid
  • Red Hat JBoss Web Server
  • Red Hat Single Sign On
  • Red Hat support for Spring Boot
  • Red Hat build of Node.js
  • Red Hat build of Quarkus

Integration and Automation

  • Red Hat Application Foundations
  • Red Hat Fuse
  • Red Hat AMQ
  • Red Hat 3scale API Management
All Products

Table of contents

  1. Developing decision services in Red Hat Decision Manager
  2. Preface
  3. Making open source more inclusive
  4. I. Designing a decision service using DMN models
    1. 1. Decision-authoring assets in Red Hat Decision Manager
    2. 2. Red Hat Decision Manager BPMN and DMN modelers
      1. 2.1. Installing the Red Hat Decision Manager VS Code extension bundle
      2. 2.2. Configuring the Red Hat Decision Manager standalone editors
    3. 3. Creating and executing DMN and BPMN models using Maven
    4. 4. Decision Model and Notation (DMN)
      1. 4.1. DMN conformance levels
      2. 4.2. DMN decision requirements diagram (DRD) components
      3. 4.3. Rule expressions in FEEL
        1. 4.3.1. Data types in FEEL
        2. 4.3.2. Built-in functions in FEEL
          1. 4.3.2.1. Conversion functions
          2. 4.3.2.2. Boolean functions
          3. 4.3.2.3. String functions
          4. 4.3.2.4. List functions
            1. 4.3.2.4.1. Loop statements
          5. 4.3.2.5. Numeric functions
          6. 4.3.2.6. Date and time functions
          7. 4.3.2.7. Range functions
          8. 4.3.2.8. Temporal functions
          9. 4.3.2.9. Sort functions
          10. 4.3.2.10. Context functions
        3. 4.3.3. Variable and function names in FEEL
      4. 4.4. DMN decision logic in boxed expressions
        1. 4.4.1. DMN decision tables
          1. 4.4.1.1. Hit policies in DMN decision tables
        2. 4.4.2. Boxed literal expressions
        3. 4.4.3. Boxed context expressions
        4. 4.4.4. Boxed relation expressions
        5. 4.4.5. Boxed function expressions
        6. 4.4.6. Boxed invocation expressions
        7. 4.4.7. Boxed list expressions
      5. 4.5. DMN model example
    5. 5. DMN support in Red Hat Decision Manager
      1. 5.1. Configurable DMN properties in Red Hat Decision Manager
      2. 5.2. Configurable DMN validation in Red Hat Decision Manager
    6. 6. Creating and editing DMN models in Business Central
      1. 6.1. Defining DMN decision logic in boxed expressions in Business Central
      2. 6.2. Creating custom data types for DMN boxed expressions in Business Central
      3. 6.3. Included models in DMN files in Business Central
        1. 6.3.1. Including other DMN models within a DMN file in Business Central
        2. 6.3.2. Including PMML models within a DMN file in Business Central
      4. 6.4. Creating DMN models with multiple diagrams in Business Central
      5. 6.5. DMN model documentation in Business Central
      6. 6.6. DMN designer navigation and properties in Business Central
    7. 7. DMN model execution
      1. 7.1. Embedding a DMN call directly in a Java application
      2. 7.2. Executing a DMN service using the KIE Server Java client API
      3. 7.3. Executing a DMN service using the KIE Server REST API
      4. 7.4. REST endpoints for specific DMN models
    8. 8. Additional resources
  5. II. Designing a decision service using PMML models
    1. 9. Decision-authoring assets in Red Hat Decision Manager
    2. 10. Predictive Model Markup Language (PMML)
      1. 10.1. PMML conformance levels
    3. 11. PMML model examples
    4. 12. PMML support in Red Hat Decision Manager
      1. 12.1. PMML trusty support and naming conventions in Red Hat Decision Manager
      2. 12.2. PMML legacy support and naming conventions in Red Hat Decision Manager
        1. 12.2.1. PMML extensions in Red Hat Decision Manager
    5. 13. PMML model execution
      1. 13.1. Embedding a PMML trusty call directly in a Java application
      2. 13.2. Embedding a PMML legacy call directly in a Java application
        1. 13.2.1. PMML execution helper class
      3. 13.3. Executing a PMML model using KIE Server
    6. 14. Additional resources
  6. III. Designing a decision service using DRL rules
    1. 15. Decision-authoring assets in Red Hat Decision Manager
    2. 16. DRL (Drools Rule Language) rules
      1. 16.1. Packages in DRL
      2. 16.2. Import statements in DRL
      3. 16.3. Functions in DRL
      4. 16.4. Queries in DRL
      5. 16.5. Type declarations and metadata in DRL
        1. 16.5.1. Type declarations without metadata in DRL
        2. 16.5.2. Enumerative type declarations in DRL
        3. 16.5.3. Extended type declarations in DRL
        4. 16.5.4. Type declarations with metadata in DRL
        5. 16.5.5. Metadata tags for fact type and attribute declarations in DRL
        6. 16.5.6. Property-change settings and listeners for fact types
        7. 16.5.7. Access to DRL declared types in application code
      6. 16.6. Global variables in DRL
      7. 16.7. Rule attributes in DRL
        1. 16.7.1. Timer and calendar rule attributes in DRL
      8. 16.8. Rule conditions in DRL (WHEN)
        1. 16.8.1. Patterns and constraints
        2. 16.8.2. Bound variables in patterns and constraints
        3. 16.8.3. Nested constraints and inline casts
        4. 16.8.4. Date literal in constraints
        5. 16.8.5. Supported operators in DRL pattern constraints
        6. 16.8.6. Operator precedence in DRL pattern constraints
        7. 16.8.7. Supported rule condition elements in DRL (keywords)
        8. 16.8.8. OOPath syntax with graphs of objects in DRL rule conditions
      9. 16.9. Rule actions in DRL (THEN)
        1. 16.9.1. Supported rule action methods in DRL
        2. 16.9.2. Other rule action methods from drools variable
        3. 16.9.3. Advanced rule actions with conditional and named consequences
      10. 16.10. Comments in DRL files
      11. 16.11. Error messages for DRL troubleshooting
    3. 17. Data objects
      1. 17.1. Creating data objects
    4. 18. Creating DRL rules in Business Central
      1. 18.1. Adding WHEN conditions in DRL rules
      2. 18.2. Adding THEN actions in DRL rules
    5. 19. Executing rules
    6. 20. Other methods for creating and executing DRL rules
      1. 20.1. Creating and executing DRL rules using Java
      2. 20.2. Creating and executing DRL rules using Maven
    7. 21. Example decisions in Red Hat Decision Manager for an IDE
      1. 21.1. Importing and executing Red Hat Decision Manager example decisions in an IDE
      2. 21.2. Hello World example decisions (basic rules and debugging)
      3. 21.3. State example decisions (forward chaining and conflict resolution)
      4. 21.4. Fibonacci example decisions (recursion and conflict resolution)
      5. 21.5. Pricing example decisions (decision tables)
      6. 21.6. Pet Store example decisions (agenda groups, global variables, callbacks, and GUI integration)
      7. 21.7. Honest Politician example decisions (truth maintenance and salience)
      8. 21.8. Sudoku example decisions (complex pattern matching, callbacks, and GUI integration)
      9. 21.9. Conway’s Game of Life example decisions (ruleflow groups and GUI integration)
      10. 21.10. House of Doom example decisions (backward chaining and recursion)
    8. 22. Performance tuning considerations with DRL
    9. 23. Next steps
  7. IV. Designing a decision service using guided decision tables
    1. 24. Decision-authoring assets in Red Hat Decision Manager
    2. 25. Guided decision tables
    3. 26. Data objects
      1. 26.1. Creating data objects
    4. 27. Creating guided decision tables
    5. 28. Hit policies for guided decision tables
      1. 28.1. Hit policy examples: Decision table for discounts on movie tickets
        1. 28.1.1. Types of guided decision tables
    6. 29. Adding columns to guided decision tables
    7. 30. Types of columns in guided decision tables
      1. 30.1. "Add a Condition"
        1. 30.1.1. Inserting an any other value in condition column cells
      2. 30.2. "Add a Condition BRL fragment"
      3. 30.3. "Add a Metadata column"
      4. 30.4. "Add an Action BRL fragment"
      5. 30.5. "Add an Attribute column"
      6. 30.6. "Delete an existing fact"
      7. 30.7. "Execute a Work Item"
      8. 30.8. "Set the value of a field"
      9. 30.9. "Set the value of a field with a Work Item result"
    8. 31. Viewing Rule Name column in guided decision tables
    9. 32. Sorting column values in guided decision tables
    10. 33. Editing or deleting columns in guided decision tables
    11. 34. Adding rows and defining rules in guided decision tables
    12. 35. Defining enumerations for drop-down lists in rule assets
      1. 35.1. Advanced enumeration options for rule assets
    13. 36. Real-time verification and validation of guided decision tables
      1. 36.1. Types of problems in guided decision tables
      2. 36.2. Types of notifications
      3. 36.3. Disabling verification and validation of guided decision tables
    14. 37. Converting a guided decision table to a spreadsheet decision table
    15. 38. Executing rules
    16. 39. Next steps
  8. V. Designing a decision service using spreadsheet decision tables
    1. 40. Decision-authoring assets in Red Hat Decision Manager
    2. 41. Spreadsheet decision tables
    3. 42. Data objects
      1. 42.1. Creating data objects
    4. 43. Decision table use case
    5. 44. Defining spreadsheet decision tables
      1. 44.1. RuleSet definitions
      2. 44.2. RuleTable definitions
      3. 44.3. Additional rule attributes for RuleSet or RuleTable definitions
    6. 45. Uploading spreadsheet decision tables to Business Central
    7. 46. Converting an uploaded spreadsheet decision table to a guided decision table in Business Central
    8. 47. Executing rules
    9. 48. Next steps
  9. VI. Designing a decision service using guided rules
    1. 49. Decision-authoring assets in Red Hat Decision Manager
    2. 50. Guided rules
    3. 51. Data objects
      1. 51.1. Creating data objects
    4. 52. Creating guided rules
      1. 52.1. Adding WHEN conditions in guided rules
      2. 52.2. Adding THEN actions in guided rules
      3. 52.3. Defining enumerations for drop-down lists in rule assets
        1. 52.3.1. Advanced enumeration options for rule assets
      4. 52.4. Adding other rule options
        1. 52.4.1. Rule attributes
    5. 53. Executing rules
    6. 54. Next steps
  10. VII. Designing a decision service using guided rule templates
    1. 55. Decision-authoring assets in Red Hat Decision Manager
    2. 56. Guided rule templates
    3. 57. Data objects
      1. 57.1. Creating data objects
    4. 58. Creating guided rule templates
      1. 58.1. Adding WHEN conditions in guided rule templates
      2. 58.2. Adding THEN actions in guided rule templates
      3. 58.3. Defining enumerations for drop-down lists in rule assets
        1. 58.3.1. Advanced enumeration options for rule assets
      4. 58.4. Adding other rule options
        1. 58.4.1. Rule attributes
    5. 59. Defining data tables for guided rule templates
    6. 60. Executing rules
    7. 61. Next steps
  11. VIII. Testing a decision service using test scenarios
    1. 62. Test scenarios
    2. 63. Data objects
      1. 63.1. Creating data objects
    3. 64. Test scenarios designer in Business Central
      1. 64.1. Importing data objects
      2. 64.2. Importing a test scenario
      3. 64.3. Saving a test scenario
      4. 64.4. Copying a test scenario
      5. 64.5. Downloading a test scenario
      6. 64.6. Switching between versions of a test scenario
      7. 64.7. View or hide the alerts panel
      8. 64.8. Contextual menu options
      9. 64.9. Global settings for test scenarios
        1. 64.9.1. Configuring global settings for rule-based test scenarios
        2. 64.9.2. Configuring global settings for DMN-based test scenarios
    4. 65. Test scenario template
      1. 65.1. Creating a test scenario template for rule-based test scenarios
      2. 65.2. Using aliases in rule-based test scenarios
    5. 66. Test template for DMN-based test scenarios
      1. 66.1. Creating a test scenario template for DMN-based test scenarios
    6. 67. Defining a test scenario
    7. 68. Background instance in test scenarios
      1. 68.1. Adding a background data in rule-based test scenarios
      2. 68.2. Adding a background data in DMN-based test scenarios
    8. 69. Using list and map collections in test scenarios
    9. 70. Expression syntax in test scenarios
      1. 70.1. Expression syntax in rule-based test scenarios
      2. 70.2. Expression syntax in DMN-based test scenarios
    10. 71. Running the test scenarios
    11. 72. Running a test scenario locally
    12. 73. Exporting and importing test scenario spreadsheets
      1. 73.1. Exporting a test scenario spreadsheet
      2. 73.2. Importing a test scenario spreadsheet
    13. 74. Coverage reports for test scenarios
      1. 74.1. Generating coverage reports for rule-based test scenarios
      2. 74.2. Generating coverage reports for DMN-based test scenarios
    14. 75. Executing a test scenario using the KIE Server REST API
    15. 76. Creating test scenario using the sample Mortgages project
    16. 77. Test scenarios (legacy) designer in Business Central
      1. 77.1. Creating and running a test scenario (legacy)
        1. 77.1.1. Adding GIVEN facts in test scenarios (legacy)
        2. 77.1.2. Adding EXPECT results in test scenarios (legacy)
    17. 78. Feature comparison of legacy and new test scenario designer
    18. 79. Next steps
  12. IX. Decision engine in Red Hat Decision Manager
    1. 80. Decision engine in Red Hat Decision Manager
    2. 81. KIE sessions
      1. 81.1. Stateless KIE sessions
        1. 81.1.1. Global variables in stateless KIE sessions
      2. 81.2. Stateful KIE sessions
      3. 81.3. KIE session pools
    3. 82. Inference and truth maintenance in the decision engine
      1. 82.1. Fact equality modes in the decision engine
    4. 83. Execution control in the decision engine
      1. 83.1. Salience for rules
      2. 83.2. Agenda groups for rules
      3. 83.3. Activation groups for rules
      4. 83.4. Rule execution modes and thread safety in the decision engine
      5. 83.5. Fact propagation modes in the decision engine
      6. 83.6. Agenda evaluation filters
    5. 84. Phreak rule algorithm in the decision engine
      1. 84.1. Rule evaluation in Phreak
        1. 84.1.1. Rule evaluation with forward and backward chaining
      2. 84.2. Rule base configuration
      3. 84.3. Sequential mode in Phreak
    6. 85. Complex event processing (CEP)
      1. 85.1. Events in complex event processing
      2. 85.2. Declaring facts as events
      3. 85.3. Metadata tags for events
      4. 85.4. Event processing modes in the decision engine
        1. 85.4.1. Negative patterns in decision engine stream mode
      5. 85.5. Property-change settings and listeners for fact types
      6. 85.6. Temporal operators for events
      7. 85.7. Session clock implementations in the decision engine
      8. 85.8. Event streams and entry points
        1. 85.8.1. Declaring entry points for rule data
      9. 85.9. Sliding windows of time or length
        1. 85.9.1. Declaring sliding windows for rule data
      10. 85.10. Memory management for events
    7. 86. Decision engine queries and live queries
    8. 87. Decision engine event listeners and debug logging
      1. 87.1. Practices for development of event listeners
    9. 88. Configuring a logging utility in the decision engine
    10. 89. Example decisions in Red Hat Decision Manager for an IDE
      1. 89.1. Importing and executing Red Hat Decision Manager example decisions in an IDE
      2. 89.2. Hello World example decisions (basic rules and debugging)
      3. 89.3. State example decisions (forward chaining and conflict resolution)
      4. 89.4. Fibonacci example decisions (recursion and conflict resolution)
      5. 89.5. Pricing example decisions (decision tables)
      6. 89.6. Pet Store example decisions (agenda groups, global variables, callbacks, and GUI integration)
      7. 89.7. Honest Politician example decisions (truth maintenance and salience)
      8. 89.8. Sudoku example decisions (complex pattern matching, callbacks, and GUI integration)
      9. 89.9. Conway’s Game of Life example decisions (ruleflow groups and GUI integration)
      10. 89.10. House of Doom example decisions (backward chaining and recursion)
    11. 90. Performance tuning considerations with the decision engine
    12. 91. Additional resources
  13. X. Integrating machine learning with Red Hat Decision Manager
    1. 92. Pragmatic AI
    2. 93. Credit card fraud dispute use case
      1. 93.1. Using a PMML model with a DMN model to resolve credit card transaction disputes
      2. 93.2. Credit card transaction dispute exercise PMML file
    3. 94. Additional resources
  14. A. Versioning information
  15. B. Contact information
  16. Legal Notice

Chapter 61. Next steps

  • Testing a decision service using test scenarios
  • Packaging and deploying an Red Hat Decision Manager project
  1. Previous
  2. Next
Red Hat

Quick Links

  • Downloads
  • Subscriptions
  • Support Cases
  • Customer Service
  • Product Documentation

Help

  • Contact Us
  • Customer Portal FAQ
  • Log-in Assistance

Site Info

  • Trust Red Hat
  • Browser Support Policy
  • Accessibility
  • Awards and Recognition
  • Colophon

Related Sites

  • redhat.com
  • developers.redhat.com
  • connect.redhat.com
  • cloud.redhat.com

About

  • Red Hat Subscription Value
  • About Red Hat
  • Red Hat Jobs
Copyright © 2023 Red Hat, Inc.
  • Privacy Statement
  • Terms of Use
  • All Policies and Guidelines
We've updated our Privacy Policy effective July 1st, 2023.
Red Hat Summit Red Hat Summit
Twitter