Table of Contents

PREFACE TO THE SECOND EDITION          V

  •             OUTLINE OF THE BOOK       VII
  •             ACKNOWLEDGMENTS         VIII
  1. BUSINESS DECISION MODELING 1

  •             FROM BUSINESS RULES TO DECISION MODELS   2
  •             ORIGINS OF DMN      4
  •             ENSURING MODEL INTEROPERABILITY   6
  •             THE BUSINESS VALUE OF DECISION MODELS     7
  •             PREDICTIVE ANALYTICS, MACHINE LEARNING, AND EXPLAINABLE AI         8
  1. FUNDAMENTALS 11

  •             WHAT IS DMN?          11
    •                         Decision Requirements 11
    •                         Decision Tables 12
    •                         Other Boxed Expressions          13
    •                         FEEL   14
    •                         A Language for Stateless Decision Services       16
    •                         A Common Language Shared by Business and IT           16
    •                         A Vendor-Independent Standard 17
    •                         Full DMN Support        17
    •                         What’s NOT in DMN   18
  •             DMN ELEMENTS       19
    •                         Decisions         19
    •                         Datatypes         19
    •                         Decision Requirements 20
    •                         Decision Tables 21
  •             LET’S TRY IT! 22
  1. DECISION REQUIREMENTS 29

  •             DECISION REQUIREMENTS DIAGRAM       30
  •             MODELING DECISION REQUIREMENTS     31
  •             DECISION REQUIREMENTS BY EXAMPLE 32
  1. BASIC DECISION LOGIC 39

  •             DECISION TABLE BASICS    39
  •             WHAT CAN YOU PUT IN A DECISION TABLE CONDITION CELL?           42
    •                         Example: Affordability category 44
  •             LITERAL EXPRESSIONS       44
  •             BKMS AND INVOCATION    45
  •             TEST EXECUTION     49
  1. ROUTING DECISIONS 51

  •             BAD BPMN     52
  •             INVOKING A ROUTING DECISION  52
  •             ROUTING DECISION LOGIC 53
  1. DECISION TABLE HIT POLICY 57

  •             HANDLING ORED CONDITIONS      57
  •             HIT POLICY OVERVIEW       58
  •             A TABLES OFTEN SIMPLER THAN U TABLES        59
  •             HIT POLICY P 60
  •             WHICH HIT POLICY IS BEST?           61
  •             CATEGORY WITH REASONS PATTERN      64
  •             THE PROBLEM WITH P TABLES      65
  1. DECISION TABLE ANALYSIS 69

  •             COMPLETENESS        69
  •             OVERLAPS AND TABLE CONSISTENCY     70
  •             MASKED RULES        71
  •             SUBSUMPTION          72
  •             NORMALIZATION     73
    •                         First Normal Form        74
    •                         Second Normal Form    74
    •                         Third Normal Form      76
  1. DATA MODELING AND LOGIC REUSE 79

  •             DMN DATA    79
  •             DATA IN DECISION TABLES 80
  •             STRUCTURED TYPES AND COLLECTIONS 82
  •             DATA STANDARDIZATION AND REUSE    83
    •                         Business Glossary        84
    •                         Model Libraries 86
    •                         Model Import   86
  1. CLASSIFICATION PATTERNS 89

  •             CLASSIFICATION AND MACHINE LEARNING       89
  •             NORMALIZING RAW DATA 91
  •             SUPPORTING DECISIONS AS CLASSIFICATIONS  92
  •             COMBINING ORDERED CLASSIFICATIONS           97
  •             CATEGORY-SCORE PATTERN         97
  1. DECISION SERVICES 101

  •             VISUALIZE EXECUTION STEPS       102
  •             WIZARD-BASED SERVICE DEFINITION      103
  •             IMPORTING SERVICES AS REUSABLE LOGIC       105
  •             SERVICES AS DELEGATED IMPLEMENTATION    106
  •             MODELING MULTISTEP DECISIONS           110
    •                         Decision Flows 110
    •                         Spec Lending Example Revisited          111
  1. DMN BEYOND THE BASICS 115

  •             FEEL   115
  •             BOXED EXPRESSIONS          118
  1. LITERAL EXPRESSIONS 121

  •             VALUES VS EXPRESSIONS   121
  •             LITERAL EXPRESSION ELEMENTS 122
    •                         Functions         123
    •                         Parameters       123
    •                         Arguments       124
    •                         Operators         125
  •             FEEL STRING FUNCTIONS   126
  •             FEEL NUMBER FUNCTIONS 127
  •             FORMATTING NUMBERS     128
  1. CONTEXTS 131

  •             SIMPLIFYING THE DECISION LOGIC          133
  •             CREATING STRUCTURED VARIABLES      135
  •             BKMS WITH CONTEXT         136
  •             ONTEXT ENTRY AS A FUNCTION DEFINITION     137
  1. CALENDAR ARITHMETIC 139

  •             DATE AND TIME COMPONENTS     140
    •                         Type Conversion          141
  •             DURATIONS  141
  •             DATE-TIME ARITHMETIC    142
    •                         Addition          142
    •                         Subtraction      142
    •                         Multiplication  143
    •                         Division           143
    •                         Example          143
  1. HANDLING LISTS AND TABLES 145

  •             WHAT IS A LIST?       145
  •             CREATING A LIST     146
    •                         List Datatypes  146
    •                         List Operator    146
    •                         Collect Decision Table  147
    •                         Embedded Data Tables 147
    •                         Generating a List from Another List      148
  •             FEEL LIST FUNCTIONS         148
  •             FILTER EXPRESSIONS          151
  •             ITERATION    153
    •                         Enhanced Iteration        154
  •             ADDING COLUMNS TO A TABLE    156
  •             TESTING ALL MEMBERS OF A LIST 159
  •             TABLE JOINS 160
  •             LIST MEMBERSHIP AND SET OPERATIONS           162
    •                         Item Membership         162
    •                         Set Operations  162
    •                         Intersection      162
    •                         Containment    163
    •                         Identity 163
  •             SORTING A LIST        163

INDEX 165

ABOUT THE AUTHOR           169