<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Building and Analyzing Goal-Oriented Decision Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jacob Feldman</string-name>
          <email>jacobfeldman@openrules.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>OpenRules, Inc.</institution>
          ,
          <addr-line>53 Riviera Dr., Monroe, NJ 08831</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Goal-oriented business decision modeling is driven by the need to simplify communication between business analysts and operational business decision models while extending the capabilities of traditional business rules and decision management systems. The proposed goal-oriented approach aims at creating business decision models which cover certain business domains and can reach multiple business goals by providing answers to various questions in terms of automatically calculated decision variables. Such decision models can be designed by defining the hierarchy of business goals and subgoals with relationships between them described in business-friendly decision tables. The supporting tools should be able to automatically execute decision models without asking human modelers to specify any additional relationships. This paper also introduces a new web-based graphical tool “Decision Model Analyzer” that allows human decision modelers (who are assumed to be business analysts and not programmers) to easily add their decision models to the analyzer. Then the analyzer shows all goals supported by the selected decision model, automatically calculates their execution paths, executes the selected goals against various test cases, and explains why certain decisions were made on the way to the goal. The analyzer is publicly available online as a component of the popular open source business rules and decision management system “OpenRules”.</p>
      </abstract>
      <kwd-group>
        <kwd>Business Rules</kwd>
        <kwd>Decision Models</kwd>
        <kwd>Goal-Oriented Modeling</kwd>
        <kwd>Decision Model Execution</kwd>
        <kwd>Decision Explanation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Nowadays operational decision models are at the center of modern enterprise-level
applications that help humans to make better business decisions. The DMN standard
[1] helps business users to define their decision models by using standardized
decisioning constructs such as decision tables. Helpful books and guidelines for
building decision models are described at the Decision Management Community
website [2]. However, real-world decision modeling experience shows the need to
simplify communication between business analysts and operational business decision
models while extending the capabilities of business rules and decision management
tools currently available on the market [3]. In the paper [4] we have shown how
DMNbased decision models can be extended to determine multiple feasible decisions and
even find decisions which minimize/maximize certain business objectives. In this paper
we introduce a goal-oriented approach to business decision modeling that makes it
simpler for business users to create and maintain their decision models.</p>
      <p>The proposed approach aims at creating business decision models which cover
certain business domains, and which are capable of reaching multiple business goals by
providing answers to various questions in terms of automatically calculated decision
variables. Such decision models can be designed by defining hierarchies of business
goals and subgoals with relationships between them described in business-friendly
decision tables and/or other DMN constructs. This approach assumes the use of more
powerful decision modeling and execution tools which free business users from
necessity to provide additional information that can be automatically calculated.</p>
      <p>For example, various inferential (as opposite to sequential) rule engines are capable
to automatically determine an execution order for different rulesets and rules within
decision models. Whether they do it in run-time or in design-time, they free a user from
necessity to provide rules sequencing information making the decision models more
declarative. However, the current DMN guidelines usually recommend human decision
modelers to specify knowledge and information requirements defined by DMN as
follows:
▪
▪</p>
      <p>Information Requirements may be drawn from Input Data elements to
Decisions, and from Decisions to other Decisions. They represent the
dependency of a Decision on information from input data or the results of
other Decisions
Knowledge Requirements may be drawn from Business Knowledge Models
to Decisions, and from Business Knowledge Models to other Business
Knowledge Models. They represent the invocation of business knowledge
when making a decision.</p>
      <p>These requirements are specified as arrows within DMN decision requirements
diagrams (DRDs) and can be useful to visualize a high-level view of a decision model
even before considering its future execution. These requirements can also be effectively
used by an execution engine “when making a decision” even if such an engine does not
possess inferential capabilities. However, when a human modeler specifies DMN
business knowledge models (BKMs) such as decision tables, s/he already implicitly
specifies these requirements. So, if an execution tool is capable to automatically extract
knowledge and information requirements by analyzing all provided BKMs, it means it
also should be able to figure out the execution sequence of the related BKMs. Without
asking a human to manually specify these dependencies, an inferential execution engine
will be able to automatically execute the decision models.</p>
      <p>Decision models created in accordance with the current DMN standard usually
