This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
This Isn't Your Parents' Fortran: Managing C++ Objects with Modern Fortran
March-April 2012 (vol. 14 no. 2)
pp. 46-54
Damian Rouson, Sandia National Laboratories
Karla Morris, Sandia National Laboratories
Jim Xia, IBM

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.

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.

Index Terms:
Object-oriented programming, object-oriented design methods, finite difference methods, finite element methods, computational science
Citation:
Damian Rouson, Karla Morris, Jim Xia, "This Isn't Your Parents' Fortran: Managing C++ Objects with Modern Fortran," Computing in Science and Engineering, vol. 14, no. 2, pp. 46-54, March-April 2012, doi:10.1109/MCSE.2012.33
Usage of this product signifies your acceptance of the Terms of Use.