The study of human experts in the areas of design and manufacturing has lead to two hypotheses concerning the problem solving methods which these engineers utilize to attack difficult problems. The basis of both hypotheses is a modular approach to problem solving. One hypothesis addresses the nature of the modules utilized while the other hypothesis deals with the organization of the modules. A knowledge-based system has been designed and implemented under the philosophy expressed in these hypotheses. The domain is the design and manufacture of riveted joints in sheet metal. Special emphasis is given to the integration of design knowledge and manufacturing knowledge for the concept of "designing for manufacturability". The implementation is described in some detail and two example problems are presented with their solutions.