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. In one embodiment, a
flash configuration cache is utilized to speed up the process of
configuring an end product, such as a user computer. In another
embodiment, a bundling cache is used to speed up the process of bundling.
A invenção atual emprega uma aproximação generative para sistemas de configuração tais que um sistema pode ser configurarado baseou em pedidos do componente ou do recurso, ou a entrada no formulário da necessidade. A invenção atual fornece um sistema confinamente-baseado da configuração usando uma hierarquia modelo estrutural. Os aspectos estruturais do modelo fornecem a abilidade de definir um elemento modelo como sendo contido dentro, ou perto, um outro elemento modelo. Além, o modelo estrutural fornece a abilidade de identificar o datatype lógico e interconexões físicas entre elementos e de estabelecer conexões entre elementos. Para configurarar um sistema, a invenção atual aceita a entrada no formulário dos pedidos (por exemplo, componente ou recurso) ou das necessidades, tais como uma expressão de uma necessidade para um sistema computatorizado desktop ser usado em um ambiente do CAD (isto é, projeto computer-aided). Usando esta informação, a invenção atual configurara um sistema identificando as necessidades do recurso e do componente, os confinamentes impostos ou pelos recursos ou pelos componentes identificados, e os aspectos estruturais do sistema. Em uma incorporação, um esconderijo flash da configuração é utilizado para apressar-se acima do processo de configurarar um produto de extremidade, tal como um computador do usuário. Em uma outra incorporação, um esconderijo empacotando é usado apressar-se acima do processo de empacotar.