Contents
Preface to the Third Edition. vii
Part I Guide to Decision Modeling. 1
- 
What Is DMN?. 3 - DMN by Example. 4
- Model-Based Decision Automation. 13
 
- 
DMN Elements. 23 - Decision Requirements Diagrams 23
- Metamodel and Schema. 25
- Boxed Expressions 25
- FEEL. 31
- Essential Characteristics 36
 
- 
Decision Requirements. 37 - Decision Requirements Diagram.. 38
- Modeling Decision Requirements 39
 
- 
Decision Tables. 49 - Decision Table Basics 49
- Simple Unary Tests 53
- Decision Table Hit Policy. 53
- Decision Table Analysis 66
 
- 
Data Modeling and Reuse. 77 - DMN Data. 77
- FEEL, XML, and JSON Data. 82
- Null 87
- Controlled Business Vocabulary. 88
- SDMN.. 93
 
- 
Literal Expressions. 97 - Basic concepts 97
- Literal Expression Elements 98
- FEEL String Functions 103
- FEEL Number Functions 104
- Combining Functions 105
- Formatting Numbers 106
- Generalized Unary Tests 107
- V-FEEL. 108
 
- 
Business Knowledge Models. 109 - BKM Definition and Invocation. 109
- Benefits of a BKM.. 113
- Calling External Functions 114
- Libraries of Reusable Logic. 114
 
- 
Contexts. 117 - Context with Final Result Box Expression. 117
- Context with No Final Result Box Expression. 122
- Context as a Datatype. 124
- FEEL Context Functions 124
 
- 
Decision Services. 127 - Why Define a Decision Service. 127
- Decision Service vs BKM.. 128
- One Model, Many Services 129
- Creating a Decision Service. 130
- Visualizing Execution Steps 136
 
- 
Calendar Arithmetic. 141 - Date and Time Components 142
- Durations 143
- Date-Time Arithmetic. 144
- Temporal Logic. 148
 
- 
Lists and Tables. 151 - What Is a List?. 151
- Creating a List. 152
- FEEL List Functions 156
- Filter Expressions 158
- Lookup Tables 161
- Table Joins 163
- Iteration. 165
- Testing All Members of a List. 172
- List Membership and Set Operations 172
- Functions with Function Parameters 174
 
- 
Data Validation. 177 - Mapping Submitted Values to FEEL. 177
- Recognizing Invalid Data. 177
- Avoiding Runtime Errors in the Validation Logic. 180
- Data Validation Methods 181
 
- 
Orchestrating DMN.. 187 - BPMN Routing Decisions 187
- Decision Service Orchestration. 196
- Low-Code Business Automation. 197
 
Part II DMN Cookbook. 199
- 
About the DMN Cookbook. 201 - FEEL: More Powerful and Business-Friendly than Power FX. 201
- Recursion. 203
 
- 
String Recipes. 205 - Basic Concatenation. 205
- Casting to a String. 206
- Concatenation with Null Data. 207
- Parsing a String. 208
- Convert Delimited Text to Table. 210
- String Join. 212
- String Containment. 213
- Formatted Strings 214
- Regular Expressions 215
- Matching a Regular Expression. 217
- Replacing a Regular Expression with a String. 217
 
- 
Calendar Arithmetic Recipes. 219 - Extract Date and Time Components 219
- Create Value from Components 220
- Durations 220
- Business Calendar. 222
 
- 
List and Table Recipes. 225 - Functions that Manipulate Table Rows 225
- Iteration Over Item Index – MACD. 226
- Double Iteration. 231
- Complex Sort. 235
 
- 
Math Recipes. 239 - Rounding a Number. 239
- Number List Functions 240
- Built-In Math Functions 241
- api.mathjs.org Service. 241
- Java Math Library. 243
- Factorial 244
- Taylor Series 244
- Interpolation. 246
- Square Root – Iterative Solution. 249
- Newton-Raphson Method. 249
 
- 
Machine Learning Recipes. 253 - Correlation. 253
- Linear Regression – Analytic Solution. 254
- Linear Regression Using Gradient Descent. 256
- Churn Prediction with PMML. 260
 
- 
Data Validation Recipes. 265 - Contexts for Extraction and Rules 265
 
Index. 279
About the Author. 285
