In order to meet the requirements of advanced process and device design, a new generation of TCAD frameworks is emerging These are based on a data level providing a common data interchange format. Such a format must be suitable for building simulation databases, and needs to be accompanied by supporting tools and by a procedural interface with multi-language bindings for data storage and retrieval by application programs. The complexity and scope of a rigorous TCAD framework requires special efforts to create a system which is both transparent to the user and comprehensible to the programmer. A consistent architecture and strict adherence to general software engineering guidelines can contribute significantly to the solution of this problem. We discuss general requirements and architectural issues of the data level, the user interface and the task level environment, and present their implementation in VISTA, the Viennese Integrated System for Technology CAD Applications.