Relational database method for accessing information useful for the manufacture of, to interconnect nodes in, to repair and to maintain product and system units

Information

  • Patent Application
  • 20040078387
  • Publication Number
    20040078387
  • Date Filed
    October 14, 2003
    21 years ago
  • Date Published
    April 22, 2004
    20 years ago
Abstract
A process provides automated coherent documentation of the construction of variably configured assemblies and systems, which consist of mechanical, electrical or electronic subassemblies or components using relational database software. A relational database software program is used to define the location of subassemblies or components within the final assembly or system, define important configuration information for the subassemblies and define the interconnection of the subassemblies within the assembly or system. This process improves upon prior art utilizing schematics, assembly drawings, parts lists and configuration logs based upon ANSI standard documentation practices by reducing the time required to produce such documentation and improving the accuracy of such documentation. The use of a relational database allows for various data manipulations that may be desirable such as error prevention, error detection, data analysis and specified searches.
Description


FIELD OF THE INVENTION

[0001] The invention relates generally to documentation of the construction of assemblies and systems and more particularly to the use of relational database software for the automated production of documentation for the construction and support of variably configured electrical or electronic assemblies and systems, including electronic assemblies and systems.



BACKGROUND OF THE INVENTION

[0002] Documentation of the construction of electrical or electronic assemblies and systems is commonly accomplished with schematics, assembly drawings, parts lists and configuration logs. Schematics and assembly drawings are generated by drafting a design using either traditional manual drafting tools such as paper, pencil, triangles, squares, etc. or by modern computer aided design (CAD) software tools. Both of these methods result in drawings (illustrations and text) identifying the proper construction of electrical, electronic and mechanical subassemblies and assemblies. Parts lists or Bill of Materials are generally tabular information containing information such as the part number, description of the part, quantity of part used, unit of measure, source of supply and reference designated location of use. A configuration log is a parts list for a specific assembly potentially including identification information of the subassemblies contained within the assembly.


[0003] The purpose of a schematic is to illustrate the physical interconnection of components. The accuracy of a schematic may depend upon its use. An electrical schematic used to fabricate a printed circuit board needs to be very accurate for the circuit board to perform its intended function. On the other hand, a schematic for the wiring of a house may not need to be completely accurate for the wiring in the house to operate correctly because the electrician wiring the house can correct errors during installation.


[0004] The purpose of assembly drawings is to illustrate the mechanical assembly process and desired end result for the combination of several components. The accuracy of an assembly drawing also may depend upon its use. The architectural plans for a house may be very detailed when necessary to achieve a specific observable result, but may also be vague when details are left to the discretion of a skilled craftsman. For a high volume product produced by a factory, the drawings may need to be very accurate due to a company policy for documentation control or they may be allowed to be inaccurate when the factory has implemented other processes to correct the deficiencies. An assembly drawing will often contain instructions in addition to illustrations for clarity.


[0005] The purpose of the parts list is to identify the components required to produce an assembly. The parts list is often complemented with the schematic and/or assembly drawings to aid the assembler in achieving the desired result or end item. The parts list is typically correlated to the schematic by a reference designator which is an alpha-numeric string unique to the location of each part. The parts list is also typically correlated to the assembly drawing by either the reference designator or an item number which also uniquely identifies the location of each part.


[0006] The purpose of a configuration log is to record data such as serial numbers and parts numbers for subassemblies that make up an assembly. Manufacturers use configuration logs to record products shipped and shipping dates usually to identify the product's warranty period or collect data about customers buying habits.


[0007] The industry standard for defining reference designated location of use is ANSI Y32.16-1975. This specification provides a method for defining and utilizing uniquely identified locations for components, subassemblies, assemblies and cables, as well as standards for marking'such items to aid in construction.


[0008] Documentation produced by these traditional means is often error prone due to the inability of disparate systems to fully inter-operate. Factories responsible for the construction of assemblies often require several cycles of correction to the documentation in order to improve its clarity, consistency and correctness.


[0009] These traditional systems may also be time-consuming and therefore costly. They are usually very general purpose and therefore require very detailed and careful input and checking, especially for consistency between systems. Since the quality of the documentation is entirely determined by the care of the drafter and checker, inconsistent, missing, and misleading or ambiguous results are common.


[0010] Traditional systems work well for documenting assemblies with limited configuration options. Conversely, these systems are not as efficient for documenting the assembly instructions for highly re-configurable or variable systems.


[0011] An accurate database of configuration information may benefit a customer when a repair for an assembly is required. The information contained in the database may be essential to the repair and not readily available from other sources. For example, a repair manual for a highly re-configurable assembly may simply not be able to identify all configuration options and corresponding repair procedures.


[0012] The present invention complements the traditional methods of documenting re-configurable assemblies by simplifying the creation of the variable portion of the documentation for assemblies with significant configuration options.



SUMMARY OF THE INVENTION

[0013] Tabular and other data representing the construction of assemblies and systems is entered in a relational database. The relational database produces output consisting of reports representing the construction of the assembly. The relational database is preferably structured to use an applicable industry standard such as ANSI Y32.16-1975 specifications with modifications necessary to allow for the coherent representation of data within a relational database.


[0014] The relational database contains two categories of information. The first category consists of lookup tables containing commonly or repetitively used data. The second category is assembly specific tables containing links or relationships to the lookup tables for commonly used data and additional data unique to the particular assembly.


[0015] The lookup tables contain two types of data. The first type defines the generic or unpopulated assembly by its list of reference designated locations. For example, for electrical and electronic assemblies, the list of locations may exclude cables since cables interconnect subassemblies at different locations. However, cables are identified by unique reference designators. The second type defines the list of all components and subassemblies (parts) and their characteristics. The characteristics of components and subassemblies may include configuration parameters and interfaces. Configuration parameters are significant elements of data about a component or subassembly. Interfaces are places on the component or subassembly where electrical or mechanical connections from other components or subassemblies are possible. The definition of the reference designated locations may restrict the parts eligible for use in any particular location. The definition of the interfaces may restrict the eligibility of mating interfaces for later assembly. Additionally, parts may be categorized into part types. Some part types may have common properties that differ from other part types. For example, cables may be excluded from location definitions or software may be excluded from supporting the definition of interfaces.


[0016] The assembly specific data tables combine the definition of reference designated locations with a list of parts specific to an assembly. The characteristics of the specific parts used in the assembly are available from the relationship to the parts definition contained in the parts list lookup tables. The assembly specific data includes relationships defining the reference designated locations, the specific parts list and additional unique part characteristic data such as configuration parameter values and interconnection data. The values of configuration parameters provide data unique to the use of a part within a specific assembly. The interconnection data provides a cross reference of electrical and mechanical connections within a specific assembly. A specific assembly may either be a specific configuration of an assembly produced in some quantity or a unique assembly, perhaps identified by a serial number. The fundamental process for defining an assembly consists first of creating a list of parts. The parts are then assigned to the pre-defined locations within the final assembly. Then the parts are interconnected within the assembly and finally, configuration parameter values are assigned. A report may be generated to present this information in an orderly, understandable way. Other data managed by the database may require additional steps in the fundamental process.


[0017] The benefit of having a definition of the reference designated locations in the assembly is that parts may be selected from the parts list and assigned to appropriate locations (where they belong). The benefit of having a definition of the characteristics of a part is that the important characteristics of a part are known and recorded consistently. The benefit of having a definition of the interfaces of a part is that the definition of one interface may be used to select an appropriate mating interface. The existence of these definitions, which only occurs once for each assembly and part, enables the rapid construction of many different configurations of the parts within the assembly. The use of a relational database to perform this process enables the addition of significant error prevention and error detection capabilities to the process, thus enhancing the accuracy of the data contained within the assembly definition. The database also allows reporting of almost any conceivable data analysis.


