The Community for Technology Leaders
RSS Icon
Issue No.02 - March-April (2012 vol.14)
pp: 46-54
Damian Rouson , Sandia National Laboratories
Karla Morris , Sandia National Laboratories
Jim Xia , IBM
<p>Modern Fortran automates dynamic memory deallocations, except in two cases: memory allocated via pointers and via a second language at the request of a Fortran driver. This article focuses on the second exception and presents a reference-counting architecture that requires minimal user intervention to safely free memory if and only if no references remain.</p>
Object-oriented programming, object-oriented design methods, finite difference methods, finite element methods, computational science
Damian Rouson, Karla Morris, Jim Xia, "This Isn't Your Parents' Fortran: Managing C++ Objects with Modern Fortran", Computing in Science & Engineering, vol.14, no. 2, pp. 46-54, March-April 2012, doi:10.1109/MCSE.2012.33
1. I.D. Chivers and J. Sleightholme, "Compiler Support for the Fortran 2003 and 2008 Standards," ACM Fortran Forum, vol. 31, no. 2, 2009, pp. 15–20.
2. M.G. Gray, R.M. Roberts, and T.M. Evans, "Shadow-Object Interface between Fortran 95 and C++," Computing in Science & Eng., vol. 1, no. 2, 1999, pp. 63–70.
3. G.E. Collins, "A Method for Overlapping and Erasure of Lists," Comm. ACM, vol. 3, no. 12, 1960, pp. 655–657.
4. R.A. Bartlett, Teuchos C++ Memory Management Classes, Idioms, and Related Topics, tech. report SAND2010-2234, Sandia Nat'l Laboratory, 2011.
5. G.W. Stewart, "Memory Leaks in Derived Types Revisited," ACM Fortran Forum, vol. 22, no. 3, 2003, pp. 25–27.
6. D. Car, "A Reference Counting Implementation in Fortran 95/2003," ACM Fortran Forum, vol. 29, no. 1, 2010, pp. 21–28.
7. K. Morris, D.W.I. Rouson, and J. Xia, "On the Object-Oriented Design of Reference-Counted Shadow Objects," Proc. Int'l Workshop Software Eng. for Computational Science and Eng., ACM, 2011, pp. 19–27.
8. C.T. Crowe, M. Sommerfeld, and Y. Tsuji, Multiphase Flows with Droplets and Particles, CRC Press, 1998.
9. G.H. Golub and J.M. Ortega, Scientific Computing and Differential Equations: An Introduction to Numerical Methods, Academic Press, 1992.
10. D.W.I. Rouson, "Towards Analysis-Driven Scientific Software Architecture: The Case for Abstract Data Type Calculus," Scientific Programming, vol. 16, no. 4, 2008, pp. 329–339.
11. D.W.I. Rouson, J. Xia, and X. Xu, Scientific Software Design: The Object-Oriented Way, Cambridge Univ. Press, 2011.
53 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool