On the object-oriented design of reference-counted shadow objects

  • Authors:
  • Karla Morris;Damian W.I. Rouson;Jim Xia

  • Affiliations:
  • Sandia National Laboratories, Livermore, USA;Sandia National Laboratories, Livermore, USA;IBM Toronto Lab, Markham, Canada

  • Venue:
  • Proceedings of the 4th International Workshop on Software Engineering for Computational Science and Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The object-oriented programming (OOP) constructs of Fortran 2003 facilitate an elegant memory management solution of particular value when Fortran drives a second language that does not provide automatic garbage collection. More specifically, when Fortran derived types shadow a companion language's objects, safe and economical execution requires destroying the companion objects when and only when all corresponding shadows have expired. This paper focuses on the object-oriented design (OOD) of reference-counted shadow objects. The presented class structure automatically controls the lifetimes of any shadow objects that extend a universal parent class. The paper also discusses a relevant use case in ForTrilinos, a set of object-oriented Fortran interfaces to C++ packages in the Trilinos parallel numerical solver library1.