Only a system with a consequent application-framework architecture can
overcome the aforementioned difficulties (by reducing the effort and time
required for problem
formulation, tool implementation, tool
integration, maintenance, acquaintance)
and help to facilitate and speed up TCAD development.
A schematic view of an application-framework engineering situation is shown
in Figure 2.4.
Figure 2.4: Impact of an application-framework architecture
on the engineering situation.
For the integration of existing applications alone, the
intriguing vision
of a plug-and-play environment where
the user can choose from a variety of applications and select the
one best suited for a given task without bothering with
limited interoperability is enough motivation for an
application-framework architecture. From the
user's point of view it would
already be a major achievement to unite the most
frequently used TCAD applications
under a homogeneous environment which takes care about control and
data integration and which provides support for the integration of
new, additional tools.
When the TCAD system exhibits an
application-framework architecture, a
framework engineer which assists the tool integrator by providing an
integration framework is added to the scenario.
Ideally (this is slightly unrealistic), the user should no longer require knowledge of the underlying tools. The tools are (this is realistic) presented in a homogeneous form by the framework. Note that when the system lacks an application-framework architecture it is the tool integrator who creates a homogeneous presentation of the different tools for the user, by investing considerable human efforts in addition to those of the sole tool integration.
The framework provides all generic services and must be kept as technology independent as possible, as it also serves as an implementation basis for applications and should hence be kept stable. Technology-dependence is confined to applications which may evolve rapidly and rise and fall with technology. Interdependence of applications can only be kept to an absolute minimum by means of an application-framework architecture.