A hierarchical approach to simultaneous design of products and processes