A major cost in scientific computing is the creation of software that performs the numerical computations. This paper presents preliminary results on research to build a framework for automating the construction of numerical solvers for differential equations. Within this framework, the scientific computing problem is described using a very high level programming language that captures the original differential equations in a natural fashion. A sequence of code "transformers" are used to gradually refine the high level description of the problem into a concrete, executable form. Numerical techniques like the finite element method, the spectral method and the Crank-Nicolson discretization scheme are encoded in these transformers and once so encoded can be applied to a wide variety of different problems.