Table of Contents
PREFACE TO THE SECOND EDITION V
- OUTLINE OF THE BOOK VII
- ACKNOWLEDGMENTS VIII
-
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
-
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
-
DECISION REQUIREMENTS 29
- DECISION REQUIREMENTS DIAGRAM 30
- MODELING DECISION REQUIREMENTS 31
- DECISION REQUIREMENTS BY EXAMPLE 32
-
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
-
ROUTING DECISIONS 51
- BAD BPMN 52
- INVOKING A ROUTING DECISION 52
- ROUTING DECISION LOGIC 53
-
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
-
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
-
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
-
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
-
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
-
DMN BEYOND THE BASICS 115
- FEEL 115
- BOXED EXPRESSIONS 118
-
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
-
CONTEXTS 131
- SIMPLIFYING THE DECISION LOGIC 133
- CREATING STRUCTURED VARIABLES 135
- BKMS WITH CONTEXT 136
- ONTEXT ENTRY AS A FUNCTION DEFINITION 137
-
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
-
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