{"title":"On the object-oriented design of reference-counted shadow objects","authors":"Karla Morris, D. Rouson, Jim Xia","doi":"10.1145/1985782.1985786","DOIUrl":null,"url":null,"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.","PeriodicalId":359782,"journal":{"name":"SECSE '11","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SECSE '11","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1985782.1985786","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
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.