[0018] A single database may contain any number of reference designated location definitions, part definitions and assembly definitions. A good database design would incorporate user friendly forms for user data input and various reports that may be printed for reference. The preferred embodiment will present the underlying schema or database table structure for the present invention. The process for using the database will be shown. The user interface, query and report designs are not presented in this document as their implementation will be readily apparent to one skilled in the art. A sample report from the database is presented to support the preferred embodiment.


[0019] The preferred embodiment presents a relational database system for defining the construction of variably configured computer systems. These computer systems consists of cabinets populated with modular components such as power supplies, circuit card assemblies, mass memory devices, loaded software, and human machine interface (HMI) devices such as keyboards, trackballs and monitors. The invention, however, is not limited to the construction, repair or maintenance of such computer systems. It may be used for virtually any item of manufacture, particularly with products have a variety of different configurations, such as automobiles and many other types of goods. The described embodiment may also be used to document the configuration of a system of computers on a local area network in a building. In its most general sense, the present invention documents a system of interconnected nodes at specified physical locations, the nodes having various properties or configuration parameters that define their function In the claims of this document, the word “unit” includes items of manufacture as well as interconnected node systems, or for the wiring of buildings, ships, planes, telephone switching centers and many other applications.







BRIEF DESCRIPTION OF THE DRAWINGS

[0020]
FIGS. 1, 2 and 3 show the relational database schema. Each table 100 has a name in the header and a list of fields. Field names that include a preceding asterisk “*” are fields that make up the primary key for the table. The primary key is a unique entry in the table. When the primary key name begins with “ID”, a counter field is assumed to insure uniqueness. When multiple fields make up the primary key, they are sorted top to bottom in order of increasing uniqueness. Two kinds of relationships between tables are shown. The first is a one-to-many relationship depicted as line with an arrow 10 where the arrow points from the one table to the many table. The second kind of relationship has no arrows 12 and indicates that the corresponding fields are related but not strictly. To reduce clutter, connectors such as 14 are added to relationship lines. Connectors mate with other connectors containing the same letter.


[0021]
FIG. 1 shows the relational database schema for the parts definition lookup tables including the part type table 100, the part list table 102, the kit definition table 104, the interface definition tables 106, 108 and 110 and the parameter definition tables which include 112, 114, 116 and 118.


[0022]
FIG. 2 shows the relational database schema for the reference designated location definition lookup tables 200, 202 and 204 and associated part family definition tables 206 and 208. FIG. 2 also shows the configuration management tables 210 and 212.


[0023]
FIG. 3 shows the relational database schema for the assembly, otherwise known as Unit, configuration tables including the unit definition 300, the unit parts list 302, the unit configuration parameters 304, the unit interconnect 306, the unit processor group definition 308 and the operating system definition table 310.


[0024]
FIG. 4 is a diagram that illustrates key elements of the process for the definition of parts, locations and units and of the process for unit assembly and unit support.


[0025]
FIG. 5 shows a sample database report containing parts list information.


[0026]
FIG. 6 is a perspective view of a unit illustration for a database report.


[0027]
FIG. 7 is a part configuration illustration that shows a representative jumper connection for particular pins of an electronic part.


[0028]
FIG. 8 shows a sample database report containing a processor group definition.


[0029]
FIG. 9 shows a sample database report containing a configuration parameter definition.


[0030]
FIG. 10 shows a sample database report containing an interconnect cross reference.


[0031]
FIG. 11 shows a sample database report containing a cable tag marking reference.







DESCRIPTION OF THE PREFERRED EMBODIMENT

[0032] The embodiment will be presented in the order of the Figures. The Figures show the relational database schema for the part definition, location definition and unit definition respectively. The Figures also show the process for operation of a user interface to the database tables. The description of the process will show how the features of the table schema are used to achieve the intended purpose. The process will not be described in terms of any specific implementation of a user interface since such a user interface will be readily apparent to one skilled in the art. The primary output report of the embodiment will be described.


[0033] Data lookup table tlkpPartType 100 is used to categorize parts and provide control flags that determine which features of the database may or may not apply to each part category. Table I defines the fields of tlkpPartType.
1TABLE IFields of Table tlkpPartTypeField NameField TypeField Description*IDPartTypeCounterA unique key for each part type.DescriptionTextA description of the part type.Typical values might include, PowerSystem, Enclosure, Storage,Processor, Cable, HMI, kit, etc.FlagLocYes/NoIndicates whether the part type maybe assigned to pre-defined location.Cables would normally not beassigned a location since they spanlocations.FlagIFYes/NoIndicates whether the part type mayhave an interface assigned to it.Parts such as software would nothave a physical interface.FlagSizeYes/NoIndicates whether the part typesupports variable size. Certain typesof parts may vary in size such as thenumber of slots for modular circuitcards that plug into a rack.*A counter field type is one where an index number is increased by one count for each new record.


[0034] Data lookup table tlkpPartsList 102 is used to contain the complete list of available parts or subassemblies to be later constructed into assemblies or systems called units. A typical part has a part number and description. Parts are categorized by part type. Of special interest is the size field. Situations may occur requiring population of multiple parts into a single location or a single part into multiple locations. A size of one or more will indicate the part takes one or more consecutive locations. A size of zero indicates a part can be added to populated location without requiring additional space. For example, a mezzanine module on a circuit card assembly or a software component added to a mass storage device. This table also uses the OS_Supported field to identify a compatibility matrix for operating systems with each part. This used in the unit definition to assign parts to processor groups when multiple processors with varying operating systems are used within the system. A set of fields are also provided for configuration management control of part definitions. When a part is “Released”, its definition is protected from further modification. When the part is not “Released”, its definition is modifiable, but a record of the explanation for the change is maintained. Table II defines the fields of tlkpPartsList 102.
2TABLE IIFields of Table tlkpPartsListField NameField TypeField Description*IDPartCounterA unique key for each part.PartNumberTextA unique part number to identifyeach part.DescriptionTextA description of the part.IDPartTypeLong IntegerSelected from tlkpPartType 100 toidentify the type of the part.SizeIntegerIndicates the number of locations thepart requires.DefaultRefDesTextUsed to define the default referencedesignator for cables. Since cablesare not assigned locations, the haveeither fixed or variable designations.This is the fixed designation. Avariable designation is assignedwhen the unit is constructed. Alpha-numeric reference designators needto be represented with fixed lengthnumeric strings in order to sortproperly (e.g. A001, A010).OS_SupportedTextA character string where eachposition corresponds to a specifictype of operating system. A “Y” atthe character position indicates theoperating system is supported by thepart. A “N” at the characterposition indicates the operationsystem is not supported by the part.CM_MstrKeyLong IntegerLink to tblCM_Status 210 andtblCM_Memo 212 defining thegroup of configuration managementrecords for a part.CM_CurKeyLong IntegerLink to tblCM_Status 210 andtblCM_Memo 212 defining thecurrent configuration managementrecords for a part.StatusLong IntegerThe current configuration status.Either “Released”, “Unreleased” or“In Process”. Released is used towrite protect the part definition.


[0035] Data lookup table tlkpKitDef 104 is used to group parts into kits. A kits of parts is useful for more quickly assembling a parts list when multiple parts are always used together. Table III defines the fields of tlkpKitDef 104.
3TABLE IIIFields of Table tlkpKitDefField NameField TypeField DescriptionIDKitPNLong IntegerA link to tlkpPartsList 102 for a partof part type kit. This record isadded when a kit type part iscreated.IDPartLong IntegerSelected from tlkpPartsList 102 toadd parts to a kit.QtyIntegerThe quantity of part within a kit.


