Dr. Rama R. Kocherlakota
Application of Software Engineering to Scientific Computing
The focus of my research is the application of software engineering to scientific computing. The past few years has seen an explosion in the variety and volume of experimental and secondary data that a scientist is expected to manage and analyze. My work has been an effort to make this process easier for scientists. The application we have built, the UVM BioDesktop (http://biodesktop.uvm.edu), is an entirely web-based platform for organizing, analyzing, and sharing biological data of various types. It provides a user-friendly interface based on familiar models like using folder hierarchies to store information and clipboards to move it around. Furthermore, it provides direct tie-ins to a number of analysis programs and data export in a variety of file formats (for passing as input to other programs). The security system is flexible enough to allow sharing of data at a team or lab level, as well as publication of data to the outside world.
The real strength of the BioDesktop is its extensibility. It is a simple matter to add new data types or programs to the BioDesktop. This flexibility will allow it to grow and handle the increasing data management needs of scientists.
The engineering behind the BioDesktop is based on the first principle of software design: keep it simple. The data model is stripped down to a handful of tables, each with five or six columns. The code for the BioDesktop itself is all in perl (although much of the data analysis is done in programs written in C or C++) and makes extensive use of the object capabilities of perl 5. By using intelligent caching strategies and capitalizing on the code-optimization built into the apache mod perl webserver module, we are able to scale the application horizontally (by adding webservers) and avoid potential performance bottlenecks associated with maintaining application state. Scalability, reliability, extensibility and useability are the main goals of the BioDesktop, and we are working to maintain these as we add more and more functionality to the application.
Kocherlakota, R.R.. Integral homology of real flag manifolds and loop spaces of symmetric spaces. 1995, Advances in Mathematics. 110:1-46.
Kocherlakota, R.R., Rosenbloom E.S. and Shiu, E.S.W. Algorithms for Cashflow Matching. Transactions of the Society of Actuaries. 1988, XL:477-484.
Kocherlakota, R.R., Acland, N.D. Ambiguity and the evolution of the genetic code. Orig. Life 1982 Mar;12(1):71-80.