◷ Reading Time: 6 minutes
What is a Decision Graph?
Decision Graph is an orchestration model that inter-connects decisions such as Decision Requirement Diagram (DRD), reusable sub-DRD, and other types of graphs.
Decision Graph can also be created following Decision Model and Notation (DMN), which is an open standard notation for modeling decisions that are based on logic, data, and processes. It was developed by Object Management Group (OMG) in 2014. It provides meta-model, notation, and semantics for decision modeling. This is a complimentary notation to BPMN for modeling operational decisions and business rules.
What is a Decision
A decision is an act of determining an output value, based on a number of input values, using logic defining how the output is determined from the inputs. A decision model is a model in a specific area that defines decision requirements and decision logic.
In DMN, A decision is modeled at two levels:
- Decision Requirement
- Decision Logic
A Decision Graph is a high-level model that defines one or more Decision Graphs, which makes a Decision Requirement Graph (DRG). At the Decision Logic level, the different details of the implementation of logically related to each node (e.g., Decision) in the DRG is defined. This logic can have any implementation, but as far as DMN is concerned the Decision Table is a standard way of logic implementation.
Decision Graph allows connecting sub-decision graphs in the decision hierarchy. This also ensures that the reusable decision graphs can be connected as necessary, without having to duplicate the decisions.
For example, in the following figure, you can see that we have reused the Post-Bureau Affordability graph in both Bureau Strategy Decision and Approval Decision.
One of the benefits of modeling in DMN is that, not only can it model the actual decision-making process at different levels, but also that you can model (link) the documentation, references, and authorities around these. The Knowledge Source is for that purpose. Also, it can be used to check the impact of change if these sources are changed.
Decision Logic Level
At this level, the implementation of decisions and business knowledge can be linked to each node at the decision requirement level. These implementations can vary based on your needs, product capabilities, and other factors (e.g., your familiarity with a specific type of logic: Decision Table, Tree, etc.).
In DMN, a Decision Table is a common way to present business knowledge in a tabular form. It has its own characteristics compared to a generic decision table.
Other Logic Types
In FlexRule, we support other types of logic as well as Decision Tables, so you can simply link this logic to business knowledge as the implementation of the logic. This logic is:
- Decision Table (DMN standard method)
- Tree (i.e. Validation, Decision)
- Natural Language
Decision Graph Elements
In the table below, all of the elements on a Decision Graph are illustrated:
|Decision||The act of determining an output from a number of inputs, using decision logic which may reference one or more business knowledge models.|
|Business Knowledge Model||A function encapsulating business knowledge, in the form of business rules, decision tables or an analytic model. Some of the tools may not support this element. In such cases, the decision logic is directly linked to the Decision rather than the business knowledge model.|
|Knowledge Source||The authority for a business knowledge model or decision.|
|Input Data||Information used as an input by one or more decisions. It also denotes the parameters of a Business Knowledge Model.|
|Information Requirement||Information – input data or decision output – required for a decision.|
|Knowledge Requirement||The invocation of a business knowledge model.|
|Authority Requirement||Showing the knowledge source of an element or the dependency of a knowledge source on input data.|
To add a new Decision Graph,
Document Types --> Business Logic --> Decision Graph
Once you added a term, this will be the window.
Decision Graph Properties
- Name: Name of the flow
- Node Type: Type of the node
- Types Definition: List of types and functions
- Variable Definition: Define variables to be used in the flow
- Glossaries: Link Business Glossaries and Boxed Expressions
- Resources: List of resources to reference
The toolbox has the following items.
At the top menu, you can see the following items.
- Open the related logic document for this node: Open the logic document of a selected node
- Create a logic document for selected node: Create a logic document for a selected node
- Delete item: Delete a selected item
- Highlight the impacts of the selected node: Highlight the impacts of a selected node
- Properties: Properties of the page or a node
- Variable properties: Define/ update/ delete variables
- Compile to execution plan: Shows the XML version of the diagram
- Business Glossary: Link Business glossaries and boxed expressions
- Overview of entire model: See the entire model
- Zooming: Zoom in or zoom out
- Export to image: Export the document to an image
- Alignments: Align nodes
- Resize: Resize selected nodes to a single size
- Layout arrangements: Automatically arrange and layout the nodes
- Change connections: Change connection styles to straight/ Bezier or Right Angle
Node/ Connection Properties
If you click on a node/ connection, its property window will appear. The properties vary depending on the node type.