[0036] Data lookup table tlkpIF_Def 106 is used in conjunction with tlkpIF_Family 108 and tlkpTagDef to define the interfaces of a part. A part has one set of defined interfaces that are used to connect to other parts. To simplify the process of interconnecting parts, interfaces are grouped into interface families. An interface family is a collection of interfaces that are functionally and mechanically compatible with each other. Interface families are grouped into the part types to help organize them because there may be very many different interface families. An interface includes gender plugs or jacks. Two interfaces are compatible when they share the same interface family and opposite gender. Additionally, each interface of a cable may have a tag associated with it. The cable tag is added to the cable interface end and is marked with the name of the interface, the cable reference designator, and the reference designator and interface name of the destination or mate of the cable end. This type of marking insures proper assembly and operation of the system. Table IV defines the fields of tlkpIF_Def. Table V defines the fields of tlkpIF_Family. Table VI defines the field of tlkpTagDef.
4TABLE IVFields of Table tlkpIF_DefField NameField TypeField Description*ID_IFCounterA unique key for each interface.IDPartLong IntegerA link to tlkpPartsList 102 tocorrelate an interface to a part.ID_IF_FamilyLong IntegerSelected from tlkpIF_Family 108 todefine the interface family for theinterface.NameTextA name for the interface.DescriptionTextA description of the function of theinterface.GenderTextThe value Plug or Jack.ID_TagLong IntegerSelected from tlkpTagDef 110 tocorrelate an interface to the tag usedto mark the interface with its nameand destination.


[0037]

5





TABLE V










Fields of Table tlkpIF_Family









Field Name
Field Type
Field Description





*ID_IF_Family
Counter
A unique key for each interface




family.


IDPartType
Long Integer
Selected from tlkpPartType 100 to




group an interface family into a part




type.


Description
Text
A description of the interface family.










[0038]

6





TABLE VI










Fields of Table tlkpTagDef











Field Name
Field Type
Field Description







*ID_Tag
Counter
A unique key for each cable Tag.



TagPN
Text
A part number of a tag. Used to





group all markings on the same tags





when printing the tags in a factory.



Description
Text
A description of the use of the tag.











[0039] Data lookup table tlkpParamDef 118 is used in conjunction with tlkpParamDesc 116 to define multiple sets of general purpose configuration parameters for a part. Multiple sets of configuration parameters are defined for parts that have more than one pre-definable configuration The configuration parameter list for a part pre-defines the information deemed important about a part. In some cases the default value of a parameter may be defined. In other cases, only the parameter is defined and the value is left blank for assignment of a value during construction of a unit. In some cases, an illustration of the part is used to simplify the configuration of part in by showing the location and settings of variable switches, and the like.


[0040] The data lookup tables tlkpParamList 112 and tlkpParamGrp 114 provide a list of pre-defined and reusable parameters. Reusable parameters are necessary to support clarity of the collected data and to support searching and sorting of the data. Parameters are categorized into parameter groups to help organize the parameters and facilitate grouping when printing reports. Typical groups of parameters may include revision identification information such as serial numbers, weight, power requirements, switch settings, firmware settings, networking information, etc.


[0041] Table VII defines the fields of tlkpParamList 112. Table VIII defines the fields of tlkpParamGrp 114. Table IX defines the fields of tlkpParamDesc 116. Table X defines the fields of tlkpParamDef 118.
7TABLE VIIFields of Table tlkpParamListField NameField TypeField Description*IDParamCounterA unique key for each parameter.DescriptionTextA description of the parameter.IDParamGrpLong IntegerSelected from tlkpParamGrp 114 toassign the parameter to parametergroup.HelpNotesTextAmplifying data entered to describethe use of the parameter.FlagCopyYes/NoA flag indicating whether theparameter value is cleared when oneunit is copied to a different unit.Used for information such assubassembly serial numbers that areunique to each unit.


[0042]

8





TABLE VIII










Fields of Table tlkpParamGrp









Field Name
Field Type
Field Description





*IDParamGrp
Counter
A unique key for each parameter




group.


LongDescription
Text
A long form of the description of




the parameter group. Used for




printing reports.


ShortDescription
Text
A short form of the description of




the parameter group. Used on




input forms to save space.










[0043]

9





TABLE IX










Fields of Table tlkpParamDesc









Field Name
Field Type
Field Description





*IDPart
Long Integer
A link to tlkpPartsList 102 to




correlate a parameter set to a part.


*PN_CfgNo
Integer
A number to uniquely identify the




set of configuration parameters.


Description
Text
A description of the set of




configuration parameters.


LRU_DwgPath
Text
The name of a file or set of files




containing the illustration of the




particular configuration of the part.










[0044]

10





TABLE X










Fields of Table tlkpParamDef









Field Name
Field Type
Field Description





*IDPart
Long Integer
A link to tlkpPartsList 102 to




correlate a parameter set to a part.


*PN_CfgNo
Integer
A link to tlkpParamDesc 116 to




identify the set of configuration




parameters.


*IDParam
Long Integer
Selected from tlkpParamDesc 116 to




define a parameter.


DefaultValue
Text
The default value of the parameter




or blank if the parameter value is




determined when the unit is




constructed.










[0045] Data lookup table tlkpEquipType 200 combined with tlkpLocDesc 202 and tlkpLocDef 204 defines a type of equipment and the locations within the equipment that fixed subassemblies (not cables) may be placed. Multiple sets of location definitions are supported for an equipment when necessary. An illustration may be associated with a location definition to illustrate the location definition in printed reports. This illustration should have callouts identifying the reference designated locations for subassemblies. A set of fields are also provided for configuration management control of location definitions. When a location definition is “Released”, its definition is protected from further modification. When the location definition is not “Released”, its definition is modifiable, but a record of the explanation for the change is maintained.


[0046] In order to sort alpha-numeric reference designators properly, they must be represented with fixed length numeric strings (e.g., A001, A002, A010 vs. A1, A10, A2.) Part families are used to control the assignment of subassemblies to locations in which subassemblies are compatible. In order to sort alpha-numeric reference designators properly, they must be represented with fixed length numeric strings (e.g. A001, A002, A010 vs. A1, A10, A2). Data lookup tables tlkpPartFamilyDef 208 and tlkpPartFamDesc 206 define the list of parts that make up a part family. A part family is then assigned to a location in tlkpLocDef 204. Table XI defines the fields of tlkpEquipType 200. Table XII defines the fields of tlkpLocDesc 202. Table XIII defines the fields of tlkpLocDef. Table XIV defines the fields of tlkpPartFarmDesc 206. Table XV defines the fields of tlkpPartFamilyDef 208.
11TABLE XIFields of Table tlkpEquipTypeField NameField TypeField Description*IDEquipTypeCounterA unique identifier of an equipmenttype.DescriptionTextA description of the equipment.CM_MstrKeyLong IntegerLink to tblCM_Status 210 andtblCM_Memo 212 defining thegroup of configuration managementrecords for an equipment.CM_CurKeyLong IntegerLink to tblCM_Status 210 andtblCM_Memo 212 defining thecurrent configuration managementrecords for an equipment.StatusLong IntegerThe current configuration status.Either “Released”, “Unreleased” or“In Process”. Released is used towrite protect the location definition.


[0047]

12





TABLE XII










Fields of Table tlkpLocDesc









Field Name
Field Type
Field Description





*IDEquipType
Long Integer
Selected from tlkpEquipType 200




defining the equipment type




associated with the location




definition.


*EquipCfgNo
Integer
A number to uniquely identify a set




of location definitions.


Description
Text
A description of the location




definition.


EquipDwgPath
Text
The name of a file or set of files




containing the illustration of the




particular location definition of the




equipment.










[0048]

13





TABLE XIII










Fields of Table tlkpLocDef









Field Name
Field Type
Field Description





