Bridging the language gap in scientific computing: the Chasm approach

Chasm is a toolkit providing seamless language interoperability between Fortran 95 and C++. Language interoperability is important to scientific programmers because scientific applications are predominantly written in Fortran, while software tools are mostly written in C++. Two design features diffe...

Full description

Saved in:
Bibliographic Details
Published inConcurrency and computation Vol. 18; no. 2; pp. 151 - 162
Main Authors Rasmussen, C. E., Sottile, M. J., Shende, S. S., Malony, A. D.
Format Journal Article
LanguageEnglish
Published Chichester, UK John Wiley & Sons, Ltd 01.02.2006
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Chasm is a toolkit providing seamless language interoperability between Fortran 95 and C++. Language interoperability is important to scientific programmers because scientific applications are predominantly written in Fortran, while software tools are mostly written in C++. Two design features differentiate Chasm from other related tools. First, we avoid the common‐denominator type systems and programming models found in most Interface Definition Language (IDL)‐based interoperability systems. Chasm uses the intermediate representation generated by a compiler front‐end for each supported language as its source of interface information instead of an IDL. Second, bridging code is generated for each pairwise language binding, removing the need for a common intermediate data representation and multiple levels of indirection between the caller and callee. These features make Chasm a simple system that performs well, requires minimal user intervention and, in most instances, bridging code generation can be performed automatically. Chasm is also easily extensible and highly portable. Copyright © 2005 John Wiley & Sons, Ltd.
Bibliography:istex:BE9C53E8F3856B9F8E9167E47807E20CAC5DA2A5
U.S. Department of Energy - No. W-7405-ENG-36; No. LA-UR-03-3957
ark:/67375/WNG-8V1VXH2R-R
ArticleID:CPE909
ISSN:1532-0626
1532-0634
DOI:10.1002/cpe.909