KBM Rules and Process Structures
Posted on 25 Jul 2020; 07:00 PM IST. Last Updated 27 Jul 2020; 01:00 AM IST.Summary: A KBM rule is a declarative expression for the intent of an action. Rules can be further composed into rule graphs, which are regarded as high level process structures. Rule graphs can be further composed into higher level process structures (graphs) known as Tasks or Gears, and these can be further composed into activities. Finally, a workflow can be derived as a graph of activities.
A KBM rule is a declarative expression for the intent of an action.
In KBM, rules may be defined in terms of entity types and colors, as shown below.
EntityType-1+colors op EntityType-2+colors op . . . op EntityType-n+colors;
where, “op” represents an operator, which could be arithmetic, relational, logical or sequence operator.
In addition to the above regular operators KBM provides a few special operators, like:
Typecasting operator, binding and characteristics operators.
The type cast operator is depicted as:
<EntityType-2+colors> EntityType-1+colors
KBM translator converts this into a binary expression as shown below.
EntityType-1+colors <> EntityType-2+colors
There are 4 types of rules, namely
a) Arithmetic b) Conditional c) Actions d) Grouping
Rules can act on the underlying entities in several ways, and the manner or pattern of action is regarded as the type or behaviour of the rule.
Arithmetic and Conditional Rule Types
Arithmetic and Conditional rules can act on entities in two ways.
i) Rules which act on different colors of an entity and produce a new color of the same entity, are called generalized Type-1 rules.
ii) Rules which act on different entities and produce a new entity, are called generalized Type-2 rules.
Arithmetic rules which employ only addition and subtraction operations are based on the generalized Type-1 transformation scheme. These are called Type-1 rules.
Arithmetic rules which employ multiplication and division operations are based on the generalized Type-2 transformation scheme. These are called Type-2 rules.
Type-3 rules are not currently used, but may be used to mix both Type-1 and Type-2 rules.
Conditional rules which employ relational operators are based on the generalized Type-1 transformation scheme. These are called Type-4 rules.
Conditional rules which employ logical operators are based on the generalized Type-2 transformation scheme. These are called Type-5 rules.
Action Rule Types
An action is defined as a rule which comprises of a sequence of entities with method invocations. The general form is as shown below.
e1+colors.$$m1.%v-method-color * e2+colors.$$m2.%v-method-color * . . . *en+colors.$$mn.%v-method-color;
Each term of the rule has an entity specified as: ei+colors;
and an optional method specified as: $$mi.%v-method-color;
where the method color identifies the formal parameters of the method, by a process known as "coloring".
An action rule can have two sub types, based on when the colors of the entities are evaluated.
i) The colors of an entity specified in a term, can be evaluated after executing the method specified on the previous term. Rules which obey this scheme are called Type-6 rules.
ii) The colors of all entities (of all terms), specified in a rule could be evaluated prior to executing any term i.e its method. Rules which obey this scheme are called Type-7 rules.
Grouping rule Types
Grouping rules employ sequence operators, and have two sub types, depending on their function.
i) Rules which are grouped as case blocks, are called Type-8 rules.
ii) Implication Rules: Rules which are grouped to support implication behaviour, are called Type-9 rules. In these rules, when all terms of the LHS are satisfied, then the RHS term is implied and inducted into the context.
Process Structures
Rules can be further composed into rule graphs, which are regarded as high level process structures.
Rules graphs can be further composed into higher level process structures (graphs) known as Tasks or Gears, and these can be further composed into activities.
Finally, a workflow can be derived as a graph of activities.
References:
1. Mechanism and System for Representing and Processing Rules; USPTO. Patent Number: 7,890,928. Date: Feb 15, 2011.
2. Mechanism and System for Representing and Processing Activity Models; USPTO. Patent Number: 9,176,951; Nov 03, 2015.