*IDEquipType
Long Integer
Link to tlkpLocDesc 202 defining




the equipment type associated with




the location definition.


*EquipCfgNo
Integer
Link to tlkpLocDesc 202 to identify




a set of location definitions.


*RefDes
Text
A unique location within the




equipment. Alpha-numeric




reference designators need to be




represented with fixed length




numeric strings in order to sort




properly (e.g. A001, A010).


Description
Text
A description of the location




definition.


IDPartFamily
Long Integer
Selected from tlkpPartFamilyDef




208 defining the part family




compatible with the location.


Required
Yes/No
A flag indicating whether the




location is required to be populated.




Used for error checking.


ID_DefaultPN
Long Integer
Selected from tlkpPartsList 102 to




identify a part such as a cover.




Should be used to fill a location




when no other part has been




assigned to the location. Expedites




filling required locations with a




default part.


AdjRefDes
Text
The reference designator of an




adjacent location that may be used




for parts with a size greater than




one. Alpha-numeric reference




designators need to be represented




with fixed length numeric strings in




order to sort properly (e.g. A001,




A010).










[0049]

14





TABLE XIV










Fields of Table tlkpPartFamDesc









Field Name
Field Type
Field Description





*IDPartFamily
Counter
A unique identifier for a part family.


IDPartType
Long Integer
Selected from tlkpPartType 100 to




categorize a part family by a part




type.


Description
Text
A description of the part family.










[0050]

15





TABLE XV










Fields of Table tlkpPartFamilyDef









Field Name
Field Type
Field Description





*IDPartFamily
Long Integer
A link to tlkpPartFamDesc 206 to




define a part family for a list of parts.


*IDPart
Long Integer
Selected from tlkpPartsList 102 to




define a list of parts in a part family.










[0051] Data lookup tables tblCM_Memo 212 and tblCM_Status 210 are used to record an explanation of changes that occur to definitions of parts, locations, or assembled units. A unique master key is assigned to each part, location definition, or unit definition defining the group of records related to it. The current key identifies the most recent comment record. A new record is added when the status changes to “Released” and no records currently exist in the tables. After this initial record is created, a new record is created each time the status changes from “Released”. The time, date and identity of the user are also recorded. Table XVI defines the fields for tblCM_Memo 212.. Table XVII defines the fields for tblCM_Status 210.
16TABLE XVIFields of Table tblCM_MemoField NameField TypeField Description*CM_MstrKeyLong IntegerLink to tblCM_Status 210 definingthe group of configurationmanagement records for a partdefinition, location definition or unitdefinition.*CM_CurKeyLong IntegerLink to tblCM_Status 210 definingthe current configurationmanagement records for a partdefinition, location definition or unitdefinition.CommentTextA description recorded to justify thechange.


[0052]

17





TABLE XVII










Fields of Table tblCM_Status









Field Name
Field Type
Field Description





*CM_MstrKey
Long Integer
Link to tblCM_Memo 212 defining




the group of configuration




management records for a part




definition, location definition or unit




definition.


*CM_CurKey
Long Integer
Link to tblCM_Memo 212 defining




the current configuration




management records for a part




definition, location definition or unit




definition.


*DateStatus
Date
The date and time of the last status




change.


Status
Text
The current configuration status.




Either “Released”, “Unreleased” or




“In Process”. Released is used to write




protect the part definition,




location definition or unit definition.


User
Text
The name of the user responsible for




making the change.










[0053] Unit definition data table tblUnitEquip 300 defines a unique system or assembly. A unit is identified by the combination of fields IDEquipType, SerialNumber and Instance. The IDEquipType field identifies the type of equipment to be assembled. The SerialNumber field identifies a unique piece of equipment. The Instance field further identifies a different version of a SerialNumber equipment if so desired. The EquipCfgNo field is selected from the corresponding field in data lookup table tlkpLocDesc 202 to select a specific location definition for the selected equipment type. An illustration may be associated with a Unit definition which can provide a functional block diagram of the system in printed reports. The functional block diagram enhances the understanding of the tabular data provided by the database without being too detailed or costly to produce. A set of fields are also provided for configuration management control of the unit definition. When a unit definition is “Released”, its definition is protected from further modification. When the unit definition is not “Released”, its definition is modifiable, but a record of the explanation for the change is maintained. Table XVIII defines the fields for tblUnitEquip 300.
18TABLE XVIIIFields of Table tblUnitEquipField NameField TypeField Description*IDUnitEquipCounterA unique identifier of the unit.IDEquipTypeLong IntegerSelected from tlkpLocDesc 202 toselect an equipment locationdefinition.EquipCfgNoIntegerSelected from tlkpLocDesc 202 toidentify a set of location definitions.SerialNumberTextA serial number for a specific unit.InstanceTextAny text describing a differentversion of the same SerialNumberunit.DescriptionTextA description of the unit.FuncDwgPathTextThe name of a file or set of filescontaining the illustration of thefunctional block diagram for theunit.CM_MstrKeyLong IntegerLink to tblCM_Status 210 andtblCM_Memo 212 defining thegroup of configuration managementrecords for a unit.CM_CurKeyLong IntegerLink to tblCM_Status 210 andtblCM_Memo 212 defining thecurrent configuration managementrecords for an unit.StatusLong IntegerThe current configuration status.Either “Released”, “Unreleased” or“In Process”. Released is used towrite protect the unit definition.


[0054] Unit definition data table tblUnitPartsList 302 contains a list of parts selected from tlkpPartsList 102. Parts may be added to the list in groups by selecting kits from data lookup table tlkpKitdef 104. Each part is added to the parts list of the unit assuming quantity one for each. This is necessary for each part to be uniquely configured and connected to other parts in the assembly. Only the IDPart field of a part from tlkpPartsList is added to the parts list table since the definition of the part is always available from the part definition lookup tables. When a part is added to the parts list, it is assigned the next sequential item number in the ItemNumber field to uniquely identify the part. When a kit is added to the parts list, each part in the kit is assigned the next sequential kit item number in field KitNumber. The KitNumber field maintains a grouping of all parts added from each kit. The KitPartNumber field preserves a link to the part number of the kit for reference. The PN_CfgNo field is selected from the corresponding field in data lookup table tlkpParamdesc 116 to select a specific set of configuration parameters for a part and it is also used as a link to get to the LRU_DwgPath field. The RefDes field is selected from the data lookup table tlkpLocDef 204. The ProcessorGrp field is used to combine parts that all need to be grouped under a single computer operating system. This is useful for multiprocessor systems. The ProcessorGrp field is selected from unit definition data table tblUnitProcGrp 308. The Spare field is used to designate a part that is not configured within the unit, such as a spare shipped separately. Table XIX defines the fields of tblUnitPartsList 302.
19TABLE XIXFields of Table tblUnitPartsListField NameField TypeField Description*IDUnitPartsListCounterA unique identifier of a part.IDUnitEquipLong IntegerA link to tblUnitEquip 300 toassign the part to a unit.ItemNumberIntegerA sequential number unique to eachpart within a unit.IDPartLong IntegerSelected from tlkpPartsList 102 tolink to all other tables using IDPartto supply part definition informationfrom the lookup tables.KitNumberIntegerA sequential number unique to eachkit and assigned to all the parts ineach kit.KitPartNumberLong IntegerSelected from kit part types withintlkpPartsList 102 to define the kitpart number.PN_CfgNoIntegerSelected from tlkpParamDesc 116to link also to tlkpParamDef 118 toidentify a set of configurationparameters for each part within theunit.RefDesTextA reference designator selectedfrom tlkpLocDef 204 or manuallyentered for parts such as cables thatdo not have a fixed location. Alpha-numeric reference designators needto be represented with fixed lengthnumeric strings in order to sortproperly (e.g. A001, A010).ProcessorGrpIntegerThe number of a processor groupselected from tblUnitProcGrp 308.SpareYes/NoA flag indicating whether a part isto be configured within the unit orkept separate.


