This paper presents an integrated framework for assembly design. The framework allows the designer to represent knowledge about the design process and constraints, as well as information about the artifact being designed, design history and rationale. Because the complexity of assembly design leads to extremely large design spaces, adequately supporting design space exploration is a key issue that must be addressed. This is achieved in part by allowing the designer to use both top-down and bottom-up approaches to assembly design. Exploration of the design space is further enabled by incorporating a simulated annealing-based optimization tool that allows the designer to rapidly complete partial designs, refine complete designs, and generate multiple design alternatives.