An XML-based Platform for Semantic Transformation of Numerical Programs

P.D. Hovland, U. Naumann, and B. Norris (USA)


source transformation, intermediate representation, automatic differentiation


We describe a simple component architecture for the development of tools for mathematically based semantic trans formations of scientific software. This architecture consists of compiler-based, language-specific front- and back ends for source transformation, loosely coupled with one or more language-independent “plug-in” transformation mod ules. The coupling mechanism between the front- and back-ends and transformation modules is provided by the XML Abstract Interface Form (XAIF). XAIF provides an abstract, language-independent representation of language constructs common in imperative languages, such as C and Fortran. We describe the use of this architecture in the construction of tools for automatic differentiation (AD) of programs written in Fortran 77 and ANSI C. The XAIF is particularly well suited for performing the source transformations needed for AD. Differentiation modules typically op erate within the scope of statements or basic blocks, working at a level where procedural languages are very similar. Thus, it is possible to specify a common interface format for mathematically-based semantic transformations that need not represent the union of all languages.

Important Links:

Go Back