7 High-Level Libraries
Next: 7.1 GRS
Up: PhD Thesis Franz Fasching
Previous: 6.4 Performance Evaluation
High-level libraries fulfill the advanced needs of applications using the
VISTA data level. They augment the syntactical broadness of the upper
PAI layers with the semantic functionality needed by applications.
For example, the VISTA Material Server library (MAT) uses the PAI library
to store its materials on a PBF in a very specific way, which is only
possible because PIF was designed to be very flexible and
general. Materials could be read and written using many PAI functions
directly as well, but high-level libraries are more than sophisticated
PAI-macros. Imposing their own specialized memory representation they allow
TCAD data to be effectively manipulated in-core, using the PAI library
to store and retrieve those high-level data objects to and from PLBs.
The following features are provided by high-level libraries:
- Semantical consistency
- Some of the ambiguities not resolved by the
application layer as stated in Section 6.2 are tackled by the
high-level libraries. The C List Support (CLS) library see Section 7.2.4 for
example ensures an unambiguous geometry construct by enforcing reads and
writes of lines consisting of exactly two points. A standard scheme for
writing and reading PIF attributes is enforced by the Geometry
Attribute Support (GAS) library see Section 7.2.1.
- Functionality
- High-level libraries enable applications to
easily manipulate data with simple yet powerful procedural interfaces. Whole
geometries can be merged, segments and boundaries extracted and manipulated
with the help of the Geometry Two-dimensional Support (G2S) library
see Section 7.2.2. Grids and attributes can be created, destroyed, read, written,
and manipulated with the object-oriented interface provided by the Grid
Support (GRS) library see Section 7.1.
- Specialization
- The functionality of the lower PAI levels is
combined and focussed onto specific requirements of TCAD applications.
While the PAL was designed to provide a reliable array-oriented interface
for FORTRAN applications, this representation is not always appropriate for
C applications. Therefore most VISTA high-level libraries provide an
object-oriented view of the data they are dealing with, which is ideally
suited for C and advanced FORTRAN applications working with opaque
object pointers (these are mapped to integers in the FORTRAN language
binding).
High-level libraries sit on top of the PAI and use the PAL as well as
the PIL for their purposes (see Fig. 7.1). They are linked to
applications which may use many high-level libraries to accomplish their
respective task. As an example, the GRS library is described in
detail below, followed by an overview of other VISTA high-level libraries.
Figure 7.1: Structure of the VISTA high-level
libraries
Next: 7.1 GRS
Up: PhD Thesis Franz Fasching
Previous: 6.4 Performance Evaluation
Martin Stiftinger
Tue Nov 29 19:41:50 MET 1994