A generalized configurator software system provides separate building and
executing of software-based configuration definitions from which any of a
wide variety of articles may be specified or configured. For example, the
configuration definitions may relate to various features or components
that may be selected for or incorporated into or used to select or
specify any type of article, including a personal computer, an
automobile, a construction project (e.g., a bathroom remodel or a
multistory structure), etc. The configuration definitions are stored in a
definitions database and are built or constructed by a set-up user from a
generalized configurator data structure or framework that may include any
or all of variables, items, formulas, and assemblies. The variables,
items, formulas, and assemblies are specified to represent the generic
features or components that may be selected for one or more articles, and
also include operating logic for selecting specific ones of the features
or components. Accordingly, the configuration definitions define the
basis on which a configuring user can select, specify, or "configure" any
of one or more articles.