1 / 45

Building Business Capability 2012 3 nd World Congress on Decision Tables

Learn how Niyum provides tools and services to build decision table-based rules using an open source, cloud-based platform. Discover how to simplify rule complexity and document rules effectively.

mamied
Télécharger la présentation

Building Business Capability 2012 3 nd World Congress on Decision Tables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Building Business Capability 2012 • 3nd World Congress on Decision Tables Verifying and Maintaining Complex Policies with Unbalanced Decision Tables

  2. The Speakers Paul Snow Rules Management Chief Architect, SourcePulse BhushanNaniwadekar Director of Application Development , SourcePulse

  3. Context of the Talk • Niyum provides a set of tools and services to build Decision Table based Rules • Cloud based • Workstation support • Niyum is built on DTRules, an Open Source, Pure Java Decision Table based Rules Engine http://SourcePulse.com http://DTRules.com

  4. A Decision Table Conditions Conditions The page_limit == 0 The weeks from the begin_date to the current_date > the day_limit the number of pages_viewed + 1 is greater than the publisher. page_limit The page_number is with chapters_viewed The page_number is within the excluded_chapters Thelimit > 20 The days from the begin_date to the current_date > the day_limit the number of pages_viewed + 1 is greater than the publisher. page_limit The page_number is within the chapters_viewed The page_number is within the y y yyy n nnnnn - - - - - y n n n n n y n n n n - y n n n n - y n n n - - y n n n - - y n n - - - y n n - - - y n - - - - y n y yyyy n nnnnn - - - - - y n n n n n y n n n n - y n n n n - y n n n - - y n n n Condition Table Conditions Set the page_limit= 0; Set the period = the days from the begin date to the current_date; remove the persons from ages viewed + 1 is greater than the publisher.page_limitThe page num is within the chapters_viewedThe page Add 1 to the page count; add expected Children to The Client's dependents; Move the client from the x xxxxxxx x xxxx x xx x xxx x xxxxx x xxx x xxxxxx x xxxx x xx x x x x Action Table Actions

  5. In a Decision Table… N N Y Y N Y Y YY Y Y Y N N * The Customer is over 18 The Customer is over 25 Accident Count > 4 Valuation > 30,000 dollars Driving is Urban Customer is a home owner Otherwise Do not Issue Policy Issue Policy X XXX X

  6. In a Decision Table… These are the rules! N N Y Y N Y Y YY Y Y Y N N * The Customer is over 18 The Customer is over 25 Accident Count > 4 Valuation > 30,000 dollars Driving is Urban Customer is a home owner Otherwise Do not Issue Policy Issue Policy X XXX X

  7. Documenting the Rules in a Decision Table The Customer is over 18 The Customer is over 25 Accident Count > 4 Valuation > 30,000 dollars Driving is Urban Customer is a home owner Otherwise N NY N Y Y YY Y Y Y N N * Do not Issue Policy Issue Policy X XXX X Reject Customers under 19 with four accidents Reject Customers under 19 who primarily drive in Urban Areas Reject under 26, 4 accidents, no home ownership Reject over 25, 4 accidents, high valuation, urban driving, no home ownership Otherwise, Accept the Customer

  8. Balancing the Table

  9. Simplifying the Complexity of Rules Just using the four quadrants and balanced Decision Tables is not a simple way of representing Rules and Policy • Make the Rules obvious in a Table • Provide Easy ways of Tracking and Documenting what rules are being applied

  10. Niyum Supports Two Types of Unbalanced Decision Tables • FIRST – Resolve by priority. Only execute the first column whose conditions are met. • ALL – Resolve by generosity. Every column whose conditions are met is evaluated.

  11. First: Execute Until a Rule Matches The Customer is over 18 The Customer is over 25 Accident Count > 4 Valuation > 30,000 dollars Driving is Urban Customer is a home owner Otherwise N NY N Y Y YY Y Y Y N N * OR Do not Issue Policy Issue Policy X XXX X Reject Customers under 19 with four accidents Reject Customers under 19 who primarily drive in Urban Areas Reject under 26, > 4 accidents, no home ownership Reject over 25, > 4 accidents, high value , urban, no home ownership Otherwise, Accept the Customer

  12. All: Execute All Rules that Match The Customer is over 18 The Customer is over 25 Accident Count > 4 Valuation > 30,000 dollars Driving is Urban Customer is a home owner Otherwise N NY N Y Y YY Y Y Y N N * OR Do not Issue Policy Issue Policy X XXX X Reject Customers under 19 with four accidents Reject Customers under 19 who primarily drive in Urban Areas Reject under 26, > 4 accidents, no home ownership Reject over 25, > 4 accidents, high value , urban, no home ownership Otherwise, Accept the Customer

  13. Four Patterns of Decision Tables • Control • Exclusion/Inclusion • Independent • Interdependent

  14. Four Patterns of Decision Tables • Control • Exclusion/Inclusion • Independent • Interdependent This is not always so clear with Balanced Decision Tables

  15. Control Tables:Order Decision Table Execution

  16. Control Tables (Selection) : Order Decision Table Execution Chooses a path through the Decision Tables based on a switch or a Test

  17. Control Tables (Event Handling): Order Decision Table Execution

  18. Exclusion Tables:Define a Set of Exceptions to Disqualify (or Qualify) an Action Just Look for a Reason to say “No!” Could Not Find a Reason to Say “No!”

  19. How to Verify an Exclusion Table • Each column is a rule that excludes a case from the conclusion of the table • But It is critical to look at what is left over • The right tools will balance your table for you • Look to the Balanced Table for what is being accepted

  20. Tools like Niyum Provide a Balanced Table View The Blue Is Where We Issue the Policy The White Where we Reject the Policy. These are Straight from our Table! Review with your Expert!

  21. How about Tracking? • That we are going to exclude an action is not always enough • How do we track all the reasons for not taking an action? • The last thing we want a client to do is expend a great deal of effort to resolve an issue, only to find there is another (and maybe another!) lurking behind!

  22. Exclusion Tables can collect all the Rules that Excluded an Action • The goal is to report every rule excluding or qualifying some action • With Unbalanced Tables, it is straight forward to flip the type to ALL, and add tracking

  23. Tracking all Exclusion Rules

  24. One Column Covered by Two Rules

  25. Independent Decision Tables • A collection of independent rules in a Decision Table • Scorecards • Complex Event handling

  26. Independent Rules are ALL tables of Rules

  27. With Independent Tables, the Rules are the Rules. Looking at the Balanced Table does little if any good

  28. Interdependent Tables • The Hardest to maintain • Examine the Table. Where are the Patterns? • Can you make the Table into a FIRST table? • Can you make the Table into an ALL table?

  29. An Interdependent Table

  30. An Interdependent Table

  31. Cleaning up the Table

  32. Converted to an Exclusion Table

  33. Check Balanced View

  34. Converting to an Independent Table

  35. Converting to an Independent Table

  36. Converting to an Independent Table

  37. Converted to an Independent Table

  38. Check Balanced View

  39. Which Representation do you Use?

  40. Which Representation do you Use?

  41. Check your Work • The Balanced representation does not Change. • Converting to an Exclusion Table tends to simplify the representation of complexity in the Conditions • Converting to an Independent Table tends to simplify the Representation of Complexity in the Actions

  42. Advantages of Unbalanced Tables • The Business User doesn’t have to learn to Balance Tables • The Business User doesn’t have to read Balanced Tables • Because Columns can be moved easily, Priorities are easy to manage in FIRST tables • Simplifies Independent Rules when present in Decision Tables • Avoids “Scrambling” the actual Business Rules

  43. Advantages of Unbalanced Tables Even when Balanced Tables are Better… Your Tools can simply provide the Balanced Representation.

  44. QUESTIONS

More Related