Ruleflow diagrams are displayed on the Ruleflow canvas. The objects that can populate a Ruleflow canvas are displayed in its palette:
These objects are used as follows:
Connections are the objects that connect or stitch assets and objects together to control their sequence of execution. If a connector is drawn from Rulesheet sample1.erstosample2.ers, then when a deployed Ruleflow is invoked, it will execute the rules in sample1.ers first, followed by the rules in sample2.ers.
Connections are used on a canvas but are not Corticon assets. They have no properties yet can change color when you choose Preferences > Viewruleflow Diagram > Appearance > Line color (which also will change the object outlines as well.)
Rulesheets are the essential Corticon assets in a Ruleflow. By arranging and organizing Rulesheets in the Ruleflow, you can specify execution sequence of the Rulesheets and offer control of the iteration of the Rulesheets.
Ruleflows serve as a kind of deployable container for Rulesheets. Rulesheets remain the basic unit of decision making, but they become much more reusable when combined in different ways in different Ruleflows.
For example, Rulesheet sample.ers can be included in many Ruleflows that use the same Vocabulary, each of which may have its own use in different business processes or applications.
Just as set of rules can be defined on several Rulesheets, and then assembled into a Ruleflow, Ruleflows can also be used as modules that are assembled into a 'master' Ruleflow. This capability makes it easier to test components of a large complex solution, as well as to make the 'master' Ruleflow canvas easier to read and understand.
Service Call-outs are a type of extension to a Ruleflow, and require significant Java development expertise. While they are not named assets in a project, they are named operations that are loaded into your Studio and Server projects. The method for building Service Call-outs is documented in detail in the Extensions User Guide.
Branching lets you chose an attribute that is true/false (Boolean) or defined in a list (enumeration) so that data being processed is channeled to the branch object (Rulesheet, another Ruleflow, a Subflow, or a Service Call-out) that will act on it, as well as the subsequent objects that areconnected to it the branch. Branches are powerful processing structures of Corticon assets, yet are not in themselves Corticon assets.
Subflows provide a way to group multiple Corticon assets as a subset of a complete Ruleflow, and can be set to iterate so that all the objects in the subflow are re-executed until the values derived by their constituent rules cease changing. Subflows are a grouping mechanism of Corticon assets used on a canvas, but are not Corticon assets.
Note: While you can have multiple subflows in one Ruleflow, re-using a subflow name that has different Rulesheets and connections will evaluate the last one compiled ("farthest downstream") and use that for all instances.
Rulesheets, Ruleflows, and Subflows can be designated for iteration by clicking the Iterative icon in the palette, and then clicking on the target object on the canvas. Clicking on an iterative symbol in a object selected for iteration, and then pressing Delete removes the iterative assignment. Iteration settings are used on a canvas but are not Corticon assets.