It’s been over five years since DMN Method and Style 2nd Edition was published and a lot has changed since then.  So I’m pleased to announce that DMN Method and Style 3rd Edition is now available.  You can get the print edition on Amazon and other online bookstores, and you can order the e-book edition right here on my website.

The new edition is based on the draft DMN 1.6 spec, which contains many features unavailable in the second edition of the book, which was based on DMN 1.2.  And while that book was targeted at business users, the new edition balances the needs of business and technical modelers.  Part I is the Guide to Decision Modeling, which explains all the modeling elements – DRDs, decision tables, other boxed expressions, and FEEL – in a business-friendly way.  Part II is the DMN Cookbook, formerly a separate volume, with “recipes” for various modeling challenges, aimed at more technical modelers.  Looking back on the original DMN Cookbook, based on the draft DMN 1.2 spec, I am struck by how few of those recipes would be done in the same way today.

Another impetus to writing a new edition is my own experience in DMN engagements.  Seemingly obscure parts of FEEL – double iteration, handling lists of lists, interpolation of published data, complex data validation – can be critical in real-world projects, and those things all made their way into the new edition.

Below is the table of contents, and you can read the Preface here:

Contents

Preface to the Third Edition. vii

Part I Guide to Decision Modeling. 1

1. What Is DMN? 3

  • DMN by Example. 4
  • Model-Based Decision Automation. 13

2. DMN Elements. 23

  • Decision Requirements Diagrams 23
  • Metamodel and Schema 25
  • Boxed Expressions 25
  • FEEL 31
  • Essential Characteristics 36

3. Decision Requirements 37

  • Decision Requirements Diagram 38
  • Modeling Decision Requirements 39

4. Decision Tables. 49

  • Decision Table Basics 49
  • Simple Unary Tests 53
  • Decision Table Hit Policy. 53
  • Decision Table Analysis 66

5. Data Modeling and Reuse. 77

  • DMN Data 77
  • FEEL, XML, and JSON Data. 82
  • Null 87
  • Controlled Business Vocabulary 88
  • SDMN 93

6. 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

7. Business Knowledge Models. 109

  • BKM Definition and Invocation 109
  • Benefits of a BKM 113
  • Calling External Functions 114
  • Libraries of Reusable Logic 114

8. 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

9. 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

10. Calendar Arithmetic 141

  • Date and Time Components 142
  • Durations 143
  • Date-Time Arithmetic 144
  • Temporal Logic 148

11. 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

12. 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

13. Orchestrating DMN 187

  • BPMN Routing Decisions 187
  • Decision Service Orchestration 196
  • Low-Code Business Automation. 197

Part II DMN Cookbook. 199

14. About the DMN Cookbook. 201

  • FEEL: More Powerful and Business-Friendly than Power FX 201

15. String Recipes. 205

  • Casting to a String 206
  • Concatenation with Null Data 207
  • Parsing a String 208
  • Convert Delimited Text to Table 210
  • String Join 212
  • Formatted Strings 214
  • Regular Expressions 215

16. Calendar Arithmetic Recipes 219

  • Durations 220
  • Business Calendar 222

17. List and Table Recipes 225

  • Iteration Over Item Index – MACD 226
  • Double Iteration 231
  • Complex Sort 235

18. Math Recipes 239

  • Built-In Math Functions 241
  • api.mathjs.org Service 241
  • Java Math Library. 243
  • Factorial 244
  • Taylor Series 244
  • Interpolation 246
  • Newton-Raphson Method 249

19. Machine Learning Recipes. 253

  • Correlation 253
  • Linear Regression – Analytic Solution 254
  • Linear Regression Using Gradient Descent 256
  • Churn Prediction with PMML 260

20. Data Validation Recipes 265

  • Contexts for Extraction and Rules 265

Index 279

About the Author 285