Developing CORBA-Based Distributed Scientific Applications from Legacy Fortran Programs

作者: Isaac Lopez , Janche Sang , Chan Kim

DOI:

关键词:

摘要: Recent progress in distributed object technology has enabled software applications to be developed and deployed easily such that objects or components can work together across the boundaries of network, different operating systems, languages. A is not necessarily a complete application but rather reusable, self-contained piece co-operates with other plug-and-play fashion via well-defined interface. The Common Object Request Broker Architecture (CORBA), middleware standard defined by Management Group (OMG), uses Interface Definition Language (IDL) specify an interface for transparent communication between objects. Since IDL mapped any programming language, as C++, Java, Smalltalk, etc., existing integrated into new hence tasks code re-writing maintenance reduced. Many scientific aerodynamics solid mechanics are written Fortran. Refitting these legacy Fortran codes CORBA increase reusability. For example, scientists could link their vintage programs Partial Differential Equation(PDE) solvers fashion. Unfortunately, mapping been proposed there seems no direct method generating from without having resort manually writing C/C++ wrappers. In this paper, we present efficient methodology integrate framework. Issues strategies regarding conversion decomposition discussed. following diagram shows mechanism proposed. Our goal keep unmodified. conversion- aided tool takes program input helps programmers generate header file wrapping code. Programmers need determine themselves how decompose several reusable based on cohesion coupling factors among functions subroutines. However, effort still greatly reduced because function headings types have converted C++ styles. Most use COMMON block facilitate transfer large amount variables functions. plays similar role global used C. CORBA-compliant environment, pass values One approach dealing problem put parameter list. We do adopt it requires modification source which violates our design consideration. extract blocks convert them structure-typed attribute C++. Through attributes, each component initialize return computation result back client. tested successfully f2c converter. only translates C, needed edit meet syntax. C++/IDL tag structure type, while C does not. identify necessary changes converter order directly file. future add GUI ease task simply dragging dropping icons.

参考文章(11)
Isaac Lopez, Janche Sang, Chan M. Kim, Thaddeus J. Kollar, High-Performance Cluster Computing over Gigabit/Fast Ethernet. Informatica (slovenia). ,vol. 23, ,(1999)
Chap-Liong Ong, Class and object extraction from imperative code University of Minnesota. ,(1994)
Paul Haggerty, Krishnan Seetharaman, The benefits of CORBA-based network management Communications of The ACM. ,vol. 41, pp. 73- 79 ,(1998) , 10.1145/286238.286250
B.L. Achee, Doris L Carver, Creating object-oriented designs from legacy FORTRAN code Journal of Systems and Software. ,vol. 39, pp. 179- 194 ,(1997) , 10.1016/S0164-1212(96)00171-9
Juan Pavon, Jose Tomas, Yves Bardout, L-H Hauw, CORBA for network and service management in the TINA framework IEEE Communications Magazine. ,vol. 36, pp. 72- 79 ,(1998) , 10.1109/35.663330
R.W. Claus, A.L. Evans, J.K. Lylte, L.D. Nichols, Numerical Propulsion System Simulation Computing Systems in Engineering. ,vol. 2, pp. 357- 364 ,(1991) , 10.1016/0956-0521(91)90003-N
Stuart I Feldman, None, A Fortran to C converter ACM Sigplan Fortran Forum. ,vol. 9, pp. 21- 22 ,(1990) , 10.1145/101363.101366
D.W. Forslund, J.E. George, E.M. Gavrilov, T.A. Staab, T.E. Weymouth, S. Kotha, TeleMed: development of a Java/CORBA-based virtual electronic medical record pacific medical technology symposium. pp. 16- 19 ,(1998) , 10.1109/PACMED.1998.767876
S. Vinoski, CORBA: integrating diverse applications within distributed heterogeneous environments IEEE Communications Magazine. ,vol. 35, pp. 46- 55 ,(1997) , 10.1109/35.565655