Decision table is an approach to model rules and logic in a tabular form.
Using our framework allows non-techie people e.g. domain experts, business analysts, QA… can simply use a decision table to model and execute a logic. Decision table can be simple created by Ms Excel, Google Document Spreadsheet as a visual way of modeling them. Or as a developer you may prefer using an XML based language to model a decision table.
Natural Language logic are one of the very comfortable for of modeling a logic.
A Natural Language allows both Business User to model a logic in their talking language (e.g. English). It allows you to define business glossary (i.e. terms) and then reuse them in Natural Language rule. You can adapt your business domain and terminologies and start writing executable logic and modeling business rules using them.
Procedural rule are one of the most powerful way to implement the logic as you would have done in your own programming language.
In a procedural rule you can simply access variables value, call methods, instantiate new objects, iterate through a collection or list, connect to database, handle exceptions and so on. You can extend the behaviour and commands of procedural logic or you can create your own custom one simply.
Validating system inputs has been always a challenge. Validation and Decision rules allow you to create a structured hierarchy of conditions and execute them against a CLR object or an anonymous type.
This engine allows Boolean operations divided into multiple logic and can call those logic inside a validation rule which enables reusability of common logic inside a validation rule or between multiple of them. In validating an object, evaluation can access objects properties and methods. Also input, output and local parameters can be defined and your application then can pass those values in and read the results.
Flow logic is a way of defining the sequence of executing multiple rules and decisions. These sequence can be the steps executing rules, decisions, or flow of business operations and activities.
In defining a flow logic, you simply define the steps, and connect them using transition to orchestrate the sequence. You also may have simple primitive steps and complex composite steps. Each step in flow can be simply a procedural, validation, decision or own custom logic.
Workflow is a specific type of Flow. In an enterprise application there are logic that require users action
Workflow allows you to handle all Semi-Automatic and manual tasks. It allows your application handles long running operation and supports out-of-the-box state management and persistence. Using the workflow managers allow you to write your custom behaviour and inject them into workflow during the execution. It supports signals, external events which they can reload a persisted workflow and resume the execution.
Our decision graph model is based on Decision Model and Notation that is a Decision Requirement Diagram or in short DRD.
This allows you to create a network (graph) of decisions for your scenarios based on the dependencies rather than order of execution. This simplifies how you model a complex hierarchical decisions. It supports different type of nodes and relations.