Research in Computational Science

My primary interest lies in the area of Computational Science. Of specific interest to me is the process of developing scientific software and the role of software tools that support the development process. These tools are more than just a domain-specific IDEs - they provide reliablity checks (code vs. mathematical model), offer automatic assistance with implementation choices and document the decisions made along the way. A number of relevant papers are provided below.

Ph.D. Thesis Abstract

The science and engineering disciplines have come to rely heavily on computer simulation as a method of solving large, complex problems. Computational simulation is often the only alternative to mathematical analysis and has begun to replace analysis as the tool of first choice for the scientist and engineer.

Scientific simulation software is written for a large variety of domains yet the process of creating the code is similar across these domains. A mathematical model is specified by identifying the quantities of interest and then selecting the physical equations that will provide a means of computing these quantities. A problem is stated in terms of this model and a solution strategy is chosen. The development process is finally brought on-line with the implementation of the solution strategy in a traditional programming language.

Computer Science can make a critical contribution in this area by providing problem solving environments (PSE) which will assist the expert user in generating simulation code. Such PSEs will bring the entire development cycle on-line, providing assistance at every phase of design.

Full text can be downloaded in Postscript Format or PDF Format

Technical Report Abstract
It is well known in the simulation community that creating scientific simulations is a difficult task. The mathematical complexity and large scale of modern simulation systems presents the need for a programming environment that is able to assist the programmer in the code development cycle. Problem solving environments (PSEs) provide such an environment. This report describes a program transformation based programming environment named Refiner consisting of a programming language, program transformations, and code generation capabilities. The development of a simple simulator is presented in detail.
Full text can be downloaded in Postscript Format or PDF Format

Survey of Scientific Software
This paper presents an overview of existing problem solving environment (PSE) technology. Symbolic algebra systems, modeling formalisms, modeling languages, and code synthesis systems are reviewed in the context of PSE support. The modeling methodology presented by Ronen Barzel is summarized. Three popular code synthesis tools (ALPAL, PIER, and Sinapse) are reviewed.
Full text can be downloaded in Postscript Format or PDF Format