[0055] Unit definition data table tblUnitParam 304 defines the list of parameters associated with a part in tblUnitPartsList. When a particular configuration of a part is selected from tlkpParamDesc 116 associated with field PN_CfgNo, the corresponding records from tlkpParamDef 118 are copied into tblUnitParam 304. This copy is performed to allow changing any of the parameter values unique to a part without affecting the default values in tlkpParamDef 118. Table XX defines the fields of tblUnitParam 304.
20TABLE XXFields of Table tblUnitParamField NameField TypeField Description*IDUnitPartsCounterA unique identifier of a part.List*IDParamLong IntegerA link to tlkpParamDef 118 todefine the parameter.ValueTextThe value of a parameter.


[0056] Unit definition table tblUnitConnect 306 defines all connections between interfaces within the unit. All unconnected (no connect) interfaces are also recorded. When all interfaces are accounted for within tblUnitConnect, the connection process is verifiably completed. Each connection has a unique field IDUnitConnect which is necessary for deleting connections from the table. The use of field IDUnitEquip also allows enhanced performance by grouping records associated with the unit under construction. Connections are established by identifying the IDUnitPartsList from tblUnitPartsList 302 value of a part and an interface ID_IF from tlkpIF_Def 106 associated with the part. A mate is selected based upon the following criteria. The interface must be in the same unit, not previously assigned, not on a spare part, in the same interface family (field ID_IF_Family in tlkpIF_Def 106 ), and of opposite gender. If a mate is not selected, then the field FlagNoConnect may be set with the interface. It does not matter whether an interface is assigned to the _A fields or the _B fields. Table XXI defines the fields of tblUnitConnect 306.
21TABLE XXIFields of Table tblUnitConnectField NameField TypeField Description*IDUnitConnectCounterA unique identifier of a connectionIDUnitEquipLong IntegerA link to tblUnitEquip 300 togroup the connections within aunit.IDUnitPartsList_ALong IntegerA link to tblUnitPartsList 302 toidentify a part.ID_IF_ALong IntegerA link to tlkpIF_Def 106 toidentify an interface of the partIDUnitPartsList_AIDUnitPartsList_BLong IntegerA link to tblUnitPartsList 302 toidentify a part.ID_IF_BLong IntegerA link to tlkpIF_Def 106 toidentify an interface of the partIDUnitPartsList_BFlagNoConnectYes/NoIndicates that the interface ineither the _A fields or the _Bfields is not connected to a mate.This method is probably fasterthan detecting the undefinedvalues in the mating fields.


[0057] Unit definition table tblUnitProcGrp 308 is used in conjunction with tlkpOS 310 to define a processor group and assign the processor group to an operating system. The processor group is then used to select the processor group for parts in tblUnitPartsList 302. A processor group is a collection of parts that operate under a single operating system. This would include parts such as processors, mass storage devices, HMI devices and software. This grouping is helpful in systems with multiple processors and operating systems to insure operating system compatibility of parts.


[0058] Data lookup table tlkpOS 310 contains an index which is a sequential number and a description corresponding to an operating system. The index is used as a character array index into field OS_Supported of tlkpPartsList 102. The treatment of field OS_Supported as an array allows for a varying number of operating systems without affecting the design of the database. If the character at the indexed position of field OS_Supported is a “Y”, then the operating system is supported, otherwise it is not. When a part in tblUnitPartsList is assigned a processor group, the OS_Supported field of the part is verified to support the operating system assigned to the processor group. Additional parameters are provided in tblUnitProcGrp 308 to farther define the configuration of the processor group. Table XXII defines the fields of tblUnitProcGrp 308. Table XXIII defines the fields of tlkpOS 310.
22TABLE XXIIFields of Table tblUnitProcGrpField NameField TypeField Description*IDUnitEquipLong IntegerA link to tblUnitEquip 300 to groupthe connections within a unit.*ProcessorGrpIntegerA sequential number for eachprocessor group within a unit.DescriptionTextThe description of the processorgroupIndexIntegerSelected from tlkpOS tocorrespond the processor group toan operating system.PasswordTextThe login password for the defaultlogin name.BootPathTextA text string indicating the sourceof the operating system thatexecutes on the processor group.For example, the operating systemmay be loaded from a local massstorage device or over a local areanetwork from a remote massstorage device.


[0059]

23





TABLE XXIII










Fields of Table tlkpOS











Field Name
Field Type
Field Description







*Index
Integer
A unique identifier of a operating





system. Used as in index into the





array in field OS_Support in





tlkpPartsList 102.



Description
Text
A description of the operating





system.











[0060] The process for manipulating data in the relational database tables will be described assuming a hierarchical set of actions which is typical of an event driven graphical user interface. The following tables have a column identifying the level of hierarchy for an action using an outline numbering scheme, a brief description of the action and additional explanation about the action if necessary to fully describe the action. Table XXIV defines the top level process. Major steps in the process will be decomposed in subsequent tables.
24TABLE XXIVActions of Main MenuLevelDescriptionAdditional Explanation1Part DefinitionThe parts definition process (TableXXV).2LocationThe location definition process (TableDefinitionXXVII).3Unit DefinitionThe unit definition process (TableXXVIII).4MaintenanceMaintenance of other tables (TableXXXI.)


[0061] The part definition process involves the creation of database records to define the configuration information for parts. The definition process begins with the creation of the part, and continues with the addition of parameter definitions and interface definitions. Parts defined as kits will not have parameter definitions or interface definitions. To edit field OS_Supported in tlkpPartsList 102, use tlkpOS to index into the OS_Supported array and toggle the character for each operating system between “Y” and “N”. For certain, parts that add on to other parts without taking extra space, set the Size field in tlkpPartsList 102 to zero. The field DefaultRefDes in tlkpPartsList 102 is only used for cables with a fixed reference designator assignment. When the part is initially created, the Status field is set as In-Process. When the part definition process for a part is completed, the status is set to Released. Further modifications of the part definition will require changing the status back to In-Process and recording an explanation for the change. Table XXV defines the part definition process.
25TABLE XXVActions of Part DefinitionLevelDescriptionAdditional Explanation1.1View Parts ListDisplay the list of parts fromtlkpPartList 102.1.1.1Add PartAdd new record to tlkpPartsList 102.1.1.2Delete SelectedDelete part from tlkpPartsList 102 andPartrelated data from tlkpParamDesc 116,tlkpParamDef 118, tlkpIF_Def 106,tlkpPartFamilyDef 208 and tlkpKitDef.A part cannot be deleted if used in anyunit definition.1.1.3Copy SelectedCopy all of the data defining a partPart to New Part(configurations, interfaces and partfamilies as in 1.1.2) to a new part.1.1.4Edit SelectedChange the values of fields inPart DescriptiontlkpPartsList 102 except fieldPartNumber.1.1.5Edit SelectedEdit parameter definitions (TablePart ParametersXXVI).1.1.6Edit SelectedEdit interface definitions (TablePart InterfacesXXVII).1.1.7Status SelectedChange configuration status of selectedPartpart.1.2View Kit ListDisplays all parts of part type Kit1.2.1Add Kit PartAdds a new record to tlkpKitDef 104 toadd a part to a kit.1.2.2Delete Kit PartDelete a part from tlkpKitDef 104.


