The scope of this work provides a description of the stages of design, fabrication and assembly of PCBs leading to a treatise of work done in the area of design for assembly of PCBs in the surface mount domain. Subsequently, a declarative representation of PCB design guidelines and rules so that they are capable of being implemented as discrete knowledge-based data-structures, is provided in this work. Furthermore, selected PCB design guidelines and rules were evaluated so as to provide a degree of industrial orientation to this work. Finally, a specification and architecture for a system to provide design for assembly knowledge to support PCB design is developed, culminating in a demonstration of knowledge-based decision support in the design for assembly of PCBs.