DOE OSTI2010
The following document proposes a three-year plan for conversion of the Shavano project code base from augmented Fortran to standard C++. The Shavano project has been developing physics applications since about 1995, using the homegrown AJAX backplane that augments Fortran 77 to provide a type of object-oriented programming. This unconventional approach has provided some advantages to the project over the years; however, as time progresses, its disadvantages have become more pronounced: (1) Most AJAX capabilities can now be done (and done better) using modem languages and standard tool; (2) Modem software tools, such as static code analyzers, cannot be used with AJAX; (3) Shavano developers are hard to find/train/retain; (4) AJAX maintainers are hard to find/train/retain; (5) Student or faculty collaboration is rare; (6) Third-party library developers are often unable/unwilling to integrate their libraries into Shavano code, leaving the task to the core team; (7) Mastery of AJAX-based programming is a nontransferable skill. To address these problems, conversion of the Shavano code base to C++ has been proposed. This proposal builds on an earlier study on C++ conversion, done in March-July 2010 (see Appendix A). This study anticipated a short conversion process: roughly one year for the main work, with cleanup to be done afterward as time allowed. Unfortunately, we discovered that some of our initial assumptions were false, and the scope of the project would be much greater than we had expected. Therefore, in this revision we have increased the estimated project length to approximately three years.
97 MATHEMATICS AND COMPUTING↗