address only one question and expect to determine a single answer given different input
data. The goal-oriented approach extends the decision model concept to go beyond one
business objective (goal) and allows a user to determine different business goals
supported by the decision model.</p>
      <p>In section 2 we explain how to build goal-oriented decision models. To demonstrate
the proposed approach, we use a well-known decision model [5] and the latest release
of the open source decision management system “OpenRules” [7]. The section 3
introduces a new, web-based graphical tool “Decision Model Analyzer” [8]. It allows
a human decision modeler (who is assumed to be a subject matter expert and not a
programmer) to easily add new decision models, execute different goals against various
test cases, and to analyze the execution results using automatically generated
explanations. The major capabilities of the Analyzer are demonstrated using the already
described decision model.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Building Goal-Oriented Decision Models</title>
      <p>The goal-oriented approach aims at creating business decision models which cover
certain business domains. Such models specify different business concepts, decision
variables, and relationships between them using business logic specific for the selected
domain. The business logic is usually presented using business-friendly decision tables
and other decisioning constructs such as those defined by the DMN standard. The
decision models should be capable to provide answers to questions expressed by users
in terms of the decision variables and which allow them to reach various business goals.</p>
      <p>To build such decision models business analysts usually start with defining a
hierarchy of business goals/subgoals and relationships between them. Let’s consider an
example of the well-known decision model originally described by Nick Broom [5].
This is a relatively simple decision model that is supposed to determine a loan
application status based on an applicant eligibility. While this decision model addresses
only one specific business goal from the Credit Card Processing domain, in the
realworld credit card processing systems, there are many other business goals, e.g.
determine whether it is worth requesting additional information from an external credit
reference agency, or instead of rejection an application offer an applicant a different
rate. But even in this, simple problem formulation, the decision model may provide
answers not to one but to multiple questions which lead to different goals. We may
consider goals and subgoals as decision variables that can be determined within a
decision model based on input data and other decision variables.</p>
      <p>Let’s consider a goal-oriented implementation of this decision model using
OpenRules. The top-level goal “Application Status” depends on two subgoals:
“Applicant Demographic Suitability” and “Applicant Credit Card Eligibility”. These
relationships are defined by the decision table in Fig. 1:
The subgoal “Applicant Demographic Suitability” depends on several Applicant’s
attributes and two other subgoals "Applicant Private Credit Card Demographic
Suitability” and “Applicant Student Credit Card Demographic Suitability” as defined
by the decision table in Fig. 2:
In turn these two subgoals are defined by the decision table in Fig. 3 and Fig. 4:
The decision table in Fig. 5 defines the subgoal “Applicant Credit Card Eligibility”:
So, we may conclude that this subgoal depends on two variables: “Applicant Card
Type” that is an attribute of the Applicant and “Applicant Credit Score”, another
subgoal. This subgoal can be determined by the decision table in Fig. 6:
And finally, here is a decision table that defines the subgoal “Applicant Balance
Transfer Credit Card Eligibility” mentioned in Fig 5:
To complete our decision model, we need to put all input and output decision variables
used by all decision tables described above into the following business glossary:
All decision variables are placed in the first column of the glossary table. They are
distributed between two business concepts “Applicant” and “Application”, to which
they naturally belong – see the second column. The third column contains technical
names (without spaces) of these variables that will be used for the integration of the
decision model with an IT system. The fourth (optional) column may specify acceptable
values for some variables. A user may add more columns such as definitions of the used
decision variables.</p>
      <p>In practice, the glossary is created when the first goal is specified, and a human
