The idea of the Tool Abstraction Concept (TAC) is depicted in Figure 2.6. The programming languages C, FORTRAN, and LISP, and executable files (or shell scripts) are considered implementation domains of an abstract tool, which provides some functionality. A characterization of this tool can be derived from the implementation itself and from some additional formal description. This information can then be used to create an interface for this tool in another target domain.
Figure 2.6: The VISTA tool abstraction concept
There is no principal restriction of the scope of a tool abstraction concept. It has initially been introduced to characterize whole TCAD applications (very complex instances of executable tools), but existing, unmodified simulators could not be formally characterized with justifiable effort.
The implementation of the VISTA TAC is currently restricted to the automatic generation of interface code required to link given C functions to the XLISP interpreter (see also Section 4.3). This is indicated by the solid arrow pointing from C to LISP in Figure 2.6. The desirable pathes for interface creation are drawn with dashed lines.
Tool abstraction (more precisely, abstract formal characterization of tools) is becoming a major field of interest in many areas ([69], [2] (``tool-to-task binding''), [50], [70]).