# Buenos Aires Decision Table presentation

Senior Analyst programmer at Red Hat
Jun. 17, 2011

### Buenos Aires Decision Table presentation

1. Michael Anstis Decision Tables & Guvnor
2. Types
3. Validation & Verification
4. Transformation
5. What is Guvnor?
6. Decision Tables in Guvnor
8. Summary
9. Q&A
10. Validation & Verification
11. Transformation
12. What is Guvnor?
13. Decision Tables in Guvnor
15. Summary
16. Q&A
17. Agenda Some decisions are simple
18. Introduction - Some decisions are simple Should I fly to Buenos Aires?
19. Introduction - Some decisions are simple I want to treat myself
20. Introduction - Some decisions are simple
21. Agenda Some decisions are complex
22. Introduction - Some decisions are complex What insurance premium should I charge?
23. Applicant's experience
24. Sailing qualifications
25. Value of vessel
26. Type of cover
27. If less than 35 add 10% surcharge
28. If less than 45 add 5% surcharge
29. Transformation
30. What is Guvnor?
31. Decision Tables in Guvnor
33. Summary
34. Q&A
35. Horizontal
36. Vertical
37. Limited entry
38. Multi-hit, all hits
39. Multi-hit, first hit
40. Single hit
41. Reduces the number of condition columns.
42. If the same actions exist for rules covering all condition states for a given condition they can be combined and the condition state becomes irrelevant.
43. Condition columns are not mutually exclusive
44. If the Condition columns are not exclusive, some combination of conditions are present in more than one column, which may lead to ambiguity or inconsistency.
45. Condition columns are not mutually exclusive.
46. If the Condition columns are not exclusive, some combination of conditions are present in more than one column, which may lead to ambiguity or inconsistency.
47. Condition columns are mutually exclusive
48. As the Condition columns are exclusive; combinations of conditions cannot be present in more than one column which eliminates ambiguity and inconsistency.
49. Classic form if Single-hit is &quot;expanded decision table&quot;; but this can be optimised or “contracted”.
50. What is Guvnor?
51. Decision Tables in Guvnor
53. Summary
54. Q&A
55. Ambivalence (conflicting)
56. Deficiency
57. Mitigation
58. Types
59. Decision Tables in Guvnor
61. Summary
62. Q&A
63. Rules 1, 2 and 3, 4 have the same action no matter what the state of “Hungry”. Therefore they can be contracted...
64. Types
65. Validation & Verification
67. Summary
68. Q&A
69. Types
70. Validation & Verification
71. Transformation
72. Summary
73. Q&A
74. Multi-hit, all hits
75. Extended entry
76. Discretized condition states (enumerated fields)
77. Condition and rule negation
78. Cell merging
79. Cell grouping
80. Each row compiles into a separate DRL rule
81. Each row compiles into a separate DRL rule
82. rule &quot;Row 1 dtable&quot;
83. dialect &quot;mvel&quot;
84. when
85. \$person : Person( age < &quot;18&quot; )
86. then
87. \$person.setHolidayEntitlement( 27 );
88. end
89. rule &quot;Row 2 dtable&quot;
90. dialect &quot;mvel&quot;
91. when
92. \$person : Person( age >= &quot;18&quot; , age < &quot;45&quot; , lengthOfService < &quot;15&quot; )
93. then
94. \$person.setHolidayEntitlement( 22 );
95. end
96. Types
97. Validation & Verification
98. Transformation
99. What is Guvnor?
100. Q&A
101. Improved support for digitised condition states
102. Usability enhancements
103. Types
104. Validation & Verification
105. Transformation
106. What is Guvnor?
107. Decision Tables in Guvnor
108. Provide a simple, yet powerful, visualisation of decision components
109. Allow large sets of related rules to be easily worked upon simultaneously
110. A solid foundation for the future