We are developing a program generator that can create inversion programs for ocean models depending on a characterization of these models in form of a set of parameters. To this end, we have designed and implemented a domain-specific language to describe ocean modeling tools. Tool descriptions are translated into Fortran 90 programs. One focus in the design of the DSL is safety, that is, the DSL compiler guarantees that generated Fortran programs are syntactically correct and, to a large degree, also type correct.
Recently, we have developed a framework for defining generic programming extensions for Fortran called Parametric Fortran. The tools can now be generically expressed in Parametric Fortran and will be translated into Fortran.
Generic Programming in Fortran,
Martin Erwig, Zhe Fu and Ben Pflaum
ACM SIGPLAN 2006 Workshop on Partial Evaluation and Program Manipulation,
130-139, 2006
Software Reuse for Scientific Computing Through Program Generation,
Martin Erwig and Zhe Fu
ACM Transactions on Software Engineering and Methodology, Vol. 14,
No. 2, 168-198, 2005
Parametric Fortran
- A Program Generator for Customized Generic Fortran Extensions
, Martin Erwig and Zhe Fu
6th Int. Symp. on Practical Aspects of Declarative Languages,
LNCS 3057, 209-223, 2004
last change: March 04, 2012 | Martin Erwig  erwig@eecs.oregonstate.edu |