[0062] The parameter definition subprocess within the part definition process allows for the creation of multiple sets, or configurations, of parameters for a part. The parameter definition lookup table structure is a general purpose method to define arbitrary information about a part. Parameters are created to be reusable on all parts so that queries may be written to extract desirable information. Parameters are also created as members of parameter groups to help organize the parameters. The values assigned at this point are default values since parameters and values are copied from the selected configuration when configuring a unit. The field FlagCopy in tlkpParamList indicates that a parameter value, such as a subassembly serial number, must be cleared when one unit is copied to another. To save space within the database, the name of an illustration file or set of files (using wildcards) may be used in field LRU_DwgPath in tlkpParamDesc 116. The file or files can be temporarily brought into the database during printing operations. The HelpNotes field of tlkpParamList 112 provides direction to the user on the meaning of the parameter and its possible values. Parameters may include information such as weight and power consumption which can be calculated with additional queries. Table XXVI defines the parameter definition subprocess of the part definition process.
26TABLE XXVIActions of Parameter DefinitionLevelDescriptionAdditional Explanation1.1.5.1AddAdd a new record to tlkpParamDescConfiguration116.1.1.5.2DeleteDelete record in tlkpParamDesc 116Configurationand related parameters intlkpParamDef 118. Configurationcannot be deleted if used in unitdefinition.1.1.5.3CopyAdd a new record to tlkpParamDescConfiguration116 with next PN_CfgNo and copyparameters in tlkpParamDef 118 tonew PN_CfgNo.1.1.5.4EditEdit parameters of selected PN_CfgNoConfigurationfrom tlkpParamDesc 116.1.1.5.4.1Add ParameterAdd new parameter selected fromtlkpParamList 112 to tlkpParamDef118.1.1.5.4.1.1CreateAdd new parameter definition toParametertlkpParamList 112. Field IDParamGrpselected from tlkpParamGrp 114.1.1.5.4.2DeleteDelete parameter from tlkpParamDefParameter118. Parameters cannot be deleted ifused in unit definition.1.1.5.4.3Edit ParameterEdit field DefaultValue intlkpParamDef 118.


[0063] The interface definition subprocess of the part definition process allows for the creation of a list of interfaces for connection of the corresponding part to others parts. In a large system, the number of types of interfaces is large so the interfaces need to be organized. Interface families are used to categorize interfaces into functionally and mechanically compatible groups. Additionally, the number of interface families may be large so the interface families are also grouped into categories of part types. As a general rule, the part type of an interface family should be based on the more fixed type of connector (not cable interfaces). An interface is assigned to an interface family and given a gender. The gender, plug or jack, is used to allow interfaces within the same interface family to mate when constructing a unit. As a general rule, the more fixed type of connector is defined as a Jack and more flexible connectors are defined as Plugs (cable interfaces). If a cable interface may be connected to a variety of mates, a cable tag may be assigned to the interface which can be marked with information defining the connection (source and destination). For example, if cable W100 interface P1 connects to subassembly A1A2J2, the marker is “W100P1 (A1A2J2)”. The parentheses indicate the destination of the cable interface. Table XXVII defines the interface definition subprocess of the part definition process.
27TABLE XXVIIActions of Interface DefinitionLevelDescriptionAdditional Explanation1.1.6.1Add InterfaceAdd a new record to tlkpIF_Def 106.Field ID_IF_Family selected fromtlkpIF_Family 108. Field ID_Tagselected from tlkpTagDef 110. Selectfield Gender from “Plug” or “Jack”.1.1.6.1.1Add InterfaceAdd a new record to tlkpIF_FamilyFamily108. Field IDPartType selected fromtlkpPartType 100.1.1.6.2Delete InterfaceDelete record from tlkpIF_Def 106.Cannot be deleted if used in unitdefinition.


[0064] The location definition process is used to create a type of equipment or system and assign location definitions to it. Multiple sets of location definitions may be required for some types of equipment or systems. A location definition is a list of reference designated locations corresponding to places within the equipment or system for fixed subassemblies. This does not include cables used to connect the subassemblies. In some cases, the location definition may be augmented with an illustration implemented as a file or set of files identified by the field EquipDwgPath of tlkpLocDesc 202. Part families are used to insure that only parts compatible with a location are later assigned to that location during the unit construction process. A part family is a list of parts compatible with location. Since parts are categorized into part types, so are part families. When the equipment is initially created, the Status field is set as In-Process. When the location definition process for an equipment is completed, the status is set to Released. Further modifications of the location definition will require changing the status back to In-Process and recording an explanation for the change. Table XXVIII defines the location definition process.
28TABLE XXVIIIActions of Location DefinitionLevelDescriptionAdditional Explanation2.1Add EquipmentAdd a new record to tlkpEquipTypeTypeto create a type of equipment.2.1.1Add ConfigurationAdd a new record to tlkpLocDesc202.2.1.2DeleteDelete record in tlkpLocDesc 202Configurationand related records in tlkpLocDef204. Configuration cannot bedeleted if used in unit definition.2.1.3CopyAdd a new record to tlkpLocDescConfiguration202 with next EquipCfgNo andcopy records in tlkpLocDef 204 tonew EquipCfgNo.2.1.4Edit ConfigurationEdit locations of selectedEquipCfgNo from tlkpLocDesc202.2.1.4.1Add LocationAdd new location to tlkpLocDef204. Select field IDPartFamilyfrom tlkpPartFamilyDesc 206.Adjust reference designator to usefixed length numeric fields (e.g.A001).2.1.4.1.1Create Part FamilyAdd new part family definition totlkpPartFamilyDesc 206.2.1.4.2Delete LocationDelete location from tlkpLocDef204. Location cannot be deleted ifused in unit definition.2.1.4.3Add Part to PartAdd new part to a part family inFamilytlkpPartFamilyDef 208. Select partfamily from tlkpPartFamDesc 206.2.1.4.4Delete Part fromDelete part from a part family inPart FamilytlkpPartFamilyDef 208. Select partfamily from tlkpPartFamDesc 206.2.2Status SelectedChange configuration status ofEquipmentselected equipment.


[0065] The unit definition process results in a description of the construction of a unit assembly or system. A unit is made of parts selected from the parts definition tables. The parts are assigned to locations according to the part family definitions of the location definition of the selected equipment type. Processor groups may be defined and parts assigned to them. The parts are then interconnected based upon the interface definitions and interface families in the part definition. Finally, the parts are assigned configuration parameters based on the configuration parameter definitions in the part definition. The completed unit definition may be printed on reports to be described later. The unit definition is linked to the part definition and location definition for efficiency and coherency. When the unit is initially created, the Status field is set as In-Process. When the unit definition process for an equipment is completed, the status is set to Released. Further modifications of the unit definition will require changing the status back to In-Process and recording an explanation for the change. Table XXIX defines the unit definition process.
29TABLE XXIXActions of Unit DefinitionLevelDescriptionAdditional Explanation3.1Add UnitAdd a new record to tblUnitEquip300 to create a unit for assembly.Select the IDEquipType fromtlkpEquipType 200 andEquipCfgNo from tlkpLocDesc202.3.2Edit UnitSelect a unit from tblUnitEquip 300.3.2.1Edit Parts ListView the unit parts list fromtblUnitPartsList 302.3.2.1.1Add PartAdd a part from tlkpPartsList 102to tblUnitPartsList 302. Use thenext sequential item number startingat 1. If the part is a kit, add all theparts of the kit (multiply anyquantities greater than 1) and usethe next sequential kit numberstarting at 1. Copy theDefaultRefDes field fromtlkpPartsList 102 to the RefDesfield of tblUnitPartsList 302.3.2.1.2Delete PartDelete a part from tlkpPartsList 102and all corresponding records fromtblParam 304 and tblUnitConnect306.3.2.1.3Delete KitDelete all parts of a kit according to3.2.1.2.3.2.2Assign LocationsAssign field RefDes into PartstblUnitPartsList 302 based on a partfamily compatible, unoccupiedlocation from tlkpLocDef 204.Additional parts may be added to anoccupied location of their size iszero (e.g. putting software on ahard disk). Spare parts areexcluded from this step. Automaticassignments may be made for partsthat have only one possible location.3.2.3Define ProcessorAdd a record to tblUnitProcGrpGroups308 to define a processor group.Select field Index from tlkpOS 310.3.2.4Assign ProcessorAssign field ProcessorGrp inGroups to PartstblUnitPartsList 302 selected fromtblUnitProcGrp 308. Insure that theOS_Supported field fromtlkpPartsList allows the part to beassigned to the operating systembased on field Index from tlkpOS310. Spare parts are excluded fromthis step.3.2.5Interconnect PartsDisplay the list of parts withinterfaces, the interfaces and theconnections to the interfaces (TableXXIX). Spare parts are excludedfrom this step.3.2.6Assign ParametersDisplay the list of parts withto Partsconfiguration parameters and theirparameters (Table XXXI).3.3Status SelectedChange configuration status ofUnitselected unit.3.4Print ReportsPrint a set of reports for a unitdefinition (Table TBD).


