The design of a portable scientific tool: a case studying using SnB

  • Authors:
  • Steven M. Gallo;Russ Miller;Charles M. Weeks

  • Affiliations:
  • Department of Computer Science, University at Buffalo, Buffalo, NY;Department of Computer Science, University at Buffalo, Buffalo, NY;Hauptman-Woodward Medical Research Institute, 73 High Street, Buffalo, NY

  • Venue:
  • Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developing and maintaining a large software package is a complex task. Decisions are made early in the design process that affect i) the ability of a user to effectively exploit the package and ii) the ability of a software engineer to maintain it. This case study discusses issues in software development and maintainability of a scientific package called SnB, which is used to determine molecular crystal structures. The design of the user interface is discussed along with important software engineering concepts, including modular programming, data encapsulation, and internal code documentation. Fortran is a language that is still widely used in the scientific community. Issues concerning the integration of Fortran into a modern scientific application with a C-based user interface are also discussed. Scientific applications benefit from being available on a wide variety of platforms. Due to demand, SnB is available on a variety of sequential and parallel platforms. Methods used in the design of SnB for such portability are presented including POSIX compliance, automatic configuration scripts, and parallel programming techniques.