Patent ID: 7930149

Claim:
A computer-implemented method for defining a configuration model for a configurable product, comprising: receiving, at a computer, a first input from a first source, the first input specifying one or more actions in connection with the configuration model; determining whether the first source is authorized to request the one or more actions specified by the first input; if the first source is determined to be authorized, defining, in the computer, based on the first input, a first version of a first subcomponent to be used in the configuration model, the first version describing at least a first characteristic of the first subcomponent; defining, in the computer, a constraint belonging to the first subcomponent, the constraint defining a dependency between the first characteristic and a second characteristic of the first subcomponent; receiving, at the computer, a second input; defining, in computer, based on the second input, a second version of the first subcomponent to be used in the configuration model; designating, in computer, the first version as an active version of the first subcomponent, and designating the second version as an inactive version of the first subcomponent; defining, in the computer, based at least in part on the active version of the first subcomponent, an active version of a first component of the configurable product, wherein the active version of the first subcomponent is part of the active version of the first component; automatically designating, in the computer, components linked to the active version of the first component as active components; establishing, by the computer, a link between the configuration model and a second, different configuration model for accessing one or more components and subcomponents of the second, different configuration model; generating, in the computer, the configuration model from the active components, the active version of the first component, and the one or more components and subcomponents of the second, different configuration model being accessed through the link; determining, at the computer, a role of a user; enabling the user to access the first component based on the role of the user; verifying, in the computer, that the configuration model complies with the constraint; and providing, from the computer, the configuration model to one or more entities.