4.1 Requirements
Next: 4.2 Architectural Design
Up: 4 Task Level Environment
Previous: 4 Task Level Environment
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
environment
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: 4.2 Architectural Design
Up: 4 Task Level Environment
Previous: 4 Task Level Environment
Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994