4.1 Requirements



next up previous contents index
Next: 4.2 Architectural Design Up: 4 Task Level Environment Previous: 4 Task Level Environment

4.1 Requirements

 

The specifications for the task level environment are comprised by practical experiences and by the few predictable requirements related to aspects of tool integration, development, and maintenance. As with the user interface, both TCAD user and application engineer are affected by the design of the task level and hence a broad spectrum of task level properties is required.

Homogeneity.
For a TCAD framework a homogeneous, dedicated task level environmentgif for the control and sequencing of applications is required. Inhomogeneous task flow and tool control information as prevalent in shell-script and input-deck based solutions is not acceptable for a TCAD framework.

System Independence and Portability.
An often encountered and somehow ``natural'' method for multi-tool sequencing is the use of shell scripts implemented on native operating-system dependent, sometimes extended shells. A dedicated framework task level, however, must not depend on operating system features and must not make use of operating system components like shells or other interpreters.

Flexibility.
Early TCAD systems restricted the possible simulation flow to a given set of standard flows, each corresponding to a certain manufacturing technology or a subsequence thereof. This is not a good basis for future-oriented TCAD and the complete freedom of task flows, especially when complex nested optimization flows are expected, must be demanded. The task level should allow the combination of tools in arbitrary flows, the only limiting factor being data level semantics.

Tool Control and Framework Access.
As the task level environment plays, simply speaking, the role of the ``main program'' of the TCAD system, it must allow (at least high-level) access to all relevant components of the TCAD system. Applications must be started as subprocesses and framework libraries and services must be includable in task flows.

Layering.
It must be possible to introduce layers or modules to bridge the semantical gap between (rather physical) process flow representations and sequences of actual simulator calls.

Task Flow.
It must be possible to represent statically complex task flows and to execute them. Flow representations should be non-volatile and it must be possible to manipulatable, store, and retrieve them. Continuation of interrupted simulation sequences should be possible.

Heterogeneous Task Distribution.
It should be possible to distribute simulation tasks in a heterogeneous computing environment. While this feature must be enabled by the operating-system independence and portability of the entire TCAD system, it is the task level shell that must provide access to appropriate communication facilities for task synchronization.

Tool Integration.
The range of tools that must be integrated onto the task level stretches from single toolbox functions (they are typical parts of the framework) to input-deck driven executables. One still wishes to have a homogenized interface for the invocation of all functionality, regardless of the respective implementation. External, foreign applications often need pre- and post-processing converters for the wrapping of the data level which must be tightly connected to the applications on the task level.

Programming Capabilities.
Advanced practical TCAD tasks involve block structures, variables, loops, and conditional branches - capabilities which are only provided by a full-fledged programming environment. Moreover, classical programming capabilities are a valuable means for the formalization of design tasks and help to fulfill many of the requirements (e.g., flexibility, layering, storage of task flows) stated above.

Extensibility and Maintainability.
The constant growth of simulation capabilities and framework functionality imposes the need for good extensibility upon the task level environment. A task-level environment that requires manual coding work and re-compilation on every supported platform for all new functionality added would soon be rendered completely useless by its own inertia in an industrial TCAD situation. Above all, to be easily maintainable and extensible, the task level system must be comprehensible.

Many more requirements than those listed above are not yet fully clarified. But even meeting just the known requirements takes a considerable effort, so that a stepwise bottom-up approach must be used.

The first step is the choice of a proper implementation basis and the extension of this basis to provide all basic services on which all higher-level functionality (like task flow management or simulation flow control) can be built in a second step.


next up previous contents index
Next: 4.2 Architectural Design Up: 4 Task Level Environment Previous: 4 Task Level Environment



Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994