[0066] The unit interconnection process is used to interconnect the parts in the unit that have interfaces defined. Mating interfaces are selected from the parts within the unit have interfaces in the same interface family and opposite gender and are unconnected. To know when the interconnection subprocess is completed, all unconnected interfaces are defined explicitly as “No Connects” thus accounting for all interfaces within a unit. The field IDUnitConnect of tblUnitConnect 306 is necessary to delete records from the table. The field IDUnitEquip of tblUnitConnect accelerates queries for connections within a unit. Table XXX defines the unit interconnection subprocess of the unit definition process.
30TABLE XXXActions of Unit Interconnect DefinitionLevelDescriptionAdditional Explanation3.2.5.1Assign CableAssign values to cable referenceReferencedesignators since they are notDesignatorsassigned during location definition.3.2.5.2Auto-assignDetect all interfaces that have onlyConnections andone possible mate or no possibleNo Connectionsmates and automatically assignthem.3.2.5.3Assign ConnectionSelect a mate for an interface that isin the same interface family,opposite gender and unconnectedand assign a connection intblUnitConnect 306.3.2.5.4Assign NoAssign a No Connect record inConnectiontblUnitConnect 306.3.2.5.5Delete ConnectionDelete a record in tblUnitConnect306.


[0067] The unit parameter definition process is used to assign a specific set of configuration parameters to each part within a unit. The parameters from the selected configuration are copied to tblUnitParam 304 so that parameter values may be modified independent of the part definition. A link to the original parameters in maintained with field PN_CfgNo in tblUnitPartsList so that the description and illustration fields in tlkpParamDesc 116 may be used. Parts that have only one configuration may be automatically assigned. Table XXXI defines the unit parameter definition subprocess of the unit definition process.
31TABLE XXXIActions of Unit Parameter DefinitionLevelDescriptionAdditional Explanation3.2.6.1Auto-assignCopy all parameters fromConfigurationstlkpParamDef 118 to tblUnitParam304 for parts with only oneconfiguration in tlkpParamDesc116. Assign the PN_CfgNo field oftblUnitPartsList 302 to the valuefrom tlkpParamDesc 116.3.2.6.2SelectSelect a configuration fromConfigurationtlkpParamDesc 116 and copy allparameters from tlkpParamDef 118to tblUnitParam 304. Assign thePN_CfgNo field of tblUnitPartsList302 to the selected value fromtlkpParamDesc 116.3.2.6.3DeleteDelete a configuration fromConfigurationtblUnitParam 304 and clear fieldPN_CfgNo in tblUnitPartsList 302.3.2.6.4Edit ConfigurationEdit the values in tblUnitParam 304.Values


[0068] The maintenance of supporting tables requires basic record operations. The supporting tables are not modified as part of normal activities and are considered more of an administration activity. Table XXXII defines the maintenance process.
32TABLE XXXIIActions of MaintenanceLevelDescriptionAdditional Explanation4.1Edit Part TypeAdd, delete and edit part typeDefinitionsdefinitions in tlkpPartType 100.4.2Edit OperatingAdd, delete and edit operatingSystem Definitionssystem definitions in tlkpOS 310.4.3Edit ParameterAdd, delete and edit parameterGroup Definitionsgroup definitions in tlkpParamGrp114.4.4Edit Cable TagAdd, delete and edit cable tagDefinitionsdefinitions in tlkpTagDef 110.


[0069] The configuration management tables tblCM_Status 210 and tblCM_Memo 212 are used by the part definition process, the location definition process and the unit definition process to record explanations for changes in status. The status is used to secure records when the data is considered complete. When the first change in status occurs, no records will exist in the tables so an initial record is created. The initial record defines a new master key in field CM_MstrKey which assigns all records under this key the associated part, equipment or unit. The new master key is the next sequential value from the largest master key. A new current key is established in field CM_CurKey which identifies each separate explanation in field Comment. A new record is added and a new current key is established each time the status is change from Released to In-process. Each time the status changes, a new record is added to tblCM_status recording the date and time, the user and the status.


[0070] The primary printed reports that may be generated define the construction of a selected unit. This report could be called a configuration identification index (CII). Other reports may be generated to create a hard copy of part definitions or location definitions. The CII requires several chapters of reports for each topic to be printed. This document could also include title page and tables of contents. Table XXXIII defines a basic set of chapters for a CII.
33TABLE XXXIIIConfiguration Identification Index ReportChapterTitleDescription1Parts ListA report containing a list of parts(See FIG. 5 forsorted by either part number oran example)reference designator. A group ofparameters containing informationsuch as item serial numbers couldalso be reported.2IllustrationsA report containing the illustrations(See FIGS. 6 andwithin a unit followed by a unit7)functional block diagram, followedby the location definition andfollowed by the part drawings.3Processor GroupsA report containing a list of the(See FIG. 8)processor groups and associatedfields. This report could alsocontain a list of all the partsassigned to each processor group.It may also be practical to includeconfiguration parameters ofoperating system software in eachprocessor group.4ConfigurationA report containing a list of all partsParameterswith configuration parameter(See FIG. 9)groups not previously reported.The parts would be organized inpart number or reference designatororder. The parameters for each partwould be presented in group orderand then parameter order(alphabetical).5InterconnectionA report containing a list of all(See FIG. 10)interfaces and their mates or NoConnect flags. The interfaceswould be organized in referencedesignator order and interface nameorder.6Cable TagsA report containing a list of all(See FIG. 11)interfaces requiring cable tags andthe marking required for the tags.


[0071] An example use of the present invention is the documentation of the construction of a computer assembly. The part types of a computer may include, power system (power supplies, fans, etc.), human machine interface (keyboards, monitors, etc.), circuit cards (processors, I/O, etc.), storage devices (hard disk, tape, CD ROM etc.), enclosures (cabinets, panels, etc.), networking (routers, switches, transceivers, etc.) and cables. Software can come in two categories, installed and uninstalled. Installed software, such as operating systems can be put in the same category as storage devices and given size zero. Then the software can be located on the storage device during the location assignment process. Uninstalled software would be treated as spare parts since it is separate from the assembly. A variable computer using circuit card slots and a backplane may support multiple processors and operating systems. Processor groups would be used to separate storage devices, circuit cards and HMI devices into their respective groups. Circuit cards that are mezzanines on other cards and do not require additional slots can be assigned size zero and added to locations along with the primary circuit card in the location. All of the types of illustrations; part, equipment and functional block diagram, could be used to complement the tabular data. A genealogy of reference designators would be used with each location assigned a unique reference designator and each cable assigned a unique reference designator. The equipment illustration would show the reference designators for locations.


