System and method for automatic design of components in libraries
First Claim
1. A system for automatically generating at least one new component, the system comprising:
- a plurality of components, wherein each of the plurality of components performs a certain function;
a component library to store the plurality of components;
a processing device; and
a persistent storage device coupled to the processing device for storing an executable component generation module, wherein the component generation module when executed causes the system to create the at least one new component, wherein the component generation module when executed further causes the system to;
select a subset of the plurality of components in the component library;
generate a combination by randomly combining the subset of the plurality of components;
evaluate the combination against a plurality of goals, wherein the plurality of goals are formal specifications of a function of a desired component defined by a user;
encapsulate the combination into the at least one new component, designate an observable interface for the at least one new component, and store the at least one new component in the component library if the combination meets one or more criteria, wherein each of the plurality of components is associated with a cost, wherein the cost comprises the number of subcomponents needed to build the combination.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention introduce a novel recursive assembly process to automatically create a library of components. It starts with simple components used as building blocks and proceeds by repeatedly combining these randomly into more complex ones. The utility and quality of these random combinations of components are measured against a set of functional goals. Useful combinations then become new components in the library that can be used as building blocks for further random combination. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
26 Citations
19 Claims
-
1. A system for automatically generating at least one new component, the system comprising:
-
a plurality of components, wherein each of the plurality of components performs a certain function; a component library to store the plurality of components; a processing device; and a persistent storage device coupled to the processing device for storing an executable component generation module, wherein the component generation module when executed causes the system to create the at least one new component, wherein the component generation module when executed further causes the system to; select a subset of the plurality of components in the component library; generate a combination by randomly combining the subset of the plurality of components; evaluate the combination against a plurality of goals, wherein the plurality of goals are formal specifications of a function of a desired component defined by a user; encapsulate the combination into the at least one new component, designate an observable interface for the at least one new component, and store the at least one new component in the component library if the combination meets one or more criteria, wherein each of the plurality of components is associated with a cost, wherein the cost comprises the number of subcomponents needed to build the combination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method to support automatic component library design comprising:
-
storing a plurality of components in a component library, wherein each of the plurality of components performs a certain function; selecting a subset of the plurality of components in the component library; generating, by a component generation module executable on one or more computing devices, a combination by randomly combining the subset of the plurality of components; evaluating the combination against a plurality of goals, wherein the plurality of goals are formal specifications of a function of a desired component defined by a user; encapsulating the combination into a new component, designating an observable interface for the new component, and storing the new component into the component library if the combination meets one or more criteria, wherein each of the plurality of components is associated with a cost, wherein the cost comprises the number of subcomponents needed to build the combination; and generating at least one new component. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A machine readable medium having instructions stored thereon that when executed cause a system to:
-
store a plurality of components in a component library, wherein each of the plurality of components performs a certain function; select a subset of the plurality of components in the component library; generate, by a component generation module executable on one or more computing devices, a combination by randomly combining the subset of the plurality of components; evaluate the combination against a goal, wherein the plurality of goals are formal specifications of a function of a desired component defined by a user; encapsulate the combination into a new component, designate an observable interface for the new component, and store the new component into the component library if the combination meets one or more criteria, wherein each of the plurality of components is associated with a cost, wherein the cost comprises the number of subcomponents needed to build the combination; and generate at least one new component.
-
Specification