Case Studies in Model Manipulation for Scientific Computing

  • Authors:
  • Jacques Carette;Spencer Smith;John Mccutchan;Christopher Anand;Alexandre Korobkine

  • Affiliations:
  • Computing and Software Department, McMaster University, Hamilton, CANADA;Computing and Software Department, McMaster University, Hamilton, CANADA;Computing and Software Department, McMaster University, Hamilton, CANADA;Computing and Software Department, McMaster University, Hamilton, CANADA;Computing and Software Department, McMaster University, Hamilton, CANADA

  • Venue:
  • Proceedings of the 9th AISC international conference, the 15th Calculemas symposium, and the 7th international MKM conference on Intelligent Computer Mathematics
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The same methodology is used to develop 3 different applications. We begin by using a very expressive, appropriate Domain Specific Language, to write down precise problem definitions, using their most natural formulation. Once defined, the problems form an implicit definition of a unique solution. From the problem statement, our model, we use mathematical transformations to make the problem simpler to solve computationally. We call this crucial step "model manipulation." With the model rephrased in more computational terms, we can also derive various quantities directly from this model, which greatly simplify traditional numeric solutions, our eventual goal. From all this data, we then use standard code generation and code transformation techniques to generate lower-level code to perform the final numerical steps. This methodology is very flexible, generates faster code, and generates code that would have been all but impossible for a human programmer to get correct.