We believe that the efficiency and effectiveness of human designers can be improved by making available tools that can be used to help negotiate solutions to open or unstructured parts of the process of designing. We assert that the efficiency and effectiveness of a designer can be increased by increasing the speed with which the design iteration is accomplished and reducing of the number of iterations. An increment in the iteration speed can be achieved if at least some parts of a design process are known and can be modelled on a computer. One way of reducing the number of iterations in design is by avoiding this corrective redesign. This provides the stimulus for developing approaches to design that include Concurrent Engineering considerations. Thus, in our opinion, a necessary ingredient in increasing efficiency and effectiveness of human designers is the modeling of design processes in a manner that they can be analyzed, manipulated and implemented. This is the central theme of our paper.