1. A method implemented in a computer-readable medium and executed by a computer for: assembling, by the computer, components for a product design, wherein each component represents a graph identifying a portion of the product design; representing, by the computer, the components as a data structure, wherein constraints between each component with respect to other ones of the components are represented in the data structure, and wherein the data structure is dynamically interacted with to assemble the product design or to build the product design from scratch by executing the constraints that are algorithmic from the data structure, and wherein the data structure is also a set that includes the components, the constraints, a concept graph, parameters, a form definition, and a process definition, wherein the form definition is another set defined by geometric features that represent a shape, and wherein the process definition represents a supply chain representation for the components and an evaluation procedure for analyzing the components, the supply chain representation is a system of resources, information, and technology for moving products or services from a supplier to a customer, the parameters are specific to the form and process definitions for the product, and wherein the concept graph includes a list of sub concepts and their connectivity to one another, the connectivity includes functional, operational, informational, and physical interactions between the sub concepts; associating, by the computer, a graphical form with each of the components; and indexing, by the computer, the product design, the components and the constraints of the data structure and the graphical forms in a database for subsequent search and retrieval from the database.