Hierarchical knowledge system
First Claim
1. A knowledge system comprising a computer having a memory storing a knowledge base, said knowledge base includingpredefined descriptions of assemblies of predefined components for indicating whether a specified component is permitted in a specified assembly, andfor at least some of said descriptions of assemblies, sets of predefined conditions of different properties of the components in the assembly for indicating whether certain predefined properties of a specified set of components are compatible within the assembly,said memory comprising a control procedure forfirst obtaining a predetermined initial set of predefined components,thereafter matching the initial set of components to the predefined descriptions of assemblies to determine respective sets of matching components including the components in the initial set which are also permitted in the respective assemblies,thereafter applying the sets of conditions to the respective sets of matching components for the respective assemblies, andindicating whether the respective conditions are satisfied,said computer including means for executing said control procedure to thereby first obtain said predetermined initial set of predefined components, thereafter match said initial set of components to said predefined descriptions of assemblies, thereafter apply said sets of conditions to the respective sets of matching components for the respective assemblies and generate an indication of whether the conditions are satisfied.
5 Assignments
0 Petitions
Accused Products
Abstract
A knowledge system has a hierarchical knowledge base comprising a functional decomposition of a set of elements into subsets over a plurality of hierarchical levels, a plurality of predefined functions or conditions of the elements within the subsets of a plurality of the hierarchical levels, and a predefined set of operations to perform on a user-defined set of elements responsive to the functional knowledge base. Preferably, the knowledge base is defined declaratively by assigning parent sets to offspring subsets to define the hierarchy, by indicating the conditions of the subsets which satisfy the predefined functions and by writing task blocks in an imperative language defining the sequence of operations to perform on the user-defined set of elements. Preferably the operations include matching, configuring and expanding the user-defined set of elements into the defined subsets of individual elements and evaluating the predefined functions, and the operations are executed recursively. In a specific embodiment the elements are available components for a system or item of manufacture, and the subsets of elements are sub-assemblies or functionally related components. The predefined functions define condition-action constraints to insure that the sub-assemblies have compatible components. Such a knowledge system has general applicability, is easy to maintain and incrementally modify, has transparent representation of the functional decomposition and the configuration operations, and provides explanation for an assessment of the configuration.
287 Citations
70 Claims
-
1. A knowledge system comprising a computer having a memory storing a knowledge base, said knowledge base including
predefined descriptions of assemblies of predefined components for indicating whether a specified component is permitted in a specified assembly, and for at least some of said descriptions of assemblies, sets of predefined conditions of different properties of the components in the assembly for indicating whether certain predefined properties of a specified set of components are compatible within the assembly, said memory comprising a control procedure for first obtaining a predetermined initial set of predefined components, thereafter matching the initial set of components to the predefined descriptions of assemblies to determine respective sets of matching components including the components in the initial set which are also permitted in the respective assemblies, thereafter applying the sets of conditions to the respective sets of matching components for the respective assemblies, and indicating whether the respective conditions are satisfied, said computer including means for executing said control procedure to thereby first obtain said predetermined initial set of predefined components, thereafter match said initial set of components to said predefined descriptions of assemblies, thereafter apply said sets of conditions to the respective sets of matching components for the respective assemblies and generate an indication of whether the conditions are satisfied.
-
29. A knowledge system comprising a computer having a memory storing a knowledge base, said knowledge base including
predefined descriptions of assemblies of predefined components for indicating whether a specified component is permitted in a specified assembly, and corresponding sets of assembly constraints including predefined conditions of different properties of the components in their respective assemblies for indicating whether certain predefined properties of a specified set of components are compatible within the assembly, and also including predefined actions to perform when the constraints are applied and the conditions are satisfied including outputting a warning to a user indicating specified conditions are satisfied, said memory further comprising a control procedure for first obtaining a predetermined list of components, thereafter matching the components in said list to the predefined descriptions of assemblies to determine respective sets of matching components containing the components in said list which are permitted in the respective assemblies, thereafter applying the sets of assembly constraints to the respective sets of matching components from the list for the respective assemblies, and conditionally performing the respective actions in response to whether their respective conditions are satisfied when the assembly constraints are applied, said computer including means for executing said control procedure to thereby first obtain said predetermined list of components, thereafter match the components in said list to the predefined descriptions of assemblies, thereafter apply said sets of constraints to the respective sets of matching components from said list of components, and conditionally perform said respective actions in response to whether their respective conditions are satisfied when the assembly constraints are applied.
-
50. A knowledge system comprising a computer having memory storing
a knowledge base including knowledge about a set of related elements, and an initial list of certain ones of said elements, said knowledge about said set of related elements including a predefined declaration of hierarchical decomposition of said set of related elements into separately defined subsets of said elements, some of said separately defined subsets being composed of other of said separately defined subsets having fewer elements, and for said separately defined subsets of said elements, respective predefined functions of the respective elements in the subsets, the domain of each function thereby being its respective subset, such function having a predefined result obtained when the function is applied responsive to the specified elements within its domain, said memory including a working configuration portion for storing lists of said elements, said memory storing a predefined matching procedure for matching a specified list of certain ones of said elements to a specified one of said subsets to thereby obtain a list of matching elements which are the elements in said specified list which are also elements of said specified subset, said list of matching elements being stored in said working configuration portion of said memory, and said memory further storing a predefined control procedure for successively applying said matching procedure to match said initial list to said subsets of elements composing said set of related elements, and for each of said subsets of elements composed of said subsets of fewer elements applying said matching procedure to match the previously obtained respective list of matching elements to each of said subsets of fewer elements composing said subset of elements to thereby obtain lists of matching elements representing the configuration of said initial list according to said hierarchical decomposition, and applying said functions to the respective lists of matching elements within the domains of the respective functions and obtained by matching to the respective subsets, and said computer including means for executing said control procedure to thereby obtain said matching lists of elements representing a configuration of said initial list according to said hierarchical decomposition, and for applying said functions to the respective matching lists within the domains of the respective functions.
-
61. A knowledge system for checking a production request for a flexibly-assembled product, said request including a list of part names and respective quantities, said knowledge system comprising a computer having a memory storing a knowledge base, said knowledge base including
a declaration of a hierarchy of functional assemblies including parent-offspring relationships between respective assemblies and sub-assemblies, a parts catalog including a predefined set of parts and identification of the functional assemblies which the respective parts compose, and a set of conditions applicable to respective assemblies for indicating whether parts configured into the respective assemblies are compatible, said memory also including a working configuration portion of said memory subdivided into respective bins for receiving the names of parts configured into the respective assemblies, and a control procedure for obtaining said request, configuring the part names in the request into at least one parent assembly by referencing the parts to the parts catalog to determine whether the parts compose the parent assembly and when they compose the parent assembly adding the respective part names to the parent bin, configuring the part names in the request to respective offspring assemblies by referencing the parts in the respective parent bins to the parts catalog to determine whether the parts comprise the offspring assemblies and when they comprise the respective offspring assemblies adding the respective part names to the respective offspring bins, and applying said conditions to the part names in the respective assemblies, and said computer including means for executing said control procedure to obtain said request, configure the part names in said request to respective offspring assemblies, and apply said conditions to the part names in the respective assemblies to thereby check whether the request includes compatible parts for all of the assemblies in the product.
-
67. A knowledge system for designing a product including assemblies of predetermined parts, said knowledge system comprising a computer having a portion of memory storing a knowledge base and a portion of memory subdivided into respective bins for receiving selected names of said parts for comprising the respective assemblies,
said knowledge base including a control procedure for obtaining a set of assembly constraints including conditions applicable to respective assemblies for indicating whether parts in the respective bins have desired properties and respective actions indicating predetermined changes to the sets of parts in the respective bins for obtaining said desired properties in response to whether the respective conditions are satisfied, and applying said conditions of said assembly constraints to the respective assemblies and conditionally executing the respective changes in response to whether the conditions are satisfied, wherein said knowledge base further includes a hierarchy defining at least some of said assemblies as offspring sub-assemblies of respective parent assemblies, and wherein said assembly constraints associated with said parent assemblies have conditions referencing the conditions of parts in the respective offspring bins, and said computer including means for executing said control procedure to thereby obtain said set of assembly constraints, apply said assembly constraints, and conditionally execute said respective changes to thereby obtain a design for said product, said design being indicated by the list of names of the parts in the bins after said conditions are applied and said changes are conditionally executed.
Specification