1. A method, including: assembling components for a product design; representing 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; associating a graphical form with each of the components; and indexing the product design, the components, the constraints, the data structure and the graphical forms in a data store.