A method and system for engineering discovery. A block diagram of a system can
be further refined by building a basic search query listing the functional requirements
for block. The search query can be expanded by selecting one or more saved rules.
A database can return components or subsystems that meet the criteria from the
basic search query or the expanded search query. One or more candidates can be
chosen from the answer set and assigned to the block. A system-constraint-based
selection can compare combinations of the candidate components against a set of
predefined criteria to indicate the components to be used for the system which
meet those criteria. The design of the system can be accomplished by using generic
descriptions rather than blocks.