In order to succeed in today's global, competitive market, companies need continuous improvements in their product development processes. These improvements should result in expending fewer resources on the design process while achieving better quality. Automating the design process reduces resources needed and allows designers to spend more time on creative aspects that improve the quality of design. For the last three decades, engineers and designers have been searching for better ways to automate the product development process. For certain classes of design problems, which cover a large portion of real world design situations, the process can be automated using knowledge-based systems. These are design problems in which the knowledge sources are known in advance. Using techniques from Knowledge-Based Engineering, knowledge is codified and inserted into a knowledge-based system. The system activates the design knowledge, automatically generating designs that satisfy the design constraints. To increase the return on investment of building automated design systems, Knowledge management methodologies and techniques are required for capturing, formalizing, storing, and searching design knowledge.