Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation
First Claim
1. An expert system using control logic based on spreading activation and graphs as a knowledge representation for generating a value configuration of connected components, said expert system comprising:
- a priori net means for storing component definitions declaratively specified by a configurator developer, wherein said component definitions and the implied requirements of their use are represented as first nodes in a first spreading activation bi-partite graph;
instance net means for storing instances of components defined in said a priori net means interactively selected by a configurator user, wherein said instances and the interconnections between said instances are represented as second nodes in a second bi-partite graph; and
processing means coupled to said a priori net means and said instance net means for accepting requests from the configurator user to configure selected components, matching said configurator user requests to said component definitions, automatically propagating logical implications of said configurator user requests across as many ones of said first nodes of said first spreading activation bi-partite graph and said second nodes of said second bi-partite graph as are required to build a complete set of connected components fulfilling said configurator user requests by creating and connecting selected instances of said selected components only if creation and connection of said selected instances are valid based on said component definitions in said a priori net means and prior configurator user requests, and reporting the configuration resulting from said configurator user requests to the configurator user.
9 Assignments
0 Petitions
Accused Products
Abstract
A generalized configuration expert system for generating a complete, legal, and near-optimal configuration for any complex system consisting of multiple components is disclosed. The present invention allows a developer to specify a configurator framework for solving a particular configuration problem. A user then operates the customized configurator to generate a configuration solution based on the user'"'"'s requests and the system'"'"'s requirements and constraints. The generalized configurator uses declaratively constructed graphs and multiple interacting packing engines. A two-level, bi-partite, spreading activation graph is used as the knowledge representation of the components to be configured and their associated relationships. The invention dynamically manages the interaction of the multiple packer engines to select the appropriate piece of the total configuration problem to work on at any point in time, while still taking into account the other packing problems. The invention provides the ability to declaratively define the constraints used by the packing engines to assure correct configuration results.
-
Citations
35 Claims
-
1. An expert system using control logic based on spreading activation and graphs as a knowledge representation for generating a value configuration of connected components, said expert system comprising:
-
a priori net means for storing component definitions declaratively specified by a configurator developer, wherein said component definitions and the implied requirements of their use are represented as first nodes in a first spreading activation bi-partite graph; instance net means for storing instances of components defined in said a priori net means interactively selected by a configurator user, wherein said instances and the interconnections between said instances are represented as second nodes in a second bi-partite graph; and processing means coupled to said a priori net means and said instance net means for accepting requests from the configurator user to configure selected components, matching said configurator user requests to said component definitions, automatically propagating logical implications of said configurator user requests across as many ones of said first nodes of said first spreading activation bi-partite graph and said second nodes of said second bi-partite graph as are required to build a complete set of connected components fulfilling said configurator user requests by creating and connecting selected instances of said selected components only if creation and connection of said selected instances are valid based on said component definitions in said a priori net means and prior configurator user requests, and reporting the configuration resulting from said configurator user requests to the configurator user. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-rule-based configurator expert system expert using control logic based on spreading activation and graphs as a knowledge representation for generating a complete, valid, near-optimal configuration of connected components, the configurator expert system being customized for a given configuration domain by a configurator developer, and operated by a configurator user to generate a configuration solution based on user requests and predetermined component requirements and connection constraint expressions contained in component definitions, said non-rule-based configurator expert system comprising:
-
an a priori net containing component definitions declaratively specified by the configurator developer, wherein said component definitions and the implied requirements of their use are represented as first nodes in a first spreading activation bi-partite graph; an instance net containing instances of components defined in said a priori net interactively selected by the configurator user, wherein said instances and the interconnection between said instances are represented as second nodes in a second bi-partite graph; and a logic engine coupled to said a priori net and said instance net, wherein said logic engine accepts requests from the configurator user to connect selected components, matches the configurator user requests to said component definitions stored in said a priori net, automatically propagates logical implications of configurator user requests across as many ones of said first nodes of said first spreading activation bi-partite graph and said second nodes of said second bi-partite graph as are required to build a complete set of fully interconnected components fulfilling said configurator user requests by creating and connecting selected instances of configurator user. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-rule-based configurator expert system using control logic based on spreading activation and graphs as a knowledge representation for generating a valued configuration of components connected to form a computer system, said non-rule-based configurator expert system comprising:
-
a priori net means for storing computer system component definitions declaratively specified by a configurator developer, wherein said component definitions and the implied requirements of their use are represented as first nodes in a first spreading activation bi-partite graph; instance net means for storing instances of computer system components defined in said a priori net means interactively selected by a configurator user, wherein said instances and the interconnections between said instances are represented as second nodes in a second bi-partite graph; and processing means coupled to said a priori net means and said instance net means for accepting requests from the configurator user to configure selected computer system components, matching said configurator user requests to said computer system component definitions stored by said a priori database means, automatically propagating logical implications of configurator user requests across as many ones of said first nodes of said first spreading activation bi-partite graph and said second nodes of said second bi-partite graph as are required to build a complete set of connected computer system components fulfilling said configurator user requests by creating and connecting selected instances of said selected computer system components in said instance database means only if creation and connection of said selected instances are valid based on said computer system component definitions in said a priori net means and prior configurator user requests, and reporting the configuration resulting from said configurator user requests to the configurator user. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer-based, non-rule-based configurator expert system using control logic based on spreading activation and graphs as a knowledge representation for generating a complete, valid, near-optimal configuration of connected components, the configurator expert system being customized for a given configuration domain by a configurator developer, and operated by a configurator user to generate a configuration solution based on configurator user requests, predetermined component requirements and connection constraints contained in component definitions, said computer-based, non-rule-based configurator expert system comprising:
-
an a priori net representing component definitions declaratively specified by the configurator developer, said component definitions being logically coupled to resources implied by the user of said component definitions to form a first bi-partite, spreading activation graph wherein an arc of said first bi-partite, spreading activation graph connects a node representing one of said component definitions to at least one node representing at least one of said resources; an instance net representing created instances of components defined in said a priori net interactively selected by the configurator user, said instances being logically coupled to instances of said resources to form a second bi-partite graph, wherein an arc of said second bi-partite graph connects a node representing one of said instances to at least one node representing at least one instance of said implied resources; and a logic engine coupled to said a priori net and said instance net, wherein said logic engine accepts requests from the configurator user to connect selected components, matches the requests to said component definitions, automatically propagates logical implications of configurator user requests across as many nodes of said first bi-partite, spreading activation graph and said second bi-partite graph as are required to build a complete set of interconnected components fulfilling said configurator user requests, creates and connects said selected instances of said selected components in said second bi-partite graph only if creation and connection of said selected instances are valid based on said component definitions in said a priori net and previous configurator user requests, validity being determined by analyzing the relationships between nodes contained in said first bi-partite, spreading activation graph and said second bi-partite graph and connection constraints, and reports the configuration resulting from said requests to the configurator user. - View Dependent Claims (17, 18, 19)
-
-
20. A computer-based, non-rule-based configurator expert system using control logic based on spreading activation and graphs as a knowledge representation for generating a complete, valid, near-optimal configuration of components connected to form a computer system, the configurator expert system being customized for a given computer system configuration domain by a configurator developer, and operated by a configurator user to generate a configuration solution based on configurator user requests, predetermined computer system component requirements and connection constraints contained in computer system component definitions, said computer-based, non-rule-based configurator expert system comprising:
-
an a priori net representing computer system component definitions declaratively specified by the configurator developer, said computer system component definitions being logically coupled to resources implied by the use of said computer system component definitions to form a first bi-partite, spreading activation graph wherein an arc of said first bi-partite, spreading activation graph connects a node representing one of said component definitions to at least one node representing at lest one of said resources; an instance net representing instances of computer system components defined in said a priori net interactively selected by the configurator user, said instances being logically coupled to instances of said resources to form a second bi-partite graph, wherein an arc of said second bi-partite graph connects a node representing one of said instances to at least one node representing at least one instance of said resources; and a logic engine coupled to said a priori net and said instance net, wherein said logic engine accepts requests from the configurator user to connect selected computer system components, matches the requests to said computer system component definitions, automatically propagates logical implications of configurator user requests across as many nodes of said first bi-partite, spreading activation graph and said second bi-partite graph as are required to build a complete set of interconnected computer system components fulfilling said configurator user requests, creates and connects selected instances of said selected computer system components in said second bi-partite graph only if creation and connection of said selected instances are valid based on said computer system component definitions and previous configurator user requests, validity being determined by analyzing the relationships between nodes inherent in said first bi-partite, spreading activation graph and said second bi-partite graph, and connection constraints, and reports the configuration resulting from said requests to the configurator user. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-implemented method for generating a complete, valid near-optimal configuration of connected components, wherein each component can be described by a component definition, said computer-implemented method comprising the steps of:
-
(a) declaratively defining components to be configured; (b) representing the component definitions and the resources implied by their use as nodes in a first bi-partite, spreading activation graph, wherein an arc of said first bi-partite, spreading activation graph connects a first selected node representing one of said component definitions to at least one second selected node representing said resources; (c) accepting a request to configure selected components from a configurator user; (d) automatically propagating according to spreading activation the logical implications of implementing said configurator user request across multiple nodes of said fist bi-partite, spreading activation graph to build a complete set of interconnected components fulfilling said configurator user request by creating and connecting instances of said selected components and said resources defined in said first bi-partite, spreading activation graph as nodes in a second bi-partite graph in response to said configurator user requests; (e) determining if said creation and connection of said instances is valid based on the component definitions, previous configurator user requests, and the current state of said second bi-partite graph; (f) removing said instances from said second bi-partite graph if said creation and connection of said instances was determined to be invalid in the previous step; and (g) reporting the configuration represented by said second bi-partite graph which resulted from said configurator user request to the configurator user. - View Dependent Claims (29, 30, 31)
-
-
32. A computer-implemented method for generating a complete, valid near-optimal configuration of components connected to form a computer system, wherein each computer system component can be described by a computer system component definition, comprising the steps of:
-
(a) declaratively defining computer system components to be configured; (b) representing the computer system component definitions and the resources implied by their use as nodes in a first bi-partite, spreading activation graph; (c) accepting a request to configure selected computer system components from a configurator user; (d) automatically propagating according to spreading activation the logical implications of implementing said configurator user request across multiple nodes of said first bi-partite, spreading activation graph to build a complete set of interconnected computer system components fulfilling said configurator user request by creating and connecting instances of said selected computer system components and said resources defined in said first bi-partite, spreading activation graph as nodes in a second bi-partite graph in response to said configurator user request; (e) determining if said automatic spreading activation propagation and creation and connection of said instances is valid based on the computer system component definitions, previous configurator user requests, and the current state of said second bi-partite graph; (f) removing said instances from said second bi-partite graph if said creation and connection of said instances was determined to be invalid in the previous step; and (g) reporting the computer system configuration represented by said second bi-partite graph which resulted from said request to the configurator user. - View Dependent Claims (33, 34, 35)
-
Specification