Cluster Computing

, Volume 5, Issue 3, pp 277–285 | Cite as

A CORBA-Based Distributed Component Environment for Wrapping and Coupling Legacy Scientific Codes

  • Gregory Follen
  • Chan Kim
  • Isaac Lopez
  • Janche Sang
  • Scott Townsend


Within NASA's High Performance Computing and Communication (HPCC) program, the NASA Glenn Research Center (GRC) is developing a large scale, detailed simulation environment for the analysis and design of aircraft engines called the Numerical Propulsion System Simulation (NPSS). The three major aspects of modeling capabilities focused in NPSS, including integration of different engine components, coupling of multiple disciplines, and engine component zooming at appropriate level of fidelity, require relatively tight coupling of different analysis codes. Most of these codes in aerodynamics and solid mechanics are written in Fortran. Refitting these legacy Fortran codes with distributed objects can increase these codes reusability. In this paper, we describe our experiences in building a CORBA-based component development environment for programmers to easily wrap and couple legacy Fortran codes. This environment consists of a C++ wrapper library to hide the details of CORBA and an efficient remote variable scheme to facilitate data exchange between the client and the server. We also report empirical performance evaluation results and describe current applications.

distributed object CORBA code wrapping/coupling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    K. Arnold and J. Gosling, The Java Programming Language, 1st Ed. (Addison-Wesley, Reading, MA, 1996).Google Scholar
  2. [2]
    M. Brodie and M. Stonebraker, Migrating Legacy Systems - Gateways, Interfaces and Incremental Approach (Morgan Kaufmann, 1995).Google Scholar
  3. [3]
    J.B. Carter, J.K. Bennet and W. Zwaenepoel, Implementation and performance of Munin, in: Proceedings of the Symposium on Operating System Principles (1991) pp. 152-164.Google Scholar
  4. [4]
    D. Gannon, R. Bramley, T. Stuckey, J. Villacis, J. Balasubramanian, E. Akman, F. Breg, S. Diwan and M. Govindaraju, Developing component architecture for distributed scientific problem solving, IEEE Computational Science and Engineering 5(2) (1998) 50–63.Google Scholar
  5. [5]
    G. Follen and M. auBuchon, Numerical zooming between a NPSS engine system simulation and a 1-dimensional high compressor analysis code, in: Proceedings of the HPCC Computational Aerosciences (CAS) Workshop (2000).Google Scholar
  6. [6]
    D. Galli, Distributed Operating Systems: Concepts & Practice(Prentice-Hall, Englewood Cliffs, NJ, 2000).Google Scholar
  7. [7]
    A. Glassman and T. Lavelle, Enhanced capabilities and modified users manual for axial-flow compressor conceptual design code CSPAN, Technical Report 106833, NASA GRC (1995).Google Scholar
  8. [8]
    F.J. González-Casta´no, L. Anido-Rifón, J. Pousada-Carballo, P. Rodríguez-Hernández and R. López-Gómez, A Java/CORBA virtual machine architecture for remote execution of optimization solvers in heterogeneous networks, Software - Practice and Experience 31(1) (2001) 1–16.Google Scholar
  9. [9]
    W. Gropp, E. Lusk, N. Doss and A. Skjellum, A high-performance, portable implementation of the MPI message passing interface standard, Argonne National Laboratory (1996); http://www.mcs. Scholar
  10. [10]
    Inprise, Corp. VisiBroker for C++: Programmer's Guide, Version 3.3 (1999).Google Scholar
  11. [11]
    IONA Technologies; Scholar
  12. [12]
    H.W. Johnson, Fast Ethernet: Dawn of a New Network (Prentice-Hall, Upper Saddle River, NJ, 1996).Google Scholar
  13. [13]
    B. Kernighan and R. Pike, The UNIX Programming Environment(Prentice-Hall, Englewood Cliffs, NJ, 1984).Google Scholar
  14. [14]
    C. Lawrence, An overview of three approaches to multidisciplinary aeropropulsion simulations, Technical Report 107443, NASA GRC (1997).Google Scholar
  15. [15]
    K. Li, IVY: A shared virtual memory system for parallel computing, in: Proceedings of the International Conference on Parallel Processing (1988) pp. 94-101.Google Scholar
  16. [16]
    W. Liang, C.T. King and F.P. Lai, Adsmith: An object-based distributed shared memory system for networks of workstations, IEICE Trans. on Information and Systems E80-D, (9) (1997) 899–908.Google Scholar
  17. [17]
    J. Lytle, The numerical propulsion system simulation: A multidisciplinary design system for aerospace vehicles, NASA/TM-1999-209194, in: Proceedings of the 14th International Symposium on Air Breathing Engines sponsored by the International Society for Air Breathing Engines (September 1999).Google Scholar
  18. [18]
    NASA Glenn Research Center, NPSS Component Developer's Guide (February 2000).Google Scholar
  19. [19]
    Object Management Group, The Common Object Request Broker: Architecture and Specification, 2.3 ed. (June 1999).Google Scholar
  20. [20]
    I. Pohl, C++ for C Programmers, 3rd Ed. (Addison-Wesley, Reading, MA, 1999).Google Scholar
  21. [21]
    A. Purder and K. Romer, MICO is CORBA, Scholar
  22. [22]
    J. Sang, G. Follen, C. Kim, I. Lopez and S. Townsend, Migrating legacy scientific applications towards CORBA-based client/server architectures, Software - Practice and Experience 31(14) (2000) 1313–1330.Google Scholar
  23. [23]
    A.S. Tanenbaum and M. van Steen, Distributed Systems: Principles and Paradigms (Prentice-Hall, Englewood Cliffs, NJ, 2001).Google Scholar
  24. [24]
    S. Townsend, Using external codes with NPSS, Technical Report 210746, NASA GRC (2001).Google Scholar
  25. [25]
    S.D. Urban, L. Fu and J.J. Shah, The implementation and evaluation of the use of CORBA in an engineering design application, Software - Practice and Experience 29(14) (1999) 1313–1338.Google Scholar
  26. [26]
    D. Zhang, G. Follen, W. Pavlik, C. Kim, X. Liu, T. Blaser and I. Lopez, Web-based simulation of aeronautical propulsion system using JSP, CORBA, and Globus, in: Proceedings of the Int. Conference on Parallel and Distributed Computing and Systems (2001).Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Gregory Follen
    • 1
  • Chan Kim
    • 1
  • Isaac Lopez
    • 1
  • Janche Sang
    • 2
  • Scott Townsend
    • 1
  1. 1.NASA Glenn Research CenterClevelandUSA
  2. 2.Department of Computer and Information ScienceCleveland State UniversityClevelandUSA

Personalised recommendations