[0072] The basic process for configuring a computer is to define the parts and their associated operating system compatibility matrix parameters and interfaces 401. The next step is to define the locations in the enclosure for the subassemblies and create part families for the locations 402. The last step is to construct the computer by creating the unit with selected a location definition, build the parts list, assign the parts to locations, define the processor groups, assign the parts to processor groups, define the interconnections, select configuration parameters and assign values to the parameters. The unit may then be assembled and tested 404 according to the configuration defined in the database and the CII report may be generated. The data may be used to support the product 405 after delivery.


[0073] The present invention is equally capable of documenting the construction of a system of many computers connected by a network. Instead of reference designators for locations within a enclosure, the locations may be defined by a grid within a building. Each computer in the building would be assigned a location. Other parts such as software (size=0) could be added to each computer. The configuration parameters for the computer could identify specific configuration information about the computer such as hardware features. Other parts such as networking hubs and switches would also be included. The interconnect definition would completely define the network topology. Parameters such as cable lengths could be recorded as well as installation dates, cable routing information, and maintenance records. The process for configuring a computer system is identical to the process for configuring a computer assembly, although more dynamic since a typical installation is constantly changing.


[0074] Although the embodiment preferred by the inventor is electronic units, the invention is applicable to virtually any type of manufactured goods, particularly where the good is produced with a number of configurations or versions, such as automobiles, computers, airplanes and many other products.


Claims
  • 1. A method of using a relational database to record and retrieve configuration information on a unit of manufacture comprising at least one each of a parts information lookup table, a location information lookup table, and a unit storage table wherein: (a) said location information lookup tables provide a list of available locations to place a part in a unit of manufacture and further comprise a location definition lookup table, and (b) said parts information lookup tables provide a catalog of parts and further comprise a parts list lookup table used to identify each part, and (c) a set of parameter information lookup tables related to said parts list lookup table for defining any number of parameters of information unique to each part, comprised of parameter definition lookup table defining a list of said parameters for each part, which is related to a parameter list lookup table which defines a list of parameters that may be associated with any part in said parts list table, and (d) said unit storage tables provide the configuration of a unit of manufacture comprising: (i) a unit definition storage table, which is related to said location information lookup table to identify a specific unit of manufacture; and (ii) a unit parts list storage table, which is related to one or more of said parts in said parts list information lookup tables to provide a list of parts for each said unit of manufacture, where each part in said unit parts list storage table is assigned a location from said location definition lookup table; and (iii) a unit parameter list storage table, which is used to record configuration parameter values for each part in said unit of manufacture, which is related to both said unit parts list storage table and said parameter definition lookup table.
  • 2. A method as claimed in claim 1, wherein said location definition lookup table is related to a part family definition lookup table which is related to said parts list lookup table for identifying which parts are compatible with each location of said location definition.
  • 3. A method as claimed in claim 1, wherein said location definition lookup table is related to an equipment type definition lookup table for identifying any number of different types of units of manufacture.
  • 4. A method as claimed in claim 1, wherein said location definition lookup table is related to a location description lookup table for defining one, or more locations for a type of unit of manufacture.
  • 5. A method as claimed in claim 1, wherein said parts list lookup table is related to a part type lookup table for grouping said parts into part categories.
  • 6. A method as claimed in claim 1, wherein said parts in said parts list lookup table are related to a kit definition lookup table for grouping said parts into kits.
  • 7. A method as claimed in claim 1, wherein said unit parts list storage table is related to a processor group storage table for grouping parts associated with a processor.
  • 8. A method as claimed in claim 1 comprising an interface definition lookup table and a unit interconnect storage table, wherein said parts list lookup table is related to said interface definition lookup table for defining interfaces unique to a part in the parts list, and said unit parts list storage table is related to said unit interconnect storage table, which is related to said interface definition lookup table for defining connections between parts in said unit parts list.
  • 9. A method as claimed in claim 8, wherein said interface definition lookup table is related to an interface family lookup table for identifying compatible mating connections of said parts.
  • 10. A method as claimed in claim 1, wherein said parameter list lookup table is related to a parameter group definition lookup table for grouping said parameters into parameter categories.
  • 11. A method as claimed in claim 1, wherein said parameter list lookup table is related to a parameter description look up table for defining multiple groups of parameters, which allow multiple pre-defined configurations of a part.
  • 12. A method of using a relational database, to record and retrieve configuration information on a unit of manufacture comprising, at least one each of a parts information lookup table, a location information lookup table, a unit storage table, and a pair of configuration management storage tables, wherein said pair of configuration management storage tables are linked together, and one of said configuration management storage tables of said pair of linked configuration management storage tables is a configuration management status table and the other is a configuration management memo table; comprising accessing both of said linked configuration management storage tables by using a first index key, which defines a group of configuration management records for a part definition, location definition, or unit definition, and a second configuration management index key which defines the current configuration management records for a part definition, location definition, or unit location wherein: (a) said location information lookup tables provide a list of available locations to place a part in a unit of manufacture, and further comprise a location definition lookup table, and (b) said parts information lookup tables provide a catalog of parts and further comprise a parts list lookup table used to identify each part, and (c) a set of parameter information lookup tables related to said parts list lookup table for defining any number of parameters of information unique to each part, comprised of a parameter definition lookup table defining a list of said parameters for each part, which is related to a parameter list lookup table which defines a list of parameters that may be associated with any part in said parts list table; and (d) said unit storage tables provide the configuration of a unit of manufacture comprising: (i) a unit definition storage table, which is related to said location information lookup table to identify a specific unit of manufacture, and (ii) a unit parts list storage table, which is related to one or more of said parts in said parts list information lookup tables to provide a list of parts for each said unit of manufacture, where each part in said unit parts list storage table is assigned a location from said location definition lookup table, and (iii) a unit parameter list storage table, which is used to record configuration parameter values for each part in said unit of manufacture, which is related to both said unit parts list storage table and said parameter definition lookup table.
  • 13. A method as claimed in claim 12, wherein said location definition lookup table is related to a part family definition lookup table which is related to said parts list lookup table for identifying which parts are compatible with each location of said location definition.
  • 14. A method as claimed in claim 12, wherein said location definition lookup table is related to an equipment type definition lookup table for identifying any number of different types of units of manufacture.
  • 15. A method as claimed in claim 12, wherein said location definition lookup table is related to a location description lookup table for defining one, or more locations for a type of unit of manufacture.
  • 16. A method as claimed in claim 12, wherein said parts list lookup table is related to a part type lookup table for grouping said parts into part categories.
  • 17. A method as claimed in claim 12, wherein said parts in said parts list lookup table are related to a kit definition lookup table for grouping said parts into kits.
  • 18. A method as claimed in claim 12, wherein said unit parts list storage table is related to a processor group storage table for grouping parts associated with a processor.
  • 19. A method as claimed in claim 12, comprising an interface definition lookup table and a unit interconnect storage table, wherein said parts list lookup table is related to said interface definition lookup table for defining interfaces unique to a part in the parts list, and said unit parts list storage table is related to said unit interconnect storage table, which is related to said interface definition lookup table for defining connections between parts in said unit parts list.
  • 20. A method as claimed in claim 19, wherein said interface definition lookup table is related to an interface family lookup table for identifying compatible mating connections of said parts.
  • 21. A method as claimed in claim 12, wherein said parameter list lookup table is related to a parameter group definition lookup table for grouping said parameters into parameter categories. 22. A method as claimed in claim 12, wherein said parameter list lookup table is related to a parameter description look up table for defining multiple groups of parameters, which allow multiple pre-defined configurations of a part.
Divisions (1)
Number Date Country
Parent 09270587 Mar 1999 US
Child 10131508 Jun 2002 US
Continuations (1)
Number Date Country
Parent 10131508 Jun 2002 US
Child 10686124 Oct 2003 US