Before the design of a TCAD system can be attacked, the requirements must be known. This poses the central problem of TCAD system design. Exact requirements that could be used for a proper top-down design simply can not be found. There is no well-established specification of the TCAD problem. Advanced technology CAD is so diverse in its methodology that hardly any reliable requirement specification can be formulated. Hence, a classical top-down design fails in the very first step.
One can, however, conquer this voidness with a bottom-up design. This means that problem definition, specifications and refinement accompany the implementation which starts at low, generic functionality and grows upwards to more specialized, higher functionality. A layered architecture will be created. The specification and design of the next level is based on the implementation of the previous (lower) level. Some conceptual, problem-independent guidance is needed for this risky approach to avoid uncontrolled architectural and functional diversification.