The present invention employs a generative approach for configuring systems such
that a system may be configured based on component or resource requests, or input
in the form of need. The present invention provides a constraint-based configuration
system using a structural model hierarchy. The structural aspects of the model
provide the ability to define a model element as being contained in, or by, another
model element. In addition, the structural model provides the ability to identify
logical datatype and physical interconnections between elements and establish connections
between elements. To configure a system, the present invention accepts input in
the form of requests (e.g., component or resource) or needs, such as an expression
of a need for a desktop computer system to be used in a CAD (i.e., computer-aided
design) environment. Using this information, the present invention configures a
system by identifying the resource and component needs, constraints imposed on
or by the resources or components identified, and the structural aspects of the system.