Towards analysis-driven scientific software architecture: The case for abstract data type calculus
DWI Rouson - Scientific Programming, 2008 - content.iospress.com
Scientific Programming, 2008•content.iospress.com
This article approaches scientific software architecture from three analytical paths. Each path
examines discrete time advancement of multiphysics phenomena governed by coupled
differential equations. The new object-oriented Fortran 2003 constructs provide a formal
syntax for an abstract data type (ADT) calculus. The first analysis uses traditional object-
oriented software design metrics to demonstrate the high cohesion and low coupling
associated with the calculus. A second analysis from the viewpoint of computational …
examines discrete time advancement of multiphysics phenomena governed by coupled
differential equations. The new object-oriented Fortran 2003 constructs provide a formal
syntax for an abstract data type (ADT) calculus. The first analysis uses traditional object-
oriented software design metrics to demonstrate the high cohesion and low coupling
associated with the calculus. A second analysis from the viewpoint of computational …
Abstract
This article approaches scientific software architecture from three analytical paths. Each path examines discrete time advancement of multiphysics phenomena governed by coupled differential equations. The new object-oriented Fortran 2003 constructs provide a formal syntax for an abstract data type (ADT) calculus. The first analysis uses traditional object-oriented software design metrics to demonstrate the high cohesion and low coupling associated with the calculus. A second analysis from the viewpoint of computational complexity theory demonstrates that a more representative bug search strategy than that considered by Rouson et al.(ACM Trans. Math. Soft. 34 (1)(2008)) reduces the number of lines searched in a code with λ total lines from O (λ 2) to O (λ log 2 λ), which in turn becomes nearly independent of the overall code size in the context of ADT calculus. The third analysis derives from information theory an argument that ADT calculus simplifies developer communications in part by minimizing the growth in interface information content as developers add new physics to a multiphysics package.
content.iospress.com