Mechanism and system for representing and processing rules
OwnerPilla Gurumurty Patruduinventor
Life of this patent
Estimating the term…
Abstract
This invention utilizes a concept called color, which implies a variation, and applies it to natural language attributes like verbs and nouns. The verb color is defined as a role or operation in which the field participates. The noun color is defined as a form of the field. The auxiliary verb color is defined as a path to the field from a known object reference. The noun color may be defined by the user or may be determined, based on the object state in which the field resides. Rules are defined by adorning the fields with one or more colors. Several types of rules are invented based on transformational properties of colors. Methods can be equated to rules, and invoked as rules. Thus, complex processes may be reduced to a set of rules, using the above mechanisms.
Claims12
A method executed by one or more processors, for processing static or dynamic information, contained locally or remotely on one or more processor readable storage devices, wherein,
- fields which represent an atomic entity, or an object or a structure, are adorned with special attributes called colors, which imply variations, and a special type of entity called conceptual class, which is a sequence of tags separated by dot characters, and implies, a logical grouping of fields, and wherein,
- rules or equations, are represented using special field names called Knowledge Base System (KB) fields, which are a sequence of class names and field names, and are adorned with said colors, and wherein,
- said class names of said KB fields may be represented by said conceptual classes, such that, said KB fields in said rules are parametric with respect to said colors and said conceptual classes, and may be specialized based on application requirement, and wherein,
- preparation of said static or dynamic information comprises:
- a) assigning a type of color called verb color, to fields in object descriptions, which implies a role or operation, in which the fields are participating;
- b) assigning a type of color called noun color, to fields in object descriptions which implies a form or representation or value;
- c) assigning verb color, to KB fields in said rules, which implies said KB field participating in role or operation, represented by said verb is sought in the equation or rule;
- d) assigning noun color, to KB fields in said rules, which implies said KB field having form or representation or value, represented by said noun is sought, in the equation or role;
- e) assigning a type of color called operational color to said KB fields, which identifies a form of the equation represented by said KB fields;
- f) associating temporary variables created during processing, with said KB fields, and assigning noun color to said temporary variables based on state of the object, or on the event or situation, which caused the creation of the said temporary variables;
- g) representing arithmetic, relational and logical equations, as KB rules, such that fields of said equations are parametric to said verb/noun/operational colors;
- h) assigning a type called Type-1, to KB rules, whenever the verb colors and operational colors of a field, are transformed into a verb color and/or operational color of the same field;
- i) assigning a type called Type-2, to KB rules, whenever several fields with operational colors and optional verb colors are transformed into a new field, with an optional operational color and verb color;
- j) assigning a type called Type-3, to KB rules, whenever several fields with operational colors and optional verb colors are transformed into a new field, with an optional operational color and verb color, wherein the operators of the rule are limited to division;
- k) assigning a type called Type-4, to KB rules, whenever the verb colors and operational colors of a field, are transformed into a verb color and/or operational color of the same field, wherein the operators of the rule are limited to a class of operators called relational or logical operators;
- l) assigning a type called Type-5, to KB rules, whenever several fields with operational colors and optional verb colors are transformed into a new field, with an optional operational color and verb color, wherein the operators of the rule are limited to a class of operators called logical operators;
- m) representing a sequence of rules, which may be equations or methods, as a process;
- n) imposing a structural rule upon equations and methods of said process, such that subsets of said equations and methods are enclosed in loop or decision control structures;
- o) assigning a type called Type-6 to KB rules, whenever KB rules of Type-1 thru Type-6, or methods are composed under a generalized composition, and are optionally structured by an instance of said structural rule;
- p) representing method signatures of method descriptions contained in said static and dynamic information, as rules, wherein formal parameters of methods are represented using said KB fields, and are parametric with respect to said colors;
- q) assigning a sequence number to every iteratable structure within an object, wherein said sequence number matches a depth-first-traversal sequence number of the iteratable structure within the object, when only the iteratable structures are traversed;
- r) associating a navigation path of an object, selected from a plurality of navigation paths, and the depth-first-traversal sequence number of the iteratable structures, within the navigation path, with one type of color, called auxiliary verb color, such that said KB fields may be accessed using the navigation path associated with said auxiliary verb color;
- s) assigning a type of color to said KB fields of rules called constant source color, which implies that the current field, is located in the same object instance as that of a previous field;
- and
- t) assigning a type of color to said KB fields of rules called special color, which implies that the color may be mapped to a static or non-static method of an object, which accepts the field as input and produces a predefined type of output.
A system, stored in a non-transitory computer readable medium, called Knowledge Base System (KB), including computer usable program code for processing static or dynamic information, wherein, fields which represent an atomic entity, or an object or a structure, are adorned with special attributes called colors, which imply variations, and a special type of entity called conceptual class, which is a sequence of tags separated by dot characters, and implies, a logical grouping of fields, and wherein,
- fields of rules or equations are represented using special field names called KB fields, which are a sequence of class names and field names, and are adorned with said colors, and wherein, said class names of said KB fields may be represented by said conceptual classes,
- such that said KB fields in said rules are parametric with respect to said colors and said conceptual classes, and may be specialized based on application requirement, comprises:
- a) A tool called KB translator, Means for translating—said field descriptions, utilizing said colors and said conceptual classes, which are contained in said collaboration object descriptions, and, said rules in method descriptions, wherein said rules contain uniquely identifiable tags called KB prefixes and commands, to equivalent statements of a predetermined host language;
- b) A plurality of tables called KB tables, Means for storing—predefined configurations and associations, of said colors and said conceptual classes;
- c) A plurality of modules called KB Runtime, Means for supporting code generated by said KB Translator, for said rules, for a predefined host language;
- d) Means for storing State-Noun mappings of said fields of said objects in a predefined table called State-Noun mapping table;
- e) Means for storing State-Noun mappings of said fields specified in said rules, in a predefined table called working State-Noun mapping table;
- f) Means for storing conceptual class mappings in a table called Indirect Conceptual class table;
- g) Means for storing navigation paths of an object, and an array of sequence numbers, made up of depth first traversal sequence numbers of iteratable structures within the object, and the associated auxiliary verb colors;
- h) Means for storing the KB field names associated with temporary variables, and the collaboration object id, in whose method the temporary variable is created, in a table called the Symbol table;
- i) Means for storing the value of the temporary variable, the noun value, the reference of the object, which can determine the noun, called noun container, the class name of the said noun container, the field name, in a table called the value table;
- j) Means for storing the associations between the verb on the left hand side of the equation, with the verbs on the right hand side of the equation, in a table called the verb distribution table;
- k) Means for storing the association between said special color and an object and method, along with its return type, in a table called the special color table;
- l) Means for storing the association between said constant color function and the value of the verb, from which the said constant color function maps, and the value of the verb, to which the said constant color function maps, as a table called the constant color table;
- m) Means for storing the association between said constant source function and the value of the source, from which the said constant source function maps, and the value of the source, to which the said constant source function maps, as a table called the constant source table;
- n) Means for storing the association between the field specified on the left hand side of the equation and the expression specified on the right hand side of the equation, along with an identifier called the type of the equation, an optional conditional equation, called the guard, and an optional structural rule, in a table called the rules table.
Dependencies are inferred from the claim text.