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