 |
Faculty and Student
Teams Program
|
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 |
|