Project
Between Spring 2004 and Summer 2005, I worked as a graduate research assistant at the Radio Astronomy Imaging group at the National Center for Supercomputing Applications (NCSA), University of Illinois. My task was to explore the BABEL/SIDL model for language interoperability, and the Common Component Architecture (CCA).
The Radio Astronomy community has a large collection of working, but legacy code written primarily in C and C++. However, many scientists are familiar with Fortran, and/or Python. As a front end, Python is preferred. It is quite difficult to port more than 2 million lines of existing code from libraries such as AIPS++, Myriad, etc.
I developed an automated code generation / interface derivation tool that parsed the C++ classes, and generated SIDL-based definitions for the existing code. The development of this tool has allowed the use of these legacy components under the Common Component Architecture model.
Collaboration
- Dr. Athol Kemball, Research Scientist, Radio Astronomy Imaging Group, NCSA
Documents
- How to build a CCA Component from scratch, a document I prepared as a tutorial for the CCA component model
- How to port an existing component to babel, a document describing the porting process
- Creating SIDL files from C++ Code: A step-by-step guide I wrote to describe my automated code/interface generator tool
Publications
- A. J. Kemball, R. M. Crutcher, and R. Hasan, "A component-based framework for radio-astronomical imaging software systems", accepted for publication in Software: Practice and Experience (SP&E), Wiley, 2007.