This Small Business Innovation Research Phase I project aims to simplify the mathematical modeler's job by providing a very high-level specification language and implementation system for scientific computing. This project will extend a prototype that was developed for one application area (wave propagation) and one class of algorithms (finite difference methods). In this prototype, equations can be specified in a coordinate-free notation (or by key words in the case of built-in equation classes). The system's output is a target code, optimized for the specific problem and platform (in the prototype, Fortran, C, or Connection Machine Fortran). The modeler can optionally specify choices for the algorithm method and for initialization and output styles. Specifications can be given either interactively or in text files; many numerical experiments only require changing a line in the specification. The system can also generate a convergence rate test to validate the correctness of the generated program. This main objective of this research is to develop an algorithm specification language that enables experts in algorithm design to cleanly and abstractly describe numerical methods. This language will make the program development approach extensible to a much wider range of applications. Because the program refinement process is implemented with objects, program transformations, and symbolic algebra, the algorithm specifications themselves can be very abstract-for example, independent of coordinate system, dimensionality, or optimizations. Other phases of the code generation process will incorporate these refinements.