Chapter 2. DMN use case
This real-world DMN example demonstrates how you can use decision modeling to reach a decision based on inputs, circumstances, and company guidelines. The process in this section demonstrate how some of these components work together. In this scenario, a flight from San Diego to New York is canceled, requiring the affected airline to find alternate arrangements for its inconvenienced passengers.
First, the airline collects the information necessary to determine how best to get the travelers to their destinations:
- Inputs
- A list of flights
- A list of passengers
- Decisions
- Prioritizing the passengers who will get seats on a new flight
- Determining which flights those passengers will be offered
- Business knowledge models
- The company process for determining passenger priority
- Any flights that have space available
- Company rules for determining how best to reassign inconvenienced customers
Then, the airline uses the DMN standard to model its decision process in a decision requirements diagram (DRD), and creates the following diagram for determining the best rebooking solution:
Figure 2.1. Decision requirements diagram for passenger rebooking example
Similar to flowcharts, DRDs use shapes to represent the different elements in a process. Ovals contain the two necessary inputs, rectangles contain the decision points in the model, and rectangles with clipped corners contain reusable logic that can be repeatedly invoked.
The DRD places details for each element into boxed content that provide variable definitions, again using FEEL expressions. Some content can be simple, such as the airline’s decision process for establishing a prioritized waiting list.
Figure 2.2. Boxed expression example for prioritized wait list
Other elements can involve significantly greater detail and calculation. Consider the following business knowledge model for reassigning the next passenger:
Figure 2.3. Decision example for reassigning next passenger