Compilation of information contained in GDMO name bindings
Abstract
Information on GDMO managed objects, including class hierarchy and the name binding templates, is compiled into a naming table. This naming table is built from an inheritance table and the name binding template information. The inheritance table indicates the inheritance hierarchy of the managed object classes. The compiler builds the inheritance table as a square matrix with a row and column for each class, and the classes arranged in an ordered list from highest to lowest in hierarchy. The compiler enters a one at each position in the inheritance table to indicate that the managed object class in the row inherits from the managed class in the column. With the inheritance table as a ready reference, the compiler builds the naming table from the name binding templates available as listed in the GDMO source files. The naming table is a square matrix identical to the inheritance table except the entries in the naming table are not ones and zeros. Instead, entries in the naming table are lists of name binding templates that may be used to instantiate a managed object instance in the row class under a managed object instance in the column class.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. In a computing system having managed object instances running on the system, a method for compiling a naming table from managed object class hierarchy and from name binding templates for use by programs on the system to instantiate managed object instances, said method comprising the computer implemented steps of: first building an inheritance table from the managed object class hierarchy, the inheritance table having an equal number of rows and columns corresponding to the number of managed object classes, with each addressable entry in the inheritance table including a symbol indicating whether or not a managed object class identified by an entry address inherits from another managed object class also identified by an entry address; and second building the naming table from the inheritance table and the name binding templates, the naming table having an equal number of rows and columns corresponding to the number of managed object classes, each addressable entry in the naming table including a list of name binding templates useable to instantiate a managed object instance of a class identified by the entry's address under another managed object instance also identified by the entry's address.
2. The method of claim 1 wherein said second building step comprises the steps of: detecting the superior class and the subordinate class from each name binding template; and adding an entry in the naming table for each name binding template at the address specified by the superior class and the subordinate class for that name binding template, thereby indicating that instances of the subordinate class can be named under instances of the superior class.
3. The method of claim 2 wherein second building step further comprises the steps of: detecting an AND SUBCLASSES attribute in the name binding template for the superior class, the subordinate class or both as specified by each name binding template; and adding an entry in the naming table for each detected AND SUBCLASSES inheritance as determined from the inheritance table at the address specified by the inheritance table.
4. The method of claim 1 wherein said first building step further comprises the steps of: initializing the inheritance table as a row and column table with each of the managed object classes assigned to a column and the columns arranged from right to left in highest to lowest hierarchy and with each of the managed object classes also assigned to a row and the rows arranged from top to bottom in highest to lowest hierarchy; setting each row/column address entry of the inheritance table to indicate whether the managed object class of the row inherits from the managed object class of the column.
5. The method of claim 4 wherein said second building step further comprises the steps of: initializing the naming table as row and column table with each of the managed object classes assigned to a column and the columns arranged from right to left in highest to lowest hierarchy and with each of the managed object classes also assigned to a row and the rows arranged from top to bottom in highest to lowest hierarchy; detecting the superior class and the subordinate class from each name binding template; and adding an entry in the naming table for each name binding template at the row/column address specified by the superior class and the subordinate class for that name binding template, thereby indicating that instances of the subordinate class can be named under instances of the superior class.
6. The method of claim 5 wherein said second building step further comprises the steps of: testing whether each name binding template has an AND SUBCLASSES attribute for a superior class in the hierarchy, a subordinate class in the hierarchy or both superior and subordinate classes in the hierarchy; if the AND SUBCLASSES attribute in the name binding template includes only the subordinate class, detecting from the inheritance table all subclasses that inherit from the template's subordinate class and listing the template at the row/column address in the naming table of each detected subclass and the template's superior class to indicate that the detected subclass of the subordinate class may be instantiated under the superior class; if the AND SUBCLASSES attribute in the name binding template includes only the superior class, detecting from the inheritance table all subclasses that inherit from the template's superior class and listing the template at the row/column address in the naming table of the template's subordinate class and each detected subclass to indicate that the subordinate class may be instantiated under detected subclasses of the superior class; if the AND SUBCLASS attribute in the name binding template includes both the superior and subordinate classes, detecting from the inheritance table all subclasses that inherit from either the template's superior class or the template's subordinate class and listing the template at the row/column address in the naming table of each detected subclass of the template's subordinate class and subclasses of the template's superior class to indicate that subclasses of the subordinate class may be instantiated under the superior class or the superior class's subclass.
7. The method of claim 1, wherein said managed object class hierarchy comprises managed object classes and directory object classes.
8. The method of claim 1, further comprising the step of transforming said naming table into a naming output file which is computer readable.
9. The method of claim 8, wherein transforming said naming table into a naming output file which is computer readable further comprises the steps of: locating in the naming table a non-empty addressable entry containing said list of name binding templates; reserving a data line in the naming output file for data to be written, and creating a tagged entry in said data line of the naming output file indicating that said data line contains name binding templates from said naming table; writing in the naming output file a class row identifier from the naming table and a class column identifier from the naming table, thereby identifying in the naming output file the location of said non-empty addressable entry in the naming table; writing in said data line of the naming output file said list of name binding templates of said non-empty addressable entry; and marking as complete said data line of the naming output file, and repeating the previous steps until the last non-empty addressable entry of the naming table is located and represented in the naming output file.
10. The method of claim 9, further comprising the steps of: maintaining a count of the number of instantiation pairs, initializing said count of the number of instantiation pairs to zero; maintaining a count of the number of instantiation choices, initializing said count of the number of instantiation choices to zero; counting the number of name binding templates in said list of name binding templates at the location of said non-empty addressable entry in the naming table, adding said number of name binding templates to said count of the number of instantiation choices; incrementing said count of the number of instantiation pairs for each said non-empty addressable entry in the naming table; and writing to the naming output file a file header containing said count of the number of instantiation pairs and said count of the number of instantiation choices.
11. The method of claim 9, wherein said naming output file generated is a sparse array table file.
12. In a computing system having application programs processing requests for managed object instances, a method for converting a naming table file into a computer readable file, said naming table file having non-empty addressable entries containing a list of name binding templates, the method comprising the computer implemented steps of: locating in the naming table a first of said non-empty addressable entries containing said list of name binding templates; reserving a data line in the naming output file for data to be written, and creating a tagged entry in said data line of the naming output file indicating that said data line contains said list of name binding templates from said naming table; writing in the naming output file a class row identifier from the naming table and a class column identifier from the naming table, thereby identifying in the naming output file the location of said first of said non-empty addressable entries in the naming table; writing in said data line of the naming output file said list of name binding templates of said first of said non-empty addressable entries; and marking as complete said data line of the naming output file, and repeating the previous steps until the last of said non-empty addressable entries of the naming table is located and represented in the naming output file.
13. The method of claim 12, further comprising the steps of: maintaining a count of the number of instantiation pairs, initializing said count of the number of instantiation pairs to zero; maintaining a count of the number of instantiation choices, initializing said count of the number of instantiation choices to zero; counting the number of name binding templates in said list of name binding templates at the location of said non-empty addressable entry in the naming table, adding said number of name binding templates to said count of the number of instantiation choices; incrementing said count of the number of instantiation pairs for each said non-empty addressable entry in the naming table; and writing to the naming output file a file header containing said count of the number of instantiation pairs and said count of the number of instantiation choices.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.