Advertisement

Scientific Software Frameworks and Grid Computing

Improving Programming Productivity
  • Bill Appelbe
  • Louis Moresi
  • Steve Quenette
  • Patrick Simter
Part of the IFIP The International Federation for Information Processing book series (IFIPAICT, volume 239)

Abstract

Scientific research applications, or codes, are notoriously difficult to develop, use, and maintain. This is often because scientific software is written from scratch in traditional programming languages such as C and Fortran, by scientists rather than expert programmers. By contrast, modern commercial applications software is generally written using toolkits and software frameworks that allow new applications to be rapidly assembled from existing component libraries. In recent years, scientific software frameworks have started to appear, both for grid-enabling existing applications and for developing applications from scratch. This paper compares and contrasts existing scientific frameworks and extrapolates existing trends.

Keywords

Scientific Application Scientific Computing Software Framework Application Framework Scientific Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    W. Kozaczynski, and G. Booch, Component-Based Software Engineering, IEEE Software 15(5), 34–36 (1998).CrossRefGoogle Scholar
  2. 2.
    B. Boehm, Managing Software Productivity and Reuse, IEEE Computer, 32(9), 111–113 (1999)Google Scholar
  3. 3.
  4. 4.
    B. Ludäscher, I. Altintas, C. Berkley, D. Higgins, E. Jaeger, M. Jones, E. Lee, J. Tao, and Y. Zhao, Scientific Workflow Management and the Kepler System, Concurrency and Computation: Practice and Experience 18(10), 1039–1065 (2005)CrossRefGoogle Scholar
  5. 5.
  6. 6.
  7. 7.
  8. 8.
    B. Allan, R. Armstrong, A. Wolfe, J. Ray, D. Bernholdt, and J. Kohl, The CCA core specification in a distributed memory SPMD framework, Concurrency and Computation: Practice and Experience 14(5), 323–345 (2002)MATHCrossRefGoogle Scholar
  9. 9.
  10. 10.
    M. Fowler, Refactoring: Improving the Design of Existing Code (Addisson-Wesley, New Jersey, 2000)Google Scholar
  11. 11.
  12. 12.
    S. Balay et. al., PETSc Users Manual, Argonne National Laboratory, Technical Report No. ANL-95/11 — Revision 2.3.2 (2006)Google Scholar
  13. 13.
    M. Heroux et. al., An Overview of Trilinos, Sandia National Laboratory, Technical Report No. SAND2003-2927 (2003).Google Scholar
  14. 14.
  15. 15.
    S. Quenette, B. Appelbe, M. Gurnis, L. Hodkinson, L. Moresi, and P. Sunter, An Investigation into Design for Performance and Code Maintainability in High Performance Computing, ANZIAM J. 46(e) pp. C1001–C1016, 2005Google Scholar
  16. 16.
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Software (Addison-Wesley, Massachusetts, 1995)Google Scholar
  17. 17.
  18. 18.
  19. 19.
    G. Myers, Composite/Structured Design (Van Nostrand Reinhold, New York, 1978)Google Scholar
  20. 20.
    L. Moresi, F. Dufour, and H. Mulhaus, A Lagrangian Integration Point Finite Element Method for Large Deformation Modeling of Viscoelastic Geomaterials, Journal of Computational Physics, 184, 476–497 (2003)MATHCrossRefGoogle Scholar

Copyright information

© International Federation for Information Processing 2007

Authors and Affiliations

  • Bill Appelbe
    • 1
  • Louis Moresi
    • 2
  • Steve Quenette
    • 1
  • Patrick Simter
    • 1
  1. 1.Victorian Partnership for Advanced Computing (VPAC)Carlton SouthAustralia
  2. 2.School of Mathematical SciencesMonash UniversityClaytonAustralia

Personalised recommendations