modeler adds more goals and other decision variables to the glossary as more decision
tables being specified. Please note that all goals in the glossary are hyperlinked to the
decision tables defined in different files – it’s dome by using the familiar Excel
hyperlinks. When a glossary is defined this way, it becomes the focal point of any
decision model providing an easy access to all its components.</p>
      <p>Thus, our decision model supports the following hierarchy of goals and subgoals:
•</p>
      <p>Application Status
▪ Applicant Demographic Suitability
▪ Applicant Private Credit Card Demographic Suitability
▪ Applicant Student Credit Card Demographic Suitability
▪ Applicant Credit Card Eligibility
▪ Applicant Credit Score
▪ Applicant Balance Transfer Credit Card Eligibility</p>
      <p>For every Applicant and Application, the top-level goal “Application Status” may
answer the question “Will this application be Accepted or Rejected?”. However, other
goals may produce answers to other useful questions such as “What is the Applicant
Credit Score?” or “What is Applicant Demographic Suitability?”.</p>
      <p>It is important to note that the goal-oriented approach doesn’t require a human
decision modeler to specify any execution sequence or any other dependencies between
goals and subgoals. This information can be automatically inferred from already
provided decision tables.</p>
      <p>We already have enough information to add test cases and to execute this decision
model using a rule engine such as OpenRules as described in [7]. When a rule engine
determines a goal and its subgoals, this information may provide valuable explanations
why the decision model made certain decisions.</p>
      <p>Our simple example demonstrates the basics of the goal-oriented approach to
decision modeling:</p>
      <sec id="sec-2-1">
        <title>1. Define goals and subgoals</title>
        <p>2. Use decision tables and/or other decisioning constructs to specify business
logic that determines all goals/subgoals
3. Let a rule engine to figure out all other knowledge and information
relationships within the decision model and to automatically execute the
model to determine different goals.</p>
        <p>More complex decision models can use more complex decisioning constructs, for
instance to iterate through lists of business objects, that also can be automatically
analyzed. This approach allows a subject matter expert to add more business concepts
and related goals/subgoals from the same business domain and let a supporting rule
engine to figure out how to execute the decision model to determine new goals.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Graphical Decision Model Analyzer</title>
      <p>Decision Model Analyzer [5] is a stand-alone web application built on top of
OpenRules [6]. Its main purpose is to allow a business user to analyze different decision
models to better understand why certain decision were made. The Analyzer comes with
a collection of the goal-oriented decision models from different domains including loan
origination, retail, healthcare, and some interesting decision models offered as Decision
Management Community challenges1. Fig. 9 shows the top-level view of the Analyzer:
A user may easily add new decision models by adding names of their Excel files to a
simple configuration table also defined in Excel. Custom models resided on a remote
server can be added on the fly.
1 https://dmcommunity.wordpress.com/challenge/</p>
      <p>From the view in Fig. 9 a user may select any decision model, click on the engine
icon, and start working with this model. When a user selects a decision model, the
Analyzer automatically discovers all supporting goals, calculates their execution paths,
and executes the first available test case. Then the Analyzer shows a decision model
view allowing a user to select different goals, test cases, and to analyze the execution
results. Fig. 10 is an example of such view when our decision model “Credit Card
Application” was selected.</p>
      <sec id="sec-3-1">
        <title>From this view of the decision model a user may do the following:</title>
        <p>Select a business goal from an automatically generated list of the goals supported
by this model
Select a test case and run an underlying rule engine that automatically determine
the selected goal by executing the decision model against the selected test case
Analyze the automatically determined results and produced explanations that help
to understand why certain decisions were made on the way to the goal.</p>
        <p>Fig. 11. Executed Business Rules (beginning)
In Fig. 10 we can see seven different goals that can be selected from a combo-box
“Select GOAL”. It may be useful to select and analyze all of them to better understand
the behavior of our decision model. In this case, the goal “Application Status” and the
test “Test 1” have been selected. The Analyzer shows the goal “Application Status” is
determined as “Accepted”.</p>
        <p>The table “Executed Business Rules” in Figures 11 and 12 helps a user to understand
