Software Technological Issues in Automating the Semantic Transformation of Numerical Programs

J. Utke and U. Naumann (USA)

Keywords

source-to-source transformation, software design, automatic dif ferentiation

Abstract

The design and implementation of software tools for the auto matic transformation of the semantics of a (numerical) program represent a complex, large-scale development process. Such tools evolve as new transformation algorithms are added. A careful ap proach to the development of the respective software components is essential. Acceptance or rejection of the software as an open platform for the implementation of future algorithms depends on decisions made early in the development phase. A highly desirable feature is the separation of the internal representation of a program from the algorithms to be developed. This requires the definition of a well-defined application program mer interface as well as a mechanism for managing algorithm dependent data outside of the internal representation while main taining the necessary links. Furthermore, under an object-oriented programming paradigm, different algorithms must be easily ap plicable to selected levels in the internal representation hierarchy. Also crucial is the ability to quickly implement arbitrary algo rithms that have yet to be developed. We use a case study in the field of automatic differentia tion to illustrate solutions to the above problems. A minimum of mathematical background is presented. The emphasis is on the motivation for the software technological decisions made.

Important Links:



Go Back