Business Rules Forum 2003 Conference November 2-6, 2003 – Nashville, TN Rules-Based Interaction Processes Jacob Feldman, Ph.D. Edison, NJ 1 Presentation Outline • Dynamic Interaction Processes: 4 Scenarios • Rules-based Interaction Library – Dialog Construction Rules – Dialog Execution Rules – Integration • Live Demo: Dynamic Loan Approval 2 Dynamic Interaction Processes • In complex decision making environments such as loan origination, tax compliance, portfolio balancing, insurance underwriting, or airport security the interaction logic is dynamic by its nature and cannot be predefined in advance • Below are several examples (scenarios) from real-world business environments that illustrate the problem 3 Scenario 1: Loan Approval # Events and Facts Peter Johnson’s Loan Application Decision Comments 1. Peter Johnson applied for $50K loan Rejected Insufficient Income. But a bank manager found that their valuable client with the same address can be a guarantor 2. Joe & Dawn Johnson agreed to be Peter’s guarantors. They have a Housing Loan with Available Equity = $300K and Remaining Debt = $150K Accepted $100K surplus is a sound proposition. But Conducting more detailed analysis, the manager notices a joint borrowing on Mr Johnson file which is not with his wife 3. Joe Johnson and his partner Bill Smith (50/50) have a Business Loan for $200K with Available Equity $52K Accepted The remaining $26K surplus still meets requirements. But Bill and Susan Smith have other facilities outstanding against their property as well as the business loan 4. Bill & Susan Smith have a Housing Loan with Available Equity = $240K and Remaining Debt = $150K Accepted Still a surplus. But a lending clerk at the lending operations center while preparing the collateral Their son Tommy Smith has $50K loan secured by his parents Rejected 5. documentation, noticed a secured personal loan in the name of Tommy Smith for $50K secured by his parents Available Equity $42K < $50K.The business debt would be $8,000 short on cover 4 Scenario 1: Raised Questions • To solve a business problem like this one, humans and machines should make an approve/decline decision based on the joint performance of tasks • While new facts about the loan related securities can come from different sources, an effective interactive system should be able to request new information: – Based on the information entered for a particular case and – Based on related existing knowledge about the customer. • What does “related knowledge” mean? Where is it defined and how can it be brought to the picture? 5 Scenario 2: Tax Return Compliance for Partnerships • Tax compliance becomes extremely complicated when it has to consider a possible revenue and distribution of expenses among multiple related corporations (partnerships including foreign ones) • The main problem here is how to generate the proper data requests, receive the related data, and then validate the accumulated information to be compliant with the current regulations • Again, we deal with a question of how to define and maintain the “related data”, which is dynamic in nature and can not be saved in a database 6 Scenario 3: Maintenance of User Profiles for Portfolio Balancing • A customer may define preferences related to his/her investment strategy (conservative or moderate risk level, industry sectors, security type distributions, etc.). However, the dynamic nature of the constantly changing financial market requires permanent automatic and interactive adjustments to each customer’s profile • For example, a system should be able to generate questions like: ”Your positions are overly concentrated in a single security. Are you willing to relax position constraints?” and make an automatic decision in each case based on a customer’s preferences and the company’s current strategy 7 Scenario 4: Identifying Suspicious Groups of Airplane Passengers • A system validates a list of all passengers when they book tickets for air travel. Along with simple criteria such as: • age range, gender, country of origin, legal status, etc. the system may include dynamic characteristics such as: • acquired certain chemical products in certain quantities, • took certain classes at a certain educational institutions in a certain time period, • visited certain countries during the last 2 years, etc. • Dynamic attributes need to be validated not just for one passenger but also for all possible combinations of currently known passengers. The very fact that a passenger satisfies a certain criterion, may initiate a new request about other passengers, that can in turn initiate additional new requests or reconsider already known facts 8 The Common Thread • • What do all these scenarios have in common? They all deal with the joint performance of tasks by humans and machines: – with the dynamic structure of these communications – when the interaction logic can not be predefined and depends on the interaction history and the related information about involved objects – with the necessity to support multiple data information requests, algorithms and programming interfaces • We have to deal with situations when not all concepts/relationships are known in advance and new concepts/ relationships could be added as we go 9 A Systematic Approach • • The identified problem is very broad. Its solution requires a systematic long-term research and development activity that will probably combine several technologies including: – Ontology/RDF/Semantic Web – Rules-based techniques (BRE) – Constraint satisfaction techniques Many standardization bodies already started to consolidate domain-specific knowledge repositories (e.g. Basel II, ACORD, MISMO). Thus, methods and tools to work with the consolidated information will be required 10 A BRE Approach • We tried to limit the scope of the problem to provide practical solutions in today real-world environment, and, of course, BRE was our first choice • In the remaining part of the presentation, we will: – describe a practical approach to dynamic interaction using BRE technology – demonstrate the approach using the Loan Approval scenario 11 BRE & Dynamic Interacting • • While business rules technology has already proven its effectiveness for many practical applications with complex business logic, it cannot be directly applied as a solution to problems that require dynamic interacting We have to address the following problems: 1) Can a rules-based system construct an interaction process “on the fly” based on the interaction history and information already available in a particular business context? 2) How to apply business rules to define multiple customizable dialogs with a variable content and complex inter-question relationships? 3) How to achieve it and not to be lost in the complexity of the supporting business rules? 12 Required Functionality • Ability to ask the next question based on the previous answers and a problem specific data • Questions should be generated in a form that is understandable either by a human or by a computer • Support for typical interaction constructions like multi-choice questions, auto-responses, interquestion relationships • Integration with different business contexts (information sources) • Integration with different portal environments 13 High-Level Architecture External Data Sources Domain-Specific Knowledge Repository (Ontologies,XML Schemas, DBs, Web Services) Human Analyst Interaction Processor Requests Application Input Other ESR Third Party Applications Applications Responses Application Rules-based Interaction Library INTERACTION LOGIC: 1. 2. 3. 4. Create All Possible Question Types Generate Next Question based on the Interaction History and Existing Data Execute application-specific decision rules Stop if no questions to ask 14 Rules-based Interaction Library • • An extensible Interaction Library was created to address the above problems using just business rules technology and a GUI-based interaction processor The Interaction Library consists of two parts: 1. A Java package to support generic interaction concepts and constructions 2. Set of templates that predefine semantics of the rules for different dialog construction like multi-choice questions, questions with answers from a certain domain, events, messages, and auto-responses 15 Interaction BOM • The Interaction Library is based on a generic business object model (BOM) to support different rules-based interaction processes • The BOM is implemented in Java and covers such concepts as: – Interaction Session for a multi-user environment – Interaction History to keep track of all asked questions and provided answers – Interaction Dispatcher to execute the interaction logic – Interaction Processor to “ask” questions and receive answers from GUIs, DBs, or other sources – Questions and Answers 16 Interaction Java Package • • Java API to an Interaction Rule Project An application just creates an Interaction Session that uses two predefined rule engines: – Rule Engine “Create Dialog” – – Rule Engine “Execute Dialog” – • creates interaction dialogs with all possible pages, sections, and questions defined by application specific rules called constantly during the interaction cycle to resolve interquestion dependencies with respect to the interaction history and to define the next question to ask. There could be also PreProcessing and PostProcessing rule engines that contain application specific business rules 17 Dialog Construction Rules • The Interaction Library includes generic rules common for any interaction processes • The predefined rules are used to: • Construct Dialog Pages • Construct Sections on the Pages • Construct Questions inside Sections: – Multi-Choice Questions – Questions with Answers of different controllable types • Modify Questions based on the Interaction History • Provide Auto-Responses: – Respond to {question} using {string} – Respond to {question} using {formula}, etc. 18 Question Construction Rules (OpenRules implementation) 19 How to Define Question Types • Using a very simple XML file like this one: or an Excel spreadsheet like this one: • Or using another application specific way 20 Rules for Inter-Question Relationships • These business rules define the processing logic based on answers to already asked questions in conjunction with information available from application specific contexts: if answer to question <Q1> is <A1> and loan was <declined> then ask question <Q2> • We use decision tables for the interaction logic to support complex inter-question relationships • Decision tables allow us to combine both: • Predefined interaction rules like: “If answer to question <Q1> is <A1>” and • Application specific rules like: “If loan was <declined>” 21 Navigation Decision Table (OpenRules example) 22 Rules-based Interaction Library Live Demonstration 1) Web-based Loan Approval Interaction - how does it look ( a user view) 2) Underlying Rule Project - how was it done (an admin view) 23 Demo Scenario: Loan Approval # Events and Facts Peter Johnson’s Loan Application Decision Comments 1. Peter Johnson applied for $50K loan Rejected Insufficient Income. But a bank manager found that their valuable client with the same address can be a guarantor 2. Joe & Dawn Johnson agreed to be Peter’s guarantors. They have a Housing Loan with Available Equity = $300K and Remaining Debt = $150K Accepted $100K surplus is a sound proposition. But Conducting more detailed analysis, the manager notices a joint borrowing on Mr Johnson file which is not with his wife 3. Joe Johnson and his partner Bill Smith (50/50) have a Business Loan for $200K with Available Equity $52K Accepted The remaining $26K surplus still meets requirements. But Bill and Susan Smith have other facilities outstanding against their property as well as the business loan 4. Bill & Susan Smith have a Housing Loan with Available Equity = $240K and Remaining Debt = $150K Accepted Still a surplus. But a lending clerk also notices a secured personal loan in the name of Tommy Smith for $50K secured by his parents 5. Their son Tommy Smith has $50K loan secured by his parents Rejected Available Equity $42K < $50K.The business debt would be $8,000 short on cover 24 A Web-based Front End: Loan Application 25 Rejected. Requests a Guarantor 26 Guarantying Security (Joe&Dawn Johnson) 27 Related Security (Joe Johnson &Bill Smith) 28 Related Security (Bill&Susan Smith) 29 Related Security (Tommy Smith) 30 No Related Securities Anymore 31 Peter Johnson’ Loan Application Declined ($8K less) 32 Demo Implementation • Each time when a user answers to the generated questions and moves to the next page, the decision-making rule engine is called • Each engine’s run recalculates the total equity and total remaining debt using ALL related securities known so far, and then it makes an Accept/Decline decision 33 Rule Administration Tool: Loan Approval Rule Project 34 Integration with Business Contexts • Our approach moves the interaction logic into an application specific rule project, so it becomes a BRE problem • To get access to an external business context, the underlying rule language should be able to deal directly with objects like Driver, LoanApplication, or TaxReturn described “somewhere” outside rule project • The current implementation of our Interaction Library works directly with: – Java-based business objects – XML Structures (without creating intermediate Java objects) • We believe that a good rule language should be able to deal with objects (Driver, Loan, etc.) in the same way whether they come from Java, Database, XML schema, WSDL or RDF 35 Integration with Portals • While the presentation logic is usually outside of business rules reach, the Interaction Library not only defines the dialog pages, sections, and questions, but can also set their presentation attributes like: Layout=horizontal Type=textarea • A customizable build-in graphical interface allows a developer to easily plug-in the interaction rule project into different Web-based portals 36 Portal Integration Schema Pages, Sections, Questions Inter-Question Relationships Rules Administration Tool Business Rules Repository Predefined Templates Create Dialog Rule Engine Execute Dialog Rule Engine Rendering XML Page Data Web Client (IE) Web Client (IE) … Web Client (IE) Interaction Library Java Objects Generated HTML XSLT Processor Web App Server CSS file XSL Page Template 37 Important Observations • An important point: rules generate requests • A concrete Interaction Processor’s implementation converts these requests to queries or to GUI questions (as we did in this demo) • Ultimately, there could be no human interaction at all, while knowledge “what and when to ask” still can be kept in the same rules • A Web dialog of this demo is only one of many possible interaction forms 38 Used BREs • • The rules-based Interaction Library is BRE vendor-independent. However, only rule engines with a powerful decision table rules templatization mechanism can be used There are two current implementations: 1. Exigen Rules (www.exigengroup.com) 2. A new free Open Source full-scale BRE product “OpenRules” (http://openrules.com) Note. Other popular BREs can be added upon a request 39 Summary • The proposed rules-based Interaction Library provides a practical solution to real-world business problems with complex interaction logic • Along with an ability to build powerful interaction servers, it provides a customizable Web-based front end for dynamic dialogs 40 Questions & Answers Jacob Feldman, Ph.D. Edison, NJ 732-662-7233 office 732-306-0685 cell jacobfeldman@openrules.com 41