Graphical Business Rules Engine
VisiRule provides a robust Business Rules Engine with a graphical Business Rules Editor which enables users to create and deliver business rules applications simply by drawing decision charts and/or using machine learning. Complex knowledge can be represented clearly and elegantly in decision tree software diagrams enhanced by a dedicated English-like business rules language.
Powerful Business Rules Engine
VisiRule provides a powerful business rules engine which enables authors to separate business logic from application-specific code. Users can capture business logic visually without coding and implement changes independent of application specific code. This enables greater business clarity and higher degree of maintainability.
By incorporating Machine Learning technology, VisiRule charts can be auto-generated from data and then updated and annotated by human experts.
VisiRule’s approach of "programming via flow charting” permits rapid prototyping and review, and greatly enhances the accurate capture and shared understanding of decision flows. The ability to represent complex decisions in layers helps ensure quality, transparency and ease of maintenance.
Business Rules Engines
Once a chart is completed, VisiRule Publisher will walk through and generate the rules to be executed by the underlying Business Rules Engine (BRE) along with the associated data access calls and, if needed, an interactive questionnaire. The BRE is standards-based and easily integrated into most modern delivery environments and architectures using REST and JSON.
VisiRule encourages authors to represent business process models in a clean, graphical manner using logical expressions to control the execution flow. This enables business professionals to capture, share, discuss, test and automate their business's decision-making processes in a coherent and transparent way.
Business Rules can be used in many parts of the business, wherever there are clearly defined rules which underpin some decision process. Automating these requires a dedicated Business Rules tool which helps in the task of identifying, extracting, building, validating and evaluating the rules used within the business.
Business Rules Engines naturally separate business logic from mission-critical applications in order to gain agility and improve operational performance. You can use a business rules engine to streamline business processes, as well as adapt to changing policies and regulations in order to expand into new markets.
Business Rules Automation
Popular target areas for rules-based automation include sales configuration and quotation, insurance underwriting and claims eligibility, financial loan evaluation, robo-advice and robo-lawyer, and also manufacturing and engineering scheduling and support. Business rules engines enable business rules software to run either interactively, i.e. question and answer driven or automated, i.e. data-driven. VisiRule supports any combination of the two, and is a true hybrid Business Rules solution.
VisiRule Author and VisiRule365 are dedicated rules capture and authoring tools aimed specifically at business users rather than programmers. VisiRule Author helps business professionals express the logic behind their decisions graphically. The charts are directly executable and the logic immediately tested and validated.
Modularity & Multiple Charts
To enable manageability and scalability, decision models can be split across multiple VisiRule charts and files. This means the development of large models can be shared between multiple authors. Individual charts can be developed and tested on their own, and then combined within a larger framework.
Business Rules Engine REST API
You can deploy your VisiRule/Flex application within a Windows container. Containers provide the tools to organize and build micro-services. They wrap a VisiRule application up within in a complete file system that contains everything it needs to run: code, run-time, system tools and system libraries. This guarantees that it will always run the same, regardless of the environment in which it runs. Using containers in the development process lets different teams work on different micro-services simultaneously.
"Containerization is an approach to software distribution in which an application or service is packaged so that it can be deployed in a container host with little or no modification."
Eric Boyd, Corporate Vice President, Azure AI
Business Rules Engine Integration
Big Data Rules Engine
VisiRule can access data in almost any database system both RDMS (SqlServer, Oracle, MySQL, SAP, Access) and NoSQL such as Redis. VisiRule can receive data from spreadsheets (Excel), text files and remote devices (SCADA etc). VisiRule a Big Data Rules Engine. When coupled with tools such as Azure IoT Hub and the Azure Event Grid VisiRule can provide intelligent support for IOT.
VisiRule Mapper provides a UI to map questions on to fields in external tables, so that rather than be asked, they are answered by using existing data. Computed output can be sent back to the screen, uploaded to a server or written back into a database.
Explaining Your Decisions
Each decision point leaves a marker. By collecting up all these markers, and the values used to determine them, it is possible to reconstruct the reasoning behind how a conclusion was reached based on the data used. VisiRule can produce a justifiable explanation for its decisions. This is essential to produce transparent and trustworthy systems. Contrast this to neural nets which can NOT offer explanations as to how a decision was reached and are very much an unaccountable 'black boxes'.
Decision Visualization & Decision Analytics
Each visitor leaves a footprint of their visit, the path they took, the answers used, rules fired and the conclusion reached. VisiRule collects these. You can visualize and analyze this traffic to gain insight into a chart's performance, and learn how to improve it based on actual usage.
Business Rules Engine Multi-layered Architecture
VisiRule generates executable rules in terms of the Flex expert systems toolkit. Flex supports both forwards and backward chaining rules and uses an English like Knowledge Specification Language (KSL). You can define and invoke Flex from within VisiRule. VisiRule/Flex is built on LPA Prolog, a well established logic-based AI language, which provides meta-reasoning and the ability to backtrack thru a search space to find alternate solution paths.
Business Rules Tools
Flex also supports frames, procedures, as well as, access to other programming languages such as Prolog, C#, Java, VB and .NET. This provides for a multi-layer development environment. The high-performance LPA business rules engine plus a wide range of business rules tools makes full integration into back-end services easy, and supports a mix of both interactive and data driven capability.
Questions Types and Expressions
Many automated Business Rules Engines only allow for simple rules, i.e. atomic tests. VisiRule provides a comprehensive set of logical operators which means the rules can be as simple or complicated as needed. Business experts often don't just say "Yes" or "No" based on simple logic, but have to consider many interrelated factors.
Single-choice questions present two or more mutually exclusive options such as "Yes/No", "Hot/Medium/Cold" or "French/Spanish/Italian/Other". Each option has a logic branch associated with it and an expression.
Multiple-choice questions present multiple non-exclusive options say "Eating/Drinking/Walking/Swimming", and allow the user to choose any number of items. VisiRule provides a sophisticated set language to analyse all the possible combinations of answers so that you can test for partial inclusions and exclusions.
In both cases, VisiRule 'harvests' the values by looking within every relevant expression, and automatically constructs the menus containing all the values referenced. This saves time and reduces the scope for error.
Basic numerical or text input use dedicated number or text input questions. Expressions test to see if the given answer succeeds, e,g, "?Age > 25 AND ?Income > 35K". Similar tests are available for text or set input, and a wide variety of text analysis routines are provided to support NL 'chatbot' interfaces.
Answers to questions are generally used immediately but as questions have unique names, you can refer to them. This means you can ask questions when you want them to be asked, and use them later; i.e. deferred logic.
Statement boxes behave like computable questions, but rather than ask the user for a value, they execute code to produce a value. Often, this code uses previous answers to produce derived values. For instance, you may want to calculate the Density of an object using its Mass and Volume.
Logical expressions are bits of logic used to help populate questions and test their answers. VisiRule automatically uses the values in expressions to populate questions when running in interactive mode. In embedded mode, they are used to validate the data. Expressions are like guards, in that they have to succeed for the computation to follow that branch of reasoning.
Powerful Maths and Logic Processing
VisiRule includes a powerful maths package and complete set of logical operators. You can use any of the many built-in maths or text handling routines defined in Flex or LPA Prolog, and, you can call out to programs defined in Flex and/or Prolog or any other language such as Python, C, C#.
Separation of Application Code from Business Rules
Like most modern Business Rules Management Systems (BRMS), VisiRule separates the operational business rules from the application code. This separation means that Business Rules can be managed, updated and maintained more easily without needing to change any program code, and by non-technical staff rather than programmers. The Business Rules are executed by a dedicated high-performance Business Rules Engine. The resulting systems are more robust, resilient and adaptable.
This separation empowers business users and means that those people involved in the business can define and validate their business processes. The resultant knowledge base is accessible to colleagues as VisiRule charts and Flex rules can be viewed and easily understood by all those involved with the business process.
VisiRule not only supports the design, documentation and execution of the dense chain of reasoning that is a common feature of business rules systems, but also, thanks to modern server farms, supports solutions that are scalable from internal users to outside business partners and customers.
VisiRule’s unique approach of "programming via flow-charting” permits rapid prototyping and review, and greatly enhances the accurate capture and shared understanding of business decision flows. The ability to represent complex decisions graphically helps ensure quality, transparency and ease of maintenance.
Business Rule Engine Tools
Backward Chaining Logic
VisiRule is a graphical tool which generates executable rules in the form of Flex backward-chaining rules denoted by the KSL keyword 'relation'. These are goal driven. The logic-based Inference Engine supports complex logic which can be used to solve complex problems in a manner comparable to human experts.
Forward Chaining Production Rules
Flex also supports forward-chaining production rules denoted by the keyword 'rule'. These are data driven. These are not represented graphically in VisiRule but can be used as in the insurance demo on the Financial Expert Systems demo page.
Interleaved Forward and Backward Chaining
VisiRule supports both forward and backward chaining inferencing. You can interleave these, so that from within a forward-chaining session you can use backward chaining to establish local provability.
Charles Forgy talks about the difference between Forward and Backward chaining.
LPA, the company behind VisiRule, has been in the business of delivering robust and reliable rule-based systems since it was founded in 1981. LPA software has been successfully deployed in various sectors and its team of engineers have obtained a lot of experience in building and deploying rules-based solutions.