The automation of design and sale of electronic and mechanical components
is accomplished by allowing a user to design a plan for their electronic
and mechanical component needs using specialized software. The software
utilizes predefined models of components to aid the user in designing a
system where all the components are compatible, even in cases where the
components are made by different manufacturers. This is accomplished by
creating a model for each proposed piece of equipment in the system, the
model having properties and rules, wherein the rules define conditions
and actions. Then an object is created for each piece of equipment in the
system. Selections for values for the properties are received for each of
the pieces of equipment. Any rules that have as a condition the
properties for which value selections are received are executed. Finally,
testing may be undertaken to determine if a proposed configuration is
valid by examining results of the rule execution.