why certain decisions were made. This table includes only those rules (from all
decision tables described in the Section 2) that were executed for the selected test case.</p>
        <p>All rules are shown in the order they were executed. The first column contains a
name of a decision table and an order number for every executed rule inside this table.
The second column shows rule formulations being transformed into IF-THEN text
format. From the decision explanation point of view, the most important column is the
last one “Variables and Values”. This column shows the values of all involved decision
variables at the moment when the rule was executed. The real-world experience
proves that it is critically important to be able to analyze the values of different decision
variables during rules execution, otherwise it could be very difficult to understand the
behavior of complex decision models.</p>
        <p>After this table, the Analyzer generates the table “Decision Variables” presented in
Fig. 13. It contains descriptions of all decision variables distributed between business
concepts (as specified in the glossary in Fig. 9). Based on the interest of your analysis,
you can collapse (“-“) and/or expand (“+”) different business concepts to concentrate
only on those you are currently interested in.</p>
        <p>For every input and output decision variable the table “Decision Variables” shows
its final value after the decision model execution. You can click on “?” next to the
decision variable and the large table presented in Figures 11 and 12 will be filtered to
include only those rules that deal with this decision variable. For example, if you click
on the “?” next to the variable “Applicant Balance Transfer Credit Card Eligibility”,
the Analyzer will show only two rules which are currently presented in Fig. 12. A click
on the big button “WHY” will restore the entire table.</p>
        <p>The Analyzer also produces the execution protocol that shows conclusions of all
executed rules with the used values along with the execution time.
You may try the Decision Model Analyzer online as it is publicly available from
http://openjvm.jvmhost.net/OpenRulesAnalyzer.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>Subject matter experts may apply the goal-oriented decision modeling approach to
build, test, and analyze their domain-specific decision models. We demonstrated the
proposed approach using a relatively simple decision model and defining its goals and
subgoals in Excel-based decision tables. It is important that it is not necessary for a
human decision modeler to explicitly specify any execution sequence or dependencies
between goals and subgoals as the underlying rule engine is capable to automatically
infer this information. Then we applied the OpenRules Decision Model Analyzer to
execute this decision model and to determine different goals and subgoals for various
test cases. The Analyzer provides powerful capabilities to help a user to understand
why certain decisions were made.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>Decision Model and Notation™ (DMN™)</article-title>
          , Object Management Group (OMG), http://www.omg.org/spec/DMN/Current Decision Management Books, https://dmcommunity.org/resources/books/ Catalogs of Decision Management tools, https://dmcommunity.org/tools/ J. Feldman:
          <article-title>What-If Analyzer for DMN-based Decision Modeling, Proceedings of the RuleML 2016 Challenge, Doctoral Consortium and Industry Track hosted by 10th International Web Rule Symposium</article-title>
          , New York, USA, July 6-
          <issue>9</issue>
          ,
          <year>2016</year>
          , http://ceurws.org/Vol-
          <volume>1620</volume>
          /paper2.pdf , http://openrules.com/WhatIfAnalyzer.htm Nick Broom:
          <source>Going DMN-tal, January</source>
          <volume>8</volume>
          ,
          <year>2014</year>
          , https://horizonbusinessarchitecture.com/
          <year>2014</year>
          /01/08/going-dmn
          <article-title>-tal/ Old Decision Model “Credit Card Application” Implemented with New OpenRules-7</article-title>
          ,
          <string-name>
            <given-names>OpenRules</given-names>
            <surname>Blog</surname>
          </string-name>
          , June 2,
          <year>2018</year>
          , https://openrules.wordpress.com/
          <year>2018</year>
          /06/02/old-decisionmodel
          <article-title>-credit-card-application-implemented-with-new-openrules-7/ OpenRules, Open Source Business Rules and Decision Management System, http://openrules.com Decision Model Analyzer</article-title>
          , http://openrules.com/analyzer.htm
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>