About
Eligibility
Project Descriptions
Financial Info
Key Dates
How To Apply

FaST Logo

Faculty and Student Teams Program

questioning Project Descriptions

Lawrence Berkeley National Laboratory
Automated Fortran to C++ Conversion Tools

Requesting applications from science or engineering faculty members at institutions serving students underrepresented in science, engineering, mathematics and technology, to work at LBNL.

Project Description

The goal of this project is to develop a tool for porting existing FORTRAN libraries to modern programming languages.

Traditionally the FORTRAN programming language has been the predominant implementation language for scientific software projects. Large sophisticated FORTRAN libraries are available (e.g. http://netlib.org/), some of which represent the accumulated development efforts of several decades. However, scientific programming is changing rapidly due to the advent of mature, high-level object oriented programming languages such as C++, Python and Java. Unfortunately it is difficult to integrate existing FORTRAN libraries into modern software architectures. The details of inter-language calling conventions are arcane and highly platform specific. Therefore supporting combinations of multiple compilers is often impractical. This is especially true in collaborative environments where it is necessary to distribute libraries and applications in the form of source code.

Our goal is to create a general tool for parsing FORTRAN libraries, with a customizable library for generating source code in another target language. An important goal is that the generated code should be suitable as a starting point for further development; i.e. it should be human readable. To maximize portability and flexibility, the FORTRAN translation library will be implemented in a high-level scripting language. A dynamically typed scripting language will be most convenient because the development effort is typically significantly smaller compared to a statically typed language. Since runtime considerations are not an important consideration for the purpose of aiding in the conversion of source code, Python appears to be an ideal match.

Applicants Responsibilities and Relationship to Project

Applicants and their students will receive support under the Department of Energy Faculty and Student Team (FaST) program to work collaboratively with a research group at Berkeley Lab for 10 weeks during the summer of 2008.  Faculty and students team members will be assigned to the same research group and typically faculty participants will provide mentorship and/or advising support to the undergraduate student team members while at the Lab.  Applicants are encouraged to contact Berkeley Lab investigators offering FaST opportunities during the application process.  Following the summer appointment, it is anticipated that the faculty participants will establish a ongoing collaborative relationship with Berkeley Lab investigators and assist in recruiting undergraduate students from their campus for DOE internship programs.

Qualifications of Ideal Candidate

Faculty: Ph.D. in computing science or related fields. Experience with computers and computer programming is required. Knowledge of C++ and the Python scripting language is essential. Works well in a collaborative environment with students. Collaborates with students in his/her field. Willing to work at LBNL for an extended period (2-3 summer months, or longer).
Student: Working towards an AA or BS in Computer Science or a program with a strong emphasis on applied computation. Must work well in a highly collaborative research environment with faculty, senior researchers and other students. Willing to work at LBNL for an extended period.

Support and Financial Commitments

See Financial Information.

For More Information Contact:

Laurel Egenberger
Manager
College & University Programs
Lawrence Berkeley National Laboratory
E-mail: LLEgenberger@lbl.gov
Phone: 510-486-5190
Dr. Paul Adams
Physical Biosciences Division
E-mail: PDAdams@lbl.gov
Phone: (510) 486-4225