Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
Design patterns explained: a new perspective on object-oriented design
Design patterns explained: a new perspective on object-oriented design
ACM SIGSOFT Software Engineering Notes
Object-Oriented and Classical Software Engineering
Object-Oriented and Classical Software Engineering
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Scientific Computing and Differential Equations: An Introduction to Numerical Methods
Scientific Computing and Differential Equations: An Introduction to Numerical Methods
The T Experiments: Errors In Scientific Software
IEEE Computational Science & Engineering
Quantitative Analysis of Faults and Failures in a Complex Software System
IEEE Transactions on Software Engineering
Writing Scientific Software: A Guide to Good Style
Writing Scientific Software: A Guide to Good Style
Coordinate free programming of computational fluid dynamics problems
Scientific Programming
A grid-free abstraction of the Navier-Stokes equations in Fortran 95/2003
ACM Transactions on Mathematical Software (TOMS)
Formal constraints on memory management for composite overloaded operations
Scientific Programming
Design patterns for multiphysics modeling in Fortran 2003 and C++
ACM Transactions on Mathematical Software (TOMS)
Design patterns for multiphysics modeling in Fortran 2003 and C++
ACM Transactions on Mathematical Software (TOMS)
Exploring capabilities within ForTrilinos by solving the 3D Burgers equation
Scientific Programming
Hi-index